Mat#

Abstract PETSc matrix object used to manage all linear operators in PETSc, even those without an explicit sparse representation (such as matrix-free operators). Also used to hold representations of graphs for graph operations such as coloring, MatColoringCreate()

Synopsis#

typedef struct _p_Mat *Mat;

Note#

See Summary of Matrix Types Available In PETSc, Matrices and MatType for available matrix types

See Also#

Summary of Matrix Types Available In PETSc, Matrices, MatCreate(), MatType, MatSetType(), MatDestroy()

Level#

beginner

Location#

include/petscmat.h

Examples#

src/ts/tutorials/ex9.c
src/ts/tutorials/ex44.c
src/ts/tutorials/ex20opt_ic.c
src/ts/tutorials/ex29.c
src/ts/tutorials/ex36A.c
src/ts/tutorials/ex41.c
src/ts/tutorials/ex5.c
src/ts/tutorials/ex16fwd.c
src/ts/tutorials/ex13.c
src/ts/tutorials/ex20td.c

Implementations#

_p_Mat in include/petsc/private/matimpl.h
Mat_CompressedRow in include/petsc/private/matimpl.h
Mat_Redundant in include/petsc/private/matimpl.h
Mat_Product in include/petsc/private/matimpl.h
Mat_IS in include/petsc/private/matisimpl.h
Mat_Elemental in include/petsc/private/petscelemental.h
Mat_ScaLAPACK in include/petsc/private/petscscalapack.h
Mat_HYPREStruct in src/dm/impls/da/hypre/mhyp.h
Mat_HYPRESStruct in src/dm/impls/da/hypre/mhyp.h
Mat_USFFT in src/dm/impls/da/usfft/matusfft.c
Mat_KSP in src/ksp/ksp/interface/eige.c
Mat_Brdn in src/ksp/ksp/utils/lmvm/brdn/brdn.h
Mat_DiagBrdn in src/ksp/ksp/utils/lmvm/diagbrdn/diagbrdn.h
Mat_LMVM in src/ksp/ksp/utils/lmvm/lmvm.h
Mat_SymBrdn in src/ksp/ksp/utils/lmvm/symbrdn/symbrdn.h
Mat_SchurComplement in src/ksp/ksp/utils/schurm/schurm.h
Mat_MLShell in src/ksp/pc/impls/ml/ml.c
Mat_MPIAdj in src/mat/impls/adj/mpi/mpiadj.h
Mat_APMPI in src/mat/impls/aij/mpi/mpiaij.h
Mat_MPIAIJ in src/mat/impls/aij/mpi/mpiaij.h
Mat_Pastix in src/mat/impls/aij/mpi/pastix/pastix.c
Mat_SubSppt in src/mat/impls/aij/seq/aij.h
Mat_SeqAIJOps in src/mat/impls/aij/seq/aij.h
Mat_MatMatTransMult in src/mat/impls/aij/seq/aij.h
Mat_MatTransMatMult in src/mat/impls/aij/seq/aij.h
Mat_AP in src/mat/impls/aij/seq/aij.h
Mat_RARt in src/mat/impls/aij/seq/aij.h
Mat_MatMatMatMult in src/mat/impls/aij/seq/aij.h
Mat_SeqAIJ in src/mat/impls/aij/seq/aij.h
Mat_SeqAIJMKL in src/mat/impls/aij/seq/aijmkl/aijmkl.c
Mat_SeqAIJPERM in src/mat/impls/aij/seq/aijperm/aijperm.c
Mat_SeqAIJSELL in src/mat/impls/aij/seq/aijsell/aijsell.c
Mat_AIJCRL in src/mat/impls/aij/seq/crl/crl.h
Mat_Essl in src/mat/impls/aij/seq/essl/essl.c
Mat_KLU in src/mat/impls/aij/seq/klu/klu.c
Mat_LUSOL in src/mat/impls/aij/seq/lusol/lusol.c
Mat_SuperLU in src/mat/impls/aij/seq/superlu/superlu.c
Mat_UMFPACK in src/mat/impls/aij/seq/umfpack/umfpack.c
Mat_MPIBAIJ in src/mat/impls/baij/mpi/mpibaij.h
Mat_SeqBAIJ in src/mat/impls/baij/seq/baij.h
Mat_SeqBAIJMKL in src/mat/impls/baij/seq/baijmkl/baijmkl.c
Mat_BlockMat in src/mat/impls/blockmat/seq/blockmat.c
Mat_ConstantDiagonal in src/mat/impls/cdiagonal/cdiagonal.c
Mat_Composite in src/mat/impls/composite/mcomposite.c
Mat_CUFFT in src/mat/impls/cufft/cufft.cu
Mat_MatMultDense in src/mat/impls/dense/mpi/mpidense.h
Mat_TransMatMultDense in src/mat/impls/dense/mpi/mpidense.h
Mat_MatTransMultDense in src/mat/impls/dense/mpi/mpidense.h
Mat_MPIDense in src/mat/impls/dense/mpi/mpidense.h
Mat_SeqDense in src/mat/impls/dense/seq/dense.h
Mat_Diagonal in src/mat/impls/diagonal/diagonal.c
Mat_FFT in src/mat/impls/fft/fft.h
Mat_FFTW in src/mat/impls/fft/fftw/fftw.c
Mat_HYPRE in src/mat/impls/hypre/mhypre.h
Mat_SeqKAIJ in src/mat/impls/kaij/kaij.h
Mat_MPIKAIJ in src/mat/impls/kaij/kaij.h
Mat_LocalRef in src/mat/impls/localref/mlocalref.c
Mat_LRC in src/mat/impls/lrc/lrc.c
Mat_SeqMAIJ in src/mat/impls/maij/maij.h
Mat_MPIMAIJ in src/mat/impls/maij/maij.h
Mat_Nest in src/mat/impls/nest/matnestimpl.h
Mat_Normal in src/mat/impls/normal/normm.c
Mat_NormalHermitian in src/mat/impls/normal/normmh.c
Mat_Preallocator in src/mat/impls/preallocator/matpreallocator.c
Mat_MPISBAIJ in src/mat/impls/sbaij/mpi/mpisbaij.h
Mat_CHOLMOD in src/mat/impls/sbaij/seq/cholmod/cholmodimpl.h
Mat_SeqSBAIJ in src/mat/impls/sbaij/seq/sbaij.h
Mat_Scatter in src/mat/impls/scatter/mscatter.c
Mat_MPISELL in src/mat/impls/sell/mpi/mpisell.h
Mat_SeqSELL in src/mat/impls/sell/seq/sell.h
Mat_SeqSELLCUDA in src/mat/impls/sell/seq/seqcuda/sellcuda.cu
Mat_Shell in src/mat/impls/shell/shell.c
Mat_SubVirtual in src/mat/impls/submat/submat.c
Mat_HT in src/mat/impls/transpose/htransm.c
Mat_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