Types publics | |
enum | Storage { NONE , ROWS , COLUMNS , ROWS_AND_COLUMNS } |
Fonctions membres publiques | |
CNC_Matrix (long m, long n, Storage storage=ROWS) | |
CNC_Matrix (long n) | |
CNC_Matrix (long n, Storage storage, bool symmetric_storage) | |
long | m () const |
long | n () const |
long | diag_size () const |
long | nnz () const |
bool | rows_are_stored () const |
bool | columns_are_stored () const |
Storage | storage () const |
bool | has_symmetric_storage () const |
bool | is_square () const |
bool | is_symmetric () const |
void | set_symmetric_tag (bool x) |
CNCSparseRowColumn & | row (long i) |
const CNCSparseRowColumn & | row (long i) const |
CNCSparseRowColumn & | column (long j) |
const CNCSparseRowColumn & | column (long j) const |
double | diag (long i) const |
void | add (long i, long j, double val) |
void | sort () |
void | clear () |
void | zero () |
void | allocate (long m, long n, Storage storage, bool symmetric=false) |
void | deallocate () |
Fonctions membres privées | |
CNC_Matrix (const CNC_Matrix &rhs) | |
CNC_Matrix & | operator= (const CNC_Matrix &rhs) |
Attributs privés | |
long | m_ |
long | n_ |
long | diag_size_ |
CNCSparseRowColumn * | row_ |
CNCSparseRowColumn * | column_ |
double * | diag_ |
Storage | storage_ |
bool | rows_are_stored_ |
bool | columns_are_stored_ |
bool | symmetric_storage_ |
bool | symmetric_tag_ |
Définition à la ligne 124 du fichier AlephCudaMatrix.h.
enum Arcane::CNC_Matrix::Storage |
Définition à la ligne 127 du fichier AlephCudaMatrix.h.
Constructs a m*n sparse matrix.
Storage | can be one of ROWS, COLUMNS, ROWS_AND_COLUMNS |
Définition à la ligne 51 du fichier AlephCudaMatrix.cc.
Arcane::CNC_Matrix::CNC_Matrix | ( | long | n | ) |
Constructs a n*n sparse matrix, row storage is used, Non symmetric storage is used
Définition à la ligne 65 du fichier AlephCudaMatrix.cc.
Constructs a square n*n sparse matrix.
Storage | can be one of ROWS, COLUMNS, ROWS_AND_COLUMNS |
symmetric_storage | if set, only entries a_ij such that j <= i are stored. |
Définition à la ligne 58 du fichier AlephCudaMatrix.cc.
Arcane::CNC_Matrix::CNC_Matrix | ( | ) |
Définition à la ligne 86 du fichier AlephCudaMatrix.cc.
Arcane::CNC_Matrix::~CNC_Matrix | ( | ) |
Définition à la ligne 80 du fichier AlephCudaMatrix.cc.
aij <- aij + val
Définition à la ligne 201 du fichier AlephCudaMatrix.cc.
Définition à la ligne 289 du fichier AlephCudaMatrix.cc.
void Arcane::CNC_Matrix::clear | ( | ) |
removes all the coefficients and frees the allocated space.
Définition à la ligne 251 du fichier AlephCudaMatrix.cc.
CNCSparseRowColumn & Arcane::CNC_Matrix::column | ( | long | j | ) |
storage should be one of COLUMN, ROWS_AND_COLUMNS
i | index of the column, in the range [0, n-1] |
Définition à la ligne 179 du fichier AlephCudaMatrix.cc.
const CNCSparseRowColumn & Arcane::CNC_Matrix::column | ( | long | j | ) | const |
storage should be one of COLUMNS, ROWS_AND_COLUMNS
i | index of the column, in the range [0, n-1] |
Définition à la ligne 187 du fichier AlephCudaMatrix.cc.
bool Arcane::CNC_Matrix::columns_are_stored | ( | ) | const |
Définition à la ligne 131 du fichier AlephCudaMatrix.cc.
void Arcane::CNC_Matrix::deallocate | ( | ) |
Définition à la ligne 269 du fichier AlephCudaMatrix.cc.
returns aii.
Définition à la ligne 194 du fichier AlephCudaMatrix.cc.
long Arcane::CNC_Matrix::diag_size | ( | ) | const |
Définition à la ligne 108 du fichier AlephCudaMatrix.cc.
bool Arcane::CNC_Matrix::has_symmetric_storage | ( | ) | const |
Définition à la ligne 139 du fichier AlephCudaMatrix.cc.
bool Arcane::CNC_Matrix::is_square | ( | ) | const |
Définition à la ligne 143 du fichier AlephCudaMatrix.cc.
bool Arcane::CNC_Matrix::is_symmetric | ( | ) | const |
Définition à la ligne 147 du fichier AlephCudaMatrix.cc.
long Arcane::CNC_Matrix::m | ( | ) | const |
Définition à la ligne 104 du fichier AlephCudaMatrix.cc.
long Arcane::CNC_Matrix::n | ( | ) | const |
Définition à la ligne 106 du fichier AlephCudaMatrix.cc.
long Arcane::CNC_Matrix::nnz | ( | ) | const |
number of non-zero coefficients
Définition à la ligne 111 du fichier AlephCudaMatrix.cc.
CNCSparseRowColumn & Arcane::CNC_Matrix::row | ( | long | i | ) |
storage should be one of ROWS, ROWS_AND_COLUMNS
i | index of the row, in the range [0, m-1] |
Définition à la ligne 163 du fichier AlephCudaMatrix.cc.
const CNCSparseRowColumn & Arcane::CNC_Matrix::row | ( | long | i | ) | const |
storage should be one of ROWS, ROWS_AND_COLUMNS
i | index of the row, in the range [0, m-1] |
Définition à la ligne 171 du fichier AlephCudaMatrix.cc.
bool Arcane::CNC_Matrix::rows_are_stored | ( | ) | const |
Définition à la ligne 127 du fichier AlephCudaMatrix.cc.
For symmetric matrices that are not stored in symmetric mode, one may want to give a hint that the matrix is symmetric.
Définition à la ligne 155 du fichier AlephCudaMatrix.cc.
void Arcane::CNC_Matrix::sort | ( | ) |
sorts rows and columns by increasing coefficients
Définition à la ligne 218 du fichier AlephCudaMatrix.cc.
CNC_Matrix::Storage Arcane::CNC_Matrix::storage | ( | ) | const |
Définition à la ligne 135 du fichier AlephCudaMatrix.cc.
void Arcane::CNC_Matrix::zero | ( | ) |
removes all the coefficients, but keeps the allocated storage, that will be used by subsequent calls to add().
Définition à la ligne 233 du fichier AlephCudaMatrix.cc.
|
private |
Définition à la ligne 227 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 232 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 228 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 224 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 222 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 223 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 226 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 231 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 230 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 233 du fichier AlephCudaMatrix.h.
|
private |
Définition à la ligne 234 du fichier AlephCudaMatrix.h.