#include "petscmat.h" PetscErrorCode MatForwardSolve(Mat mat,Vec b,Vec x)Neighbor-wise Collective on Mat
mat | - the factored matrix | |
b | - the right-hand-side vector |
x | - the result vector |
The vectors b and x cannot be the same, i.e., one cannot call MatForwardSolve(A,x,x).
For matrix in seqsbaij format with block size larger than 1, the diagonal blocks are not implemented as D = D^(1/2) * D^(1/2) yet. MatForwardSolve() solves U^T*D y = b, and MatBackwardSolve() solves U x = y. Thus they do not provide a symmetric preconditioner.
Most users should employ the simplified KSP interface for linear solvers instead of working directly with matrix algebra routines such as this. See, e.g., KSPCreate().