petsc-3.7.1 2016-05-15
Report Typos and Errors

# MatBackwardSolve

Solves U x = b, given a factored matrix, A = LU. D^(1/2) U x = b, given a factored symmetric matrix, A = U^T*D*U,

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatBackwardSolve(Mat mat,Vec b,Vec x)

Neighbor-wise Collective on Mat and Vec Many br

### Input Parameters

| mat | - the factored matrix Many br
| b | - the right-hand-side vector Many br

### Output Parameter

x -the result vector Many br

### Notes

MatSolve() should be used for most applications, as it performs Many bra forward solve followed by a backward solve. Many br

The vectors b and x cannot be the same. I.e., one cannot Many brcall MatBackwardSolve(A,x,x). Many br

For matrix in seqsbaij format with block size larger than 1, Many brthe diagonal blocks are not implemented as D = D^(1/2) * D^(1/2) yet. Many brMatForwardSolve() solves U^T*D y = b, and Many brMatBackwardSolve() solves U x = y. Many brThus they do not provide a symmetric preconditioner. Many br

Most users should employ the simplified KSP interface for linear solvers Many brinstead of working directly with matrix algebra routines such as this. Many brSee, e.g., KSPCreate(). Many br

Many br

### See Also

MatSolve(), MatForwardSolve()

Level:developer
Location:src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages