TaoTermCreateHalfL2Squared#

Create a TaoTerm for the objective term \(\tfrac{1}{2}\|x - p\|_2^2\), for solution \(x\) and parameters \(p\).

Synopsis#

Collective

Input Parameters#

  • comm - the MPI communicator where the TaoTerm will be computed

  • n - the local size of the \(x\) and \(p\) vectors (or PETSC_DECIDE)

  • N - the global size of the \(x\) and \(p\) vectors (or PETSC_DECIDE)

Output Parameter#

Note#

If you would like to add a Tikhonov regularization term \(\alpha \tfrac{1}{2}\|x\|_2^2\) to the objective function of a Tao, do the following:

  VecGetSizes(x, &n, &N);
  TaoTermCreateHalfL2Squared(PetscObjectComm((PetscObject)x), n, N, &term);
  TaoAddTerm(tao, "reg_", alpha, term, NULL, NULL);
  TaoTermDestroy(&term);

If you would like to add a biased regularization term \(\alpha \tfrac{1}{2}\|x - p \|_2^2\), do the same but pass p as the parameters of the term:

  TaoAddTerm(tao, "reg_", alpha, term, p, NULL);

See Also#

TaoTerm: composable objective function terms, TaoTerm, TAOTERMHALFL2SQUARED, TaoTermCreateL1(), TaoTermCreateQuadratic()

Level#

beginner

Location#

src/tao/term/impls/halfl2squared/taotermhalfl2squared.c

Examples#

src/tao/unconstrained/tutorials/elastic_net_regularization.c


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