Consider a rootfinding problem
in x \in \mathbb{R}^ n, where f is differentiable.
Most texts I am familiar with assume that f: \mathbb{R}^n \to \mathbb{R}^n, so implicitly the Jacobian J is square.
But in economics, it is common to have f: \mathbb{R}^n \to \mathbb{R}^m, with m \ge n. A simple example is an excess demand system, because of Walras’s law, if all but one markets clear then the last one clears too. For the purposes of this discussion, a root can be assumed, it is not a nonlinear least squares problem.
Of course one can just drop one of the equations/residuals, but I found that is not always well-behaved in f's with a lot of non-uniform curvature: sometimes rootfinding converges much quicker when I retain the whole system. Taking this further, when I have equivalent equilibrium conditions that have different scales, throwing them all in is usually much more stable than pre-selecting. Sometimes I end up systems where m \approx 2n, and they work much better.
Algorithms that require non-singular J, J^{-1}, or similar cannot handle this, but quasi-Newton and trust region algorithms that use merit functions can be trivially extended, sometimes without a change in code.
Now the questions:
-
is there textbook you would recommend on nonlinear rootfinding that discusses this case (ie m \ge n), from a practical perspective?
-
any algorithms you would recommend for this problem class? (I have implemented trust-region with simple dogleg, and it works OK, but I wonder if I could do better).
-
is there a Julia package that handles these kind of problems?