TaoTermSumSetTermHessianMatrices#

Set Hessian matrices that can be used internally by a TAOTERMSUM

Synopsis#

#include "petsctao.h" 
PetscErrorCode TaoTermSumSetTermHessianMatrices(TaoTerm term, PetscInt index, Mat unmapped_H, Mat unmapped_Hpre, Mat mapped_H, Mat mapped_Hpre)

Logically collective

Input Parameters#

  • term - a TaoTerm of type TAOTERMSUM

  • index - the index for the term from TaoTermSumSetTerm() or TaoTermSumAddTerm()

  • unmapped_H - (optional) unmapped Hessian matrix

  • unmapped_Hpre - (optional) unmapped matrix for constructing the preconditioner of unmapped_H

  • mapped_H - (optional) Hessian matrix

  • mapped_Hpre - (optional) matrix for constructing the preconditioner of mapped_H

Notes#

If the inner term has the form \(g(x) = \alpha f(Ax; p)\), the “mapped” Hessians should be able to hold the Hessian \(\nabla^2 g\) and the unmapped Hessians should be able to hold the Hessian \(\nabla_x^2 f\). If the term is not mapped, just pass the unmapped Hessians (e.g. TaoTermSumSetTermHessianMatrices(term, 0, H, Hpre, NULL, NULL)).

See Also#

TaoTerm: composable objective function terms, TaoTerm, TAOTERMSUM, TaoTermComputeHessian(), TaoTermSumGetTermHessianMatrices()

Level#

developer

Location#

src/tao/term/impls/sum/taotermsum.c

Implementations#

TaoTermSumSetTermHessianMatrices_Sum() in src/tao/term/impls/sum/taotermsum.c


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