TaoBRGNRegularizationType#

The regularization added in the TAOBRGN solver.

Synopsis#

Values#

  • TAOBRGN_REGULARIZATION_USER - A user-defined regularizer

  • TAOBRGN_REGULARIZATION_L2PROX - \(\tfrac{1}{2}\|x - x_k\|_2^\), where \(x_k\) is the latest solution

  • TAOBRGN_REGULARIZATION_L2PURE - \(\tfrac{1}{2}\|x\|_2^2\)

  • TAOBRGN_REGULARIZATION_L1DICT - \(\|D x\|_1\), where \(D\) is a dictionary matrix

  • TAOBRGN_REGULARIZATION_LM - Levenberg-Marquardt, \(\tfrac{1}{2} x^T \mathrm{diag}(J^T J) x\), where \(J\) is the Jacobian of the least-squares residual

Options database Key#

  • -tao_brgn_regularization_type <user,l2prox,l2pure,l1dict,lm> - one of the above regularization types

Notes#

If TAOBRGN_REGULARIZATION_USER, the regularizer is set either by calling TaoBRGNSetRegularizerObjectiveAndGradientRoutine() and TaoBRGNSetRegulazerHessianRoutine() or by calling TaoBRGNSetRegularizerTerm().

If TAOBRGN_REGULARIZATION_L1DICT, the dictionary matrix is set with TaoBRGNSetDictionaryMatrix() and the smoothing parameter of the approximate \(\ell_1\) norm is set with TaoBRGNSetL1SmoothEpsilon().

If TAOBRGN_REGULARIZATION_LM, the diagonal damping vector \(\mathrm{diag}(J^T J)\) can be obtained with TaoBRGNGetDampingVector().

See Also#

TAO: Optimization Solvers, Tao, TaoBRGNGetSubsolver(), TaoBRGNSetRegularizerWeight(), TaoBRGNSetL1SmoothEpsilon(), TaoBRGNSetDictionaryMatrix(), TaoBRGNSetRegularizerObjectiveAndGradientRoutine(), TaoBRGNSetRegularizerHessianRoutine(), TaoBRGNGetRegularizationType(), TaoBRGNSetRegularizationType()

Level#

advanced

Location#

include/petsctao.h

Examples#

src/tao/leastsquares/tutorials/cs1.c

Examples#

src/tao/leastsquares/tutorials/cs1.c

Examples#

src/tao/leastsquares/tutorials/cs1.c


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