:orphan: # MatSetValuesBatch Adds (`ADD_VALUES`) many blocks of values into a matrix at once. The blocks must all be square and the same size. Currently, this can only be called once and creates the given matrix. ## Synopsis ``` #include "petscmat.h" PetscErrorCode MatSetValuesBatch(Mat mat, PetscInt nb, PetscInt bs, PetscInt rows[], const PetscScalar v[]) ``` Not Collective ## Input Parameters - ***mat -*** the matrix - ***nb -*** the number of blocks - ***bs -*** the number of rows (and columns) in each block - ***rows -*** a concatenation of the rows for each block - ***v -*** a concatenation of logically two-dimensional arrays of values ## Note `MatSetPreallocationCOO()` and `MatSetValuesCOO()` may be a better way to provide the values In the future, we will extend this routine to handle rectangular blocks, and to allow multiple calls for a given matrix. ## See Also [](ch_matrices), `Mat`, `MatSetOption()`, `MatAssemblyBegin()`, `MatAssemblyEnd()`, `MatSetValuesBlocked()`, `MatSetValuesLocal()`, `InsertMode`, `INSERT_VALUES`, `ADD_VALUES`, `MatSetValues()`, `MatSetPreallocationCOO()`, `MatSetValuesCOO()` ## Level advanced ## Location src/mat/interface/matrix.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/interface/matrix.c) [Index of all Mat routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)