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.
Developer Note#
The Fortran interface is not autogenerated as the
interface definition cannot be generated correctly [due to MatFactorInfo]
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