[Date Index] [Thread Index] [Author Index]
calibrating optimal taxation models (Saez 2001)
Hi all, Let me ask a few higher-level, but hopefully meaningful questions about problems I face when I try to implement the methods that started the career of Emmanuel Saez (John Bates Clark medalist, MacArthur genius award winner). The paper in question is this: http://elsa.berkeley.edu/~saez/derive.pdf. It has some clever calculus of variations (but does not seem like easily mapping into VariationalD ), and some numerical solutions. I believe in the promise of Mathematica, and I would rather keep my work here instead of doing it in another system, but I would appreciate some help in doing so: 1. The problem involves a crucial step of "fixed point" solution for functions. Is there a built-in way that Mathematica would do this? Meaning giving me (approximated, interpolated) functions instead of me generating a bunch of lists of values? Or where is a guide on similar kind of iterative approximations? (Actually, the variant I would use would use even more of this kind of an operation, I hope it is easy.) 2. As the last page of the article shows, a two-equation differential equation system has to be solved for the solution. My problem is that these functions are higher-level compositions of underlying functions (and distributions, unless I simply care about CDFs as functions too). I have two problems with this: 2a. I could not make NDSolve understand all the rules and substitutions it should use. (E.g. if I have define utility u to be a function of consumption c and labor l, it does not mean that they are not all functions of the underlying skill, n.) But I probably should find help with that. (Though if you happen to have an idea what kind of operations this problem might involve, I am grateful for a more direct link.) 2b. Some of the functions (and CDFs) are "implicitly defined" or solutions to the previously mentioned fixed-point logic which changes with the solution. Would NDSolve take this into account if I plug the right objects in? Or I would need to write my own Block to iterate and evaluate? If the latter, I am grateful for any reference with examples more closely resembling my problem.