# MatAssemblyEnd

Completes assembling the matrix. This routine should be called after MatAssemblyBegin().

### Synopsis

    #include "petscmat.h"
    PetscErrorCode PETSCMAT_DLLEXPORT MatAssemblyEnd(Mat mat,MatAssemblyType type)

Collective on Mat

### Input Parameters

| mat | - the matrix
| type | - type of assembly, either MAT_FLUSH_ASSEMBLY or MAT_FINAL_ASSEMBLY

### Options Database Keys

| -mat_view_info | - Prints info on matrix at conclusion of MatEndAssembly()
| -mat_view_info_detailed | - Prints more detailed info
| -mat_view | - Prints matrix in ASCII format
| -mat_view_matlab | - Prints matrix in Matlab format
| -mat_view_draw | - PetscDraws nonzero structure of matrix, using MatView() and PetscDrawOpenX().
| -display <name> | - Sets display name (default is host)
| -draw_pause <sec> | - Sets number of seconds to pause after display
| -mat_view_socket | - Sends matrix to socket, can be accessed from Matlab (see users manual)
| -viewer_socket_machine <machine> | - . -viewer_socket_port <port>
| -mat_view_binary | - save matrix to file in binary format
| -viewer_binary_filename <name> | - Notes: MatSetValues() generally caches the values. The matrix is ready to use only after MatAssemblyBegin() and MatAssemblyEnd() have been called. Use MAT_FLUSH_ASSEMBLY when switching between ADD_VALUES and INSERT_VALUES in MatSetValues(); use MAT_FINAL_ASSEMBLY for the final assembly before using the matrix.

### See Also

MatAssemblyBegin(), MatSetValues(), PetscDrawOpenX(), MatView(), MatAssembled(), PetscViewerSocketOpen()

Level:beginner
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/ex2.c.html
src/mat/examples/tutorials/ex5.c.html
src/ksp/pc/examples/tutorials/ex1.c.html
src/ksp/pc/examples/tutorials/ex2.c.html
src/ksp/ksp/examples/tutorials/ex1.c.html
src/ksp/ksp/examples/tutorials/ex2.c.html
src/ksp/ksp/examples/tutorials/ex3.c.html
src/ksp/ksp/examples/tutorials/ex4.c.html
src/ksp/ksp/examples/tutorials/ex5.c.html
src/ksp/ksp/examples/tutorials/ex7.c.html
src/ksp/ksp/examples/tutorials/ex8.c.html