PETSc version 3.17.2
MatConvert
Converts a matrix to another matrix, either of the same or different type.
Synopsis
#include "petscmat.h"
PetscErrorCode MatConvert(Mat mat,MatType newtype,MatReuse reuse,Mat *M)
Collective on Mat
Input Parameters
| mat | - the matrix
|
| newtype | - new matrix type. Use MATSAME to create a new matrix of the
same type as the original matrix.
|
| reuse | - denotes if the destination matrix is to be created or reused.
Use MAT_INPLACE_MATRIX for inplace conversion (that is when you want the input mat to be changed to contain the matrix in the new format), otherwise use
MAT_INITIAL_MATRIX or MAT_REUSE_MATRIX (can only be used after the first call was made with MAT_INITIAL_MATRIX, causes the matrix space in M to be reused).
|
Output Parameter
| M | - pointer to place new matrix
|
Notes
MatConvert() first creates a new matrix and then copies the data from
the first matrix. A related routine is MatCopy(), which copies the matrix
entries of one matrix to another already existing matrix context.
Cannot be used to convert a sequential matrix to parallel or parallel to sequential,
the MPI communicator of the generated matrix is always the same as the communicator
of the input matrix.
See Also
MatCopy(), MatDuplicate()
Level
intermediate
Location
src/mat/interface/matrix.c
Examples
src/mat/tutorials/ex5cu.cu.html
src/ksp/ksp/tutorials/ex29.c.html
src/ksp/ksp/tutorials/ex34.c.html
src/ksp/ksp/tutorials/ex71.c.html
src/ksp/ksp/tutorials/ex72.c.html
src/ksp/ksp/tutorials/ex76.c.html
src/ksp/ksp/tutorials/ex77.c.html
src/ksp/ksp/tutorials/ex81.c.html
src/ksp/ksp/tutorials/ex6f.F90.html
src/snes/tutorials/ex28.c.html
Implementations
MatConvert_Shell in src/mat/impls/shell/shellcnv.c
MatConvert_HT in src/mat/impls/transpose/htransm.c
MatConvert_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