Geogram
Version 1.9.1
A programming library of geometric algorithms
|
Public Attributes | |
NLuint | m |
number of rows | |
NLuint | n |
number of columns | |
NLenum | type |
Matrix type. More... | |
NLDestroyMatrixFunc | destroy_func |
destructor | |
NLMultMatrixVectorFunc | mult_func |
Matrix x vector product. | |
NLuint | diag_size |
number of elements in the diagonal | |
NLuint | diag_capacity |
Number of elements allocated to store the diagonal. | |
NLenum | storage |
indicates what is stored in this matrix | |
NLRowColumn * | row |
the rows if (storage & NL_MATRIX_STORE_ROWS), size = m, NULL otherwise | |
NLRowColumn * | column |
the columns if (storage & NL_MATRIX_STORE_COLUMNS), size = n, NULL otherwise | |
NLdouble * | diag |
the diagonal elements, size = diag_size | |
NLuint | row_capacity |
Number of row descriptors allocated in the row array. | |
NLuint | column_capacity |
Number of column descriptors allocated in the column array. | |
Related Functions | |
(Note that these are not member functions.) | |
NLAPI NLulong NLAPIENTRY | nlCRSMatrixAdd (NLCRSMatrix *M, NLuint i, NLuint j, NLdouble value) |
Adds a coefficient to an NLSparseMatrix. More... | |
NLAPI void NLAPIENTRY | nlCRSMatrixAddAt (NLCRSMatrix *M, NLuint i, NLuint j, NLdouble value, NLulong index) |
Adds a coefficient to an NLSparseMatrix at a known location. More... | |
NLAPI void NLAPIENTRY | nlCRSMatrixSetCoefficientAtRowOffset (NLCRSMatrix *M, NLuint i, NLuint j, NLdouble value, NLuint row_offset) |
Sets a coefficient to an NLSparseMatrix at a known row offset. More... | |
#define | NL_MATRIX_STORE_ROWS 1 |
#define | NL_MATRIX_STORE_COLUMNS 2 |
#define | NL_MATRIX_STORE_SYMMETRIC 4 |
NLAPI NLMatrix NLAPIENTRY | nlSparseMatrixNew (NLuint m, NLuint n, NLenum storage) |
Constructs a new NLSparseMatrix. More... | |
NLAPI void NLAPIENTRY | nlSparseMatrixConstruct (NLSparseMatrix *M, NLuint m, NLuint n, NLenum storage) |
Constructs a new NLSparseMatrix. More... | |
NLAPI void NLAPIENTRY | nlSparseMatrixDestroy (NLSparseMatrix *M) |
Destroys an NLSparseMatrix. More... | |
NLAPI void NLAPIENTRY | nlSparseMatrixMult (NLSparseMatrix *A, const NLdouble *x, NLdouble *y) |
Computes a matrix-vector product. More... | |
NLAPI void NLAPIENTRY | nlSparseMatrixAdd (NLSparseMatrix *M, NLuint i, NLuint j, NLdouble value) |
Adds a coefficient to an NLSparseMatrix. More... | |
NLAPI void NLAPIENTRY | nlSparseMatrixZero (NLSparseMatrix *M) |
Zeroes an NLSparseMatrix. More... | |
NLAPI void NLAPIENTRY | nlSparseMatrixClear (NLSparseMatrix *M) |
Clears an NLSparseMatrix. More... | |
NLAPI NLuint_big NLAPIENTRY | nlSparseMatrixNNZ (NLSparseMatrix *M) |
Gets the number of non-zero coefficient in an NLSparseMatrix. More... | |
NLAPI void NLAPIENTRY | nlSparseMatrixSort (NLSparseMatrix *M) |
Sorts the coefficients in an NLSParseMatrix. More... | |
Begin/End | |
NLAPI void NLAPIENTRY | nlSetIJCoefficientAtRowOffset (NLuint i, NLuint j, NLdouble value, NLuint row_offset) |
Sets a coefficient to the current matrix at a known row offset. More... | |
Definition at line 512 of file nl_matrix.h.
|
related |
for NLSparseMatrix storage: indicates that columns are stored.
Definition at line 503 of file nl_matrix.h.
|
related |
for NLSparseMatrix storage: indicates that rows are stored.
Definition at line 497 of file nl_matrix.h.
|
related |
for NLSparseMatrix storage: indicates that symmetric storage is used (only the lower triangular part is stored).
Definition at line 510 of file nl_matrix.h.
|
related |
Adds a coefficient to an NLSparseMatrix.
Performs the following operation: $ a_{i,j} \leftarrow a_{i,j} + \mbox{value} $
[in,out] | M | a pointer to an NLSparseMatrix |
[in] | i | index of the row |
[in] | j | index of the column |
[in] | value | the coefficient to be added |
|
related |
Adds a coefficient to an NLSparseMatrix at a known location.
Performs the following operation: $ a_{i,j} \leftarrow a_{i,j} + \mbox{value} $
[in,out] | M | a pointer to an NLSparseMatrix |
[in] | i | index of the row |
[in] | j | index of the column |
[in] | value | the coefficient to be added |
[in] | index | the index in the CRS arrays where the coefficient is stored |
index
already exists and has column index j
|
related |
Sets a coefficient to an NLSparseMatrix at a known row offset.
Performs the following operation: $ a_{i,j} \leftarrow a_{i,j} + \mbox{value} $
[in,out] | M | a pointer to an NLSparseMatrix |
[in] | i | index of the row |
[in] | j | index of the column |
[in] | value | the coefficient to be added |
[in] | row_offset | the offset of the CRS arrays starting from rowptr[i] |
i
at row_offset
was not previously set
|
related |
Sets a coefficient to the current matrix at a known row offset.
[in,out] | M | a pointer to an NLSparseMatrix |
[in] | i | index of the row |
[in] | j | index of the column |
[in] | value | the coefficient to be added |
[in] | row_offset | the offset of the CRS arrays starting from rowptr[i] |
i
at row_offset
was not previously set
|
related |
Adds a coefficient to an NLSparseMatrix.
Performs the following operation: $ a_{i,j} \leftarrow a_{i,j} + \mbox{value} $
[in,out] | M | a pointer to an NLSparseMatrix |
[in] | i | index of the row |
[in] | j | index of the column |
[in] | value | the coefficient to be added |
|
related |
Clears an NLSparseMatrix.
The memory is freed.
[in,out] | M | a pointer to the NLSparseMatrix to zero |
|
related |
Constructs a new NLSparseMatrix.
[in,out] | M | a pointer to an uninitialized NLSparseMatrix |
[in] | m | number of rows |
[in] | n | number of columns |
[in] | storage | a bitwise or combination of flags that indicate what needs to be stored in the matrix. |
|
related |
Destroys an NLSparseMatrix.
Only the memory allocated by the NLSparseMatrix is freed. The NLSparseMatrix structure is not freed.
[in,out] | M | a pointer to an NLSparseMatrix |
|
related |
Computes a matrix-vector product.
[in] | A | a pointer to the matrix |
[in] | x | the vector to be multiplied, size = A->n |
[in] | y | where to store the result, size = A->m |
Constructs a new NLSparseMatrix.
[in] | m | number of rows |
[in] | n | number of columns |
[in] | storage | a bitwise or combination of flags that indicate what needs to be stored in the matrix. |
|
related |
Gets the number of non-zero coefficient in an NLSparseMatrix.
[in] | M | a pointer to the NLSparseMatrix |
M
|
related |
Sorts the coefficients in an NLSParseMatrix.
[in,out] | M | a pointer to the NLSparseMatrix |
|
related |
Zeroes an NLSparseMatrix.
The memory is not freed.
[in,out] | M | a pointer to the NLSparseMatrix to zero |
NLenum NLSparseMatrix::type |
Matrix type.
One of NL_MATRIX_DYNAMIC, NL_MATRIX_CRS, NL_MATRIX_SUPERLU_EXT, NL_CHOLDMOD_MATRIX_EXT
Definition at line 528 of file nl_matrix.h.