petsc-3.12.4 2020-02-04
Report Typos and Errors

# MatLUFactor

Performs in-place LU factorization of matrix.

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatLUFactor(Mat mat,IS row,IS col,const MatFactorInfo *info)

Collective on Mat

### 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 simplified 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().

### See Also

MatLUFactorSymbolic(), MatLUFactorNumeric(), MatCholeskyFactor(),
MatGetOrdering(), MatSetUnfactored(), MatFactorInfo, MatGetFactor()

Developer Note: fortran interface is not autogenerated as the f90 interface defintion cannot be generated correctly [due to MatFactorInfo]

### Level

developer

### Location

src/mat/interface/matrix.c

### Examples

src/ksp/ksp/examples/tutorials/ex74.c.html

### Implementations

MatLUFactor_SeqAIJ in src/mat/impls/aij/seq/aijfact.c
MatLUFactor_SeqBAIJ in src/mat/impls/baij/seq/baijfact.c
MatLUFactor_SeqDenseCUDA in src/mat/impls/dense/seq/cuda/densecuda.cu
MatLUFactor_SeqDense in src/mat/impls/dense/seq/dense.c
MatLUFactor_Elemental in src/mat/impls/elemental/matelem.cxx
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages