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#
Mat
, Mat
MatSetOption(),
MatAssemblyBegin(),
MatAssemblyEnd(),
MatSetValuesBlocked(),
MatSetValuesLocal(),
InsertMode,
INSERT_VALUES,
ADD_VALUES,
MatSetValues(),
MatSetPreallocationCOO(),
MatSetValuesCOO()`
Level#
advanced
Location#
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages