\(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\R}[1]{ {\rm #1} }\)
cpp_sparse_rc#
View page sourceSparsity Patterns#
Syntax#
cppad_py::sparse_rc pattern;.resize ( nr , nc , nnz ).nr ().nc ().nnz ().put ( k , r , c ).row ().col ().row_major ().col_major ()pattern#
This result has prototype
sparse_rc patternIt is used to hold a sparsity pattern for a matrix.
The sparsity pattern is const
except during the resize and put operations.
nr#
This argument has prototype
int nris non-negative, and specifies
the number of rows in the sparsity pattern.
The function nr() returns the value of
nr in the previous resize operation.
nc#
This argument has prototype
int ncis non-negative, and specifies
the number of columns in the sparsity pattern.
The function nc() returns the value of
nc in the previous resize operation.
nnz#
This argument and result has prototype
int nnzIt is the number of possibly non-zero
index pairs in the sparsity pattern.
The function nnz() returns the value of
nnz in the previous resize operation.
resize#
The current sparsity pattern is lost and a new one is started
with the specified parameters.
After each resize , the elements in the row
and col vectors should be assigned using put .
put#
This function sets the values
(The name set is used by CppAD, but not used here,
because set it is a built-in name in Python.)
k#
This argument has type
int kis non-negative, and must be less than nnz .
r#
This argument has type
int ris non-negative, and must be less than nr . It specifies the value assigned to row [ k ] and must
c#
This argument has type
int cIt specifies the value assigned to col [ k ] and must be less than nc .
row#
This result has type
vec_int rowand its size is nnz . For k = 0, … , nnz -1 , row [ k ] is the row index for the k-th possibly non-zero entry in the matrix.
col#
This result has type
vec_int coland its size is nnz . For k = 0, … , nnz -1 , col [ k ] is the column index for the k-th possibly non-zero entry in the matrix.
row_major#
This vector has prototype
vec_int row_majorand its size nnz . It sorts the sparsity pattern in row-major order. To be specific,
and if col [ row_major [ k ] ] == col [ row_major [ k +1] ] ,
This routine generates an assert if there are two entries with the same
row and column values (if NDEBUG is not defined).
col_major#
This vector has prototype
vec_int col_majorand its size nnz . It sorts the sparsity pattern in column-major order. To be specific,
and if row [ col_major [ k ] ] == row [ col_major [ k +1] ] ,
This routine generates an assert if there are two entries with the same
row and column values (if NDEBUG is not defined).