TAO fully supports matrix-free methods. The matrices specified in the
Hessian evaluation routine need not be conventional
matrices; instead, they can point to the data required to implement a
particular matrix-free method. The matrix-free variant is allowed
only when the linear systems are solved by an iterative method
in combination with no preconditioning ( PCNONE or -pc_type none),
a user-provided preconditioner matrix, or a user-provided preconditioner
shell ( PCSHELL); that is,
obviously matrix-free methods cannot be used if a direct solver is to
be employed. Details about using matrix-free methods are provided in the
PETSc Users Manual.