# TRESNEI

## Introduction

TRESNEI is a MATLAB code for bound-constrained least-squares problems

\min_{l\le x \le u}\, f(x)=\frac{1}{2}||F(x)||_2^2,


where F is a continuously differentiable function and l, u are defined n-dimensional lower and upper bounds such that -∞ ≤ l ≤ u ≤ ∞. Free and fixed variables are handled by setting corresponding components of l and u to be -∞ and ∞, or by setting them equal to each other.

TRESNEI solves the nonlinear least-squares problem irrespective of its dimensions m and n. The algorithm implemented is a trust-region Gauss-Newton method which generates feasible iterates and relies on matrix factorization. The trust-region subproblem is solved by a dogleg strategy. The method is globally and fast locally convergent under standard assumptions. Various input/output options are provided, and we refer to the code itself for further documentation.

TRESNEI is a nontrivial extension of the solver STRSCNE for square bound-constrained nonlinear systems of equations.

TRESNEI covers the solution of small and zero residual bound-constrained nonlinear least-squares problems and handles the solution of systems of nonlinear equalities and inequalities. In practice TRESNEI solves:

• bound-constrained square and nonsquare systems of nonlinear equations

\begin{array}{l}
C_E(x) = 0 \\
l\le  x  \le u

• nonlinear least-squares

\min_{l\le x \le u}\, \frac{1}{2}||C_E(x)||_2^2, \quad \quad \quad C_E: \mathbb{R}^n \rightarrow \mathbb{R}^{m_E};

• systems of nonlinear equalities and inequalities

\begin{array}{l}
C_E(x) = 0 \\
C_I(x) \le 0 \\
l\le  x  \le u
C_I:\mathbb{R}^n \rightarrow \mathbb{R}^{m_I}.


The bound-constrained least-squares problem solved internally is the following

\min_{l\le x \le u}\, ||F(x)||^2_2 = \min_{l\le x \le u}\, \left \|
\begin{array}{c}
C_E(x) \\
\frac{1}{2} \max \{C_I(x),0 \}^2 \\
\end{array}
\right \|_2^2, \; \mbox{ where } F:\mathbb{R}^n\rightarrow \mathbb{R}^{m_E+m_I}