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
TaoTermof typeTAOTERMSUMindex - the index for the term from
TaoTermSumSetTerm()orTaoTermSumAddTerm()unmapped_H - (optional) unmapped Hessian matrix
unmapped_Hpre - (optional) unmapped matrix for constructing the preconditioner of
unmapped_Hmapped_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#
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