# MatConvert

Converts a matrix to another matrix, either of the same or different type.

### Synopsis

    #include "petscmat.h"
    PetscErrorCode PETSCMAT_DLLEXPORT 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. Currently MAT_REUSE_MATRIX is only supported for inplace conversion, otherwise use MAT_INITIAL_MATRIX. Output Parameter:

M -pointer to place new matrix

### C++ variants

| Mat MatConvert(Mat A,MatType t) |  | -> |  | MatConvert(A,t,MAT_INITIAL_MATRIX,&a); return a;

### 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.

### See Also

MatCopy(), MatDuplicate()

Level:intermediate
Location:src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/ksp/examples/tutorials/ex6f.F.html