petsc-3.9.4 2018-09-11
MatMatSolveTranspose
Solves A^T X = B, given a factored matrix.
Synopsis
#include "petscmat.h"
PetscErrorCode MatMatSolveTranspose(Mat A,Mat B,Mat X)
Neighbor-wise Collective on Mat
Input Parameters
| A | - the factored matrix
|
| B | - the right-hand-side matrix (dense matrix)
|
Output Parameter
X -the result matrix (dense matrix)
Notes
The matrices b and x cannot be the same. I.e., one cannot
call MatMatSolveTranspose(A,x,x).
Notes
Most users should usually employ the simplified KSP interface for linear solvers
instead of working directly with matrix algebra routines such as this.
See, e.g., KSPCreate(). However KSP can only solve for one vector (column of X)
at a time.
When using SuperLU_Dist as a parallel solver PETSc will use the SuperLU_Dist functionality to solve multiple right hand sides simultaneously. For MUMPS
it calls a separate solve for each right hand side since MUMPS does not yet support distributed right hand sides.
Since the resulting matrix X must always be dense we do not support sparse representation of the matrix B.
See Also
MatMatSolveTranspose(), MatLUFactor(), MatCholeskyFactor()
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