#include "taosolver.h" PetscErrorCode TaoSetJacobianDesignRoutine(TaoSolver tao, Mat J, PetscErrorCode (*func)(TaoSolver, Vec, Mat*, void*), void *ctx)Logically collective on TaoSolver
| tao | - the TaoSolver context | |
| J | - Matrix used for the jacobian | |
| jac | - Jacobian evaluation routine | |
| ctx | - [optional] user-defined context for private data for the Jacobian evaluation routine (may be PETSC_NULL) |
jac (TaoSolver tao,Vec x,Mat *J,void *ctx);
| tao | - the TaoSolver context | |
| x | - input vector | |
| J | - Jacobian matrix | |
| ctx | - [optional] user-defined Jacobian context |
The function jac() takes Mat * as the matrix arguments rather than Mat. This allows the Jacobian evaluation routine to replace A and/or B with a completely new new matrix structure (not just different matrix elements) when appropriate, for instance, if the nonzero structure is changing throughout the global iterations.
Level:intermediate
Location:src/interface/taosolver_hj.c
TAO Solver Index
Table of Contents