Skip to main content
`Ctrl`+`K`

# MatSetValuesRow

Inserts a row (block row for `MATBAIJ` matrices) of nonzero values into a matrix

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatSetValuesRow(Mat mat, PetscInt row, const PetscScalar v[])

Not Collective

## Input Parameters

- mat - the matrix

- row - the (block) row to set

- v - a logically two-dimensional (column major) array of values for block matrices with blocksize larger than one, otherwise a one dimensional array of values

## Notes

The values, `v`, are column-oriented for the block version.

All the nonzeros in `row` must be provided

THE MATRIX MUST HAVE PREVIOUSLY HAD ITS COLUMN INDICES SET. IT IS RARE THAT THIS ROUTINE IS USED, usually `MatSetValues()` is used.

`row` must belong to this process

## See Also

Matrices, `Mat`, `MatSetValues()`, `MatSetOption()`, `MatAssemblyBegin()`, `MatAssemblyEnd()`, `MatSetValuesBlocked()`, `MatSetValuesLocal()`, `InsertMode`, `INSERT_VALUES`, `ADD_VALUES`

## Level

advanced

## Location

src/mat/interface/matrix.c

## Implementations

MatSetValuesRow_MPIAIJ() in src/mat/impls/aij/mpi/mpiaij.c
MatSetValuesRow_SeqAIJ() in src/mat/impls/aij/seq/aij.c

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