MatSetUnfactored#

Resets a factored matrix to be treated as unfactored.

Synopsis#

#include "petscmat.h" 
PetscErrorCode MatSetUnfactored(Mat mat)

Logically Collective

Input Parameter#

  • mat - the factored matrix to be reset

Notes#

This routine should be used only with factored matrices formed by in-place factorization via ILU(0) (or by in-place LU factorization for the MATSEQDENSE format). This option can save memory, for example, when solving nonlinear systems with a matrix-free Newton-Krylov method and a matrix-based, in-place ILU(0) preconditioner.

One can specify in-place ILU(0) factorization by calling

     PCType(pc,PCILU);
     PCFactorSeUseInPlace(pc);

or by using the options -pc_type ilu -pc_factor_in_place

In-place factorization ILU(0) can also be used as a local solver for the blocks within the block Jacobi or additive Schwarz methods (runtime option: -sub_pc_factor_in_place). See Users-Manual: ch_pc for details on setting local solver options.

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

See Also#

Matrices, Mat, PCFactorSetUseInPlace(), PCFactorGetUseInPlace()

Level#

developer

Location#

src/mat/interface/matrix.c

Implementations#

MatSetUnfactored_MPIAIJ() in src/mat/impls/aij/mpi/mpiaij.c
MatSetUnfactored_MPIBAIJ() in src/mat/impls/baij/mpi/mpibaij.c
MatSetUnfactored_MPISBAIJ() in src/mat/impls/sbaij/mpi/mpisbaij.c
MatSetUnfactored_MPISELL() in src/mat/impls/sell/mpi/mpisell.c


Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages