Skip to main content
`Ctrl`+`K`

# TaoTermComputeHessian

Evaluate the Hessian of a `TaoTerm` (with respect to the solution variables) for a given solution vector and parameter vector

## Synopsis

    #include "petsctao.h"
    PetscErrorCode TaoTermComputeHessian(TaoTerm term, Vec x, Vec params, Mat H, Mat Hpre)

Collective

## Input Parameters

- term - a `TaoTerm` representing a parametric function \(f(x; p)\)

- x - the solution variable \(x\) in \(f(x; p)\)

- params - the parameters \(p\) in \(f(x; p)\) (may be `NULL` if the term is not parametric)

## Output Parameters

- H - Hessian matrix \(\nabla_x^2 f(x;p)\)

- Hpre - an (approximate) Hessian from which the preconditioner will be constructed, often the same as `H`

## Note

If there is no separate matrix from which to construct the preconditioner, then `TaoTermComputeHessian(term, x, params, H, NULL)` and `TaoTermComputeHessian(term, x, params, H, H)` are equivalent.

## See Also

TaoTerm: composable objective function terms, `TaoTerm`, `TaoTermComputeObjective()`, `TaoTermComputeGradient()`, `TaoTermComputeObjectiveAndGradient()`, `TaoTermShellSetHessian()`

## Level

developer

## Location

src/tao/term/interface/taoterm.c

## Implementations

TaoTermComputeHessian_Callbacks() in src/tao/term/impls/callbacks/taotermcallbacks.c
TaoTermComputeHessian_Halfl2squared() in src/tao/term/impls/halfl2squared/taotermhalfl2squared.c
TaoTermComputeHessian_L1() in src/tao/term/impls/l1/taoterml1.c
TaoTermComputeHessian_Quadratic() in src/tao/term/impls/quadratic/taotermquadratic.c
TaoTermComputeHessian_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