petsc-3.7.1 2016-05-15
Report Typos and Errors

# MatDuplicate

Duplicates a matrix including the non-zero structure.

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatDuplicate(Mat mat,MatDuplicateOption op,Mat *M)

Collective on Mat Many br

### Input Parameters

| mat | - the matrix Many br
| op | - either MAT_DO_NOT_COPY_VALUES or MAT_COPY_VALUES, cause it to copy the numerical values in the matrix Many brMAT_SHARE_NONZERO_PATTERN to share the nonzero patterns with the previous matrix and not copy them. Many br

### Output Parameter

M -pointer to place new matrix Many br

Many br

Notes: You cannot change the nonzero pattern for the parent or child matrix if you use MAT_SHARE_NONZERO_PATTERN. Many br

### See Also

MatCopy(), MatConvert()

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/mat/examples/tutorials/ex9.c.html
src/ksp/ksp/examples/tutorials/ex5.c.html
src/ksp/ksp/examples/tutorials/ex58.c.html
src/tao/pde_constrained/examples/tutorials/elliptic.c.html
src/tao/pde_constrained/examples/tutorials/parabolic.c.html
src/tao/pde_constrained/examples/tutorials/hyperbolic.c.html