TaoSetJacobianStateRoutine — PETSc 3.23.0 documentation

Skip to main content
`Ctrl`+`K`

# TaoSetJacobianStateRoutine

Sets the function to compute the Jacobian (and its inverse) of the constraint function with respect to the state variables. Used only for PDE-constrained optimization.

## Synopsis

    #include "petsctao.h"
    PetscErrorCode TaoSetJacobianStateRoutine(Tao tao, Mat J, Mat Jpre, Mat Jinv, PetscErrorCode (*func)(Tao tao, Vec x, Mat J, Mat Jpre, Mat Jinv, void *ctx), void *ctx)

Logically Collective

## Input Parameters

- tao - the `Tao` context

- J - Matrix used for the Jacobian

- Jpre - Matrix that will be used to construct the preconditioner, can be same as `J`. Only used if `Jinv` is `NULL`

- Jinv - [optional] Matrix used to apply the inverse of the state Jacobian. Use `NULL` to default to PETSc `KSP` solvers to apply the inverse.

- func - Jacobian evaluation routine

- ctx - [optional] user-defined context for private data for the Jacobian evaluation routine (may be `NULL`)

## Calling sequence of `func`

- tao - the `Tao` context

- x - input vector

- J - Jacobian matrix

- Jpre - matrix used to construct the preconditioner, usually the same as `J`

- Jinv - inverse of `J`

- ctx - [optional] user-defined Jacobian context

## See Also

TAO: Optimization Solvers, `Tao`, `TaoComputeJacobianState()`, `TaoSetJacobianDesignRoutine()`, `TaoSetStateDesignIS()`

## Level

intermediate

## Location

src/tao/interface/taosolver_hj.c

## Examples

src/tao/pde_constrained/tutorials/elliptic.c
src/tao/pde_constrained/tutorials/parabolic.c
src/tao/pde_constrained/tutorials/hyperbolic.c

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