# Software: Codosol

**Codosol is a Matlab code for constrained nonlinear
systems of
equations**

**
F(x)=0 l<=x<=u**
**where F: R^n --> R^n, l and u are vectors of dimension n.
Non-existent lower and upper bounds, i.e.**

**entries of l and u equal to
minus o plus infinity, are allowed.**

**The code is based on an affine scaling trust
region algorithm. The algorithm combines Newton method and trust region procedures where the
merit function used is the norm of the nonlinear residual. The trust region and the corresponding
scaled gradient are defined by suitable diagonal scaling avoiding the problem of running directly
into a bound. The trust region problem is approximately solved by a constrained dogleg method.
Only strictly feasible iterates are generated. A great flexibility in choosing the scaling matrix is
allowed for application dependent purposes. If the problem has sparse Jacobians and a relatively
big size, the user can choose to work with sparse memory storage. Then, the Newton step is computed
via the built-in Matlab function LU with the syntax for calling the UMFPACK package when Matlab 6.5 or
later versions are used. Various input/output options are provided, and we refer to the code itself
for further documentation.
**

**Authors:**

**Stefania Bellavia ***mailto:stefania.bellavia@unifi.it*

**Maria Macconi ***mailto:maria.macconi@unifi.it*

**Sandra Pieraccini ***mailto:pieraccini@calvino.polito.it*

**Codosol code has non-commercial purposes. We assume no
responsibility for any errors that**

**may exist in the provided
routines. We welcome questions, comments, recommended changes and**

**bug reports.**

**If you use this code, the authors would appreciate your acknowledging
having done so in the reports, publications, theses, etc., resulting from their
use.**

**CoDoSol.gz**

**Accompanying paper:**

**
S. Bellavia, M. Macconi, S. Pieraccini Constrained Dogleg Methods for nonlinear
systems with simple bounds
, Computational Optimization and Applications, Vol. 53, pp. 771-794, 2012
**