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