Skip to main content
`Ctrl`+`K`

# MatSetValue

Set a single entry into a matrix.

## Synopsis

    static inline PetscErrorCode MatSetValue(Mat mat, PetscInt i, PetscInt j, PetscScalar va, InsertMode mode)

Not Collective

## Input Parameters

- mat - the matrix

- i - the row location of the entry

- j - the column location of the entry

- va - the value to insert

- mode - either `INSERT_VALUES` or `ADD_VALUES`

## Notes

This value may be cached, so `MatAssemblyBegin()` and `MatAssemblyEnd()` MUST be called after all calls to `MatSetValue()` have been completed.

For efficiency one should use `MatSetValues()` and set several values simultaneously.

## See Also

Matrices, `Mat`, `MatAssemblyBegin()`, `MatAssemblyEnd()`, `InsertMode`, `MatGetValue()`, `MatSetValues()`, `MatSetValueLocal()`, `MatSetValuesLocal()`

## Level

beginner

## Location

include/petscmat.h

## Examples

src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex59.c
src/ksp/ksp/tutorials/ex4.c
src/mat/tutorials/ex4.c
src/ksp/ksp/tutorials/ex61f.F90
src/ksp/ksp/tutorials/ex73.c
src/ksp/ksp/tutorials/ex27.c
src/ksp/ksp/tutorials/ex84.c
src/ksp/ksp/tutorials/ex21.c
src/ksp/ksp/tutorials/ex44f.F90

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages