Skip to main content
`Ctrl`+`K`

# TAOBRGN

Bounded Regularized Gauss-Newton method for solving nonlinear least-squares problems with bound constraints. This algorithm is a thin wrapper around `TAOBNTL` that constructs the Gauss-Newton problem with the user-provided least-squares residual and Jacobian. The algorithm offers an L2-norm (`l2pure`), L2-norm proximal point (`l2prox`) regularizer, and L1-norm dictionary regularizer (`l1dict`), where we approximate the L1-norm \(\|x\|_1\) by \(\sum_i{\sqrt{x_i^2+\epsilon^2}-\epsilon}\) with a small positive number \(\epsilon\). Also offered is the `lm` regularizer which uses a scaled diagonal of \(J^T J\). With the `lm` regularizer, `TAOBRGN` is a Levenberg-Marquardt optimizer. The user can also provide their own regularization function.

## Options Database Keys

- -tao_brgn_regularization_type (user|l2prox|l2pure|l1dict|lm) - regularization type, default `l2prox`

- -tao_brgn_regularizer_weight - regularizer weight (default 1e-4)

- -tao_brgn_l1_smooth_epsilon - L1-norm smooth approximation parameter: \(\|x\|_1 = \sum_i{\sqrt{x_i^2+\epsilon^2}-\epsilon}\) (default 1e-6)

## See Also

`Tao`, `TaoBRGNGetSubsolver()`, `TaoBRGNSetRegularizerWeight()`, `TaoBRGNSetL1SmoothEpsilon()`, `TaoBRGNSetDictionaryMatrix()`, `TaoBRGNSetRegularizerObjectiveAndGradientRoutine()`, `TaoBRGNSetRegularizerHessianRoutine()`

## Level

beginner

## Location

src/tao/leastsquares/impls/brgn/brgn.c

## Examples

src/tao/leastsquares/tutorials/cs1.c
src/tao/leastsquares/tutorials/tomography.c

Index of all Tao routines
Table of Contents for all manual pages
Index of all manual pages