MatLUFactor#
Performs in-place LU factorization of matrix.
Synopsis#
#include "petscmat.h"
PetscErrorCode MatLUFactor(Mat mat, IS row, IS col, const MatFactorInfo *info)
Collective
Input Parameters#
mat - the matrix
row - row permutation
col - column permutation
info - options for factorization, includes
fill - expected fill as ratio of original fill.
dtcol - pivot tolerance (0 no pivot, 1 full column pivoting)
Run with the option -info to determine an optimal value to use
Notes#
Most users should employ the KSP interface for linear solvers
instead of working directly with matrix algebra routines such as this.
See, e.g., KSPCreate().
This changes the state of the matrix to a factored matrix; it cannot be used
for example with MatSetValues() unless one first calls MatSetUnfactored().
This is really in-place only for dense matrices, the preferred approach is to use MatGetFactor(), MatLUFactorSymbolic(), and MatLUFactorNumeric()
when not using KSP.
Fortran Note#
A valid (non-null) info argument must be provided
See Also#
Matrices, Matrix Factorization, Mat, MatFactorType, MatLUFactorSymbolic(), MatLUFactorNumeric(), MatCholeskyFactor(),
MatGetOrdering(), MatSetUnfactored(), MatFactorInfo, MatGetFactor()
Level#
developer
Location#
Examples#
Implementations#
MatLUFactor_SeqAIJ() in src/mat/impls/aij/seq/aijfact.c
MatLUFactor_SeqBAIJ() in src/mat/impls/baij/seq/baijfact.c
MatLUFactor_SeqDense() in src/mat/impls/dense/seq/dense.c
MatLUFactor_Elemental() in src/mat/impls/elemental/matelem.cxx
MatLUFactor_ScaLAPACK() in src/mat/impls/scalapack/matscalapack.c
MatLUFactor_HT() in src/mat/impls/transpose/htransm.c
MatLUFactor_Transpose() in src/mat/impls/transpose/transm.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages