Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::CNC_Matrix
+ Graphe de collaboration de Arcane::CNC_Matrix:

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)
 
CNCSparseRowColumnrow (long i)
 
const CNCSparseRowColumnrow (long i) const
 
CNCSparseRowColumncolumn (long j)
 
const CNCSparseRowColumncolumn (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_Matrixoperator= (const CNC_Matrix &rhs)
 

Attributs privés

long m_
 
long n_
 
long diag_size_
 
CNCSparseRowColumnrow_
 
CNCSparseRowColumncolumn_
 
doublediag_
 
Storage storage_
 
bool rows_are_stored_
 
bool columns_are_stored_
 
bool symmetric_storage_
 
bool symmetric_tag_
 

Description détaillée

Définition à la ligne 124 du fichier AlephCudaMatrix.h.

Documentation des énumérations membres

◆ Storage

enum Arcane::CNC_Matrix::Storage

Définition à la ligne 127 du fichier AlephCudaMatrix.h.

Documentation des constructeurs et destructeur

◆ CNC_Matrix() [1/4]

Arcane::CNC_Matrix::CNC_Matrix ( long  m,
long  n,
Storage  storage = ROWS 
)

Constructs a m*n sparse matrix.

Paramètres
Storagecan be one of ROWS, COLUMNS, ROWS_AND_COLUMNS

Définition à la ligne 51 du fichier AlephCudaMatrix.cc.

◆ CNC_Matrix() [2/4]

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.

◆ CNC_Matrix() [3/4]

Arcane::CNC_Matrix::CNC_Matrix ( long  n,
Storage  storage,
bool  symmetric_storage 
)

Constructs a square n*n sparse matrix.

Paramètres
Storagecan be one of ROWS, COLUMNS, ROWS_AND_COLUMNS
symmetric_storageif set, only entries a_ij such that j <= i are stored.

Définition à la ligne 58 du fichier AlephCudaMatrix.cc.

◆ CNC_Matrix() [4/4]

Arcane::CNC_Matrix::CNC_Matrix ( )

Définition à la ligne 86 du fichier AlephCudaMatrix.cc.

◆ ~CNC_Matrix()

Arcane::CNC_Matrix::~CNC_Matrix ( )

Définition à la ligne 80 du fichier AlephCudaMatrix.cc.

Documentation des fonctions membres

◆ add()

void Arcane::CNC_Matrix::add ( long  i,
long  j,
double  val 
)

aij <- aij + val

Définition à la ligne 201 du fichier AlephCudaMatrix.cc.

◆ allocate()

void Arcane::CNC_Matrix::allocate ( long  m,
long  n,
Storage  storage,
bool  symmetric = false 
)

Définition à la ligne 289 du fichier AlephCudaMatrix.cc.

◆ clear()

void Arcane::CNC_Matrix::clear ( )

removes all the coefficients and frees the allocated space.

Définition à la ligne 251 du fichier AlephCudaMatrix.cc.

◆ column() [1/2]

CNCSparseRowColumn & Arcane::CNC_Matrix::column ( long  j)

storage should be one of COLUMN, ROWS_AND_COLUMNS

Paramètres
iindex of the column, in the range [0, n-1]

Définition à la ligne 179 du fichier AlephCudaMatrix.cc.

◆ column() [2/2]

const CNCSparseRowColumn & Arcane::CNC_Matrix::column ( long  j) const

storage should be one of COLUMNS, ROWS_AND_COLUMNS

Paramètres
iindex of the column, in the range [0, n-1]

Définition à la ligne 187 du fichier AlephCudaMatrix.cc.

◆ columns_are_stored()

bool Arcane::CNC_Matrix::columns_are_stored ( ) const

Définition à la ligne 131 du fichier AlephCudaMatrix.cc.

◆ deallocate()

void Arcane::CNC_Matrix::deallocate ( )

Définition à la ligne 269 du fichier AlephCudaMatrix.cc.

◆ diag()

double Arcane::CNC_Matrix::diag ( long  i) const

returns aii.

Définition à la ligne 194 du fichier AlephCudaMatrix.cc.

◆ diag_size()

long Arcane::CNC_Matrix::diag_size ( ) const

Définition à la ligne 108 du fichier AlephCudaMatrix.cc.

◆ has_symmetric_storage()

bool Arcane::CNC_Matrix::has_symmetric_storage ( ) const

Définition à la ligne 139 du fichier AlephCudaMatrix.cc.

◆ is_square()

bool Arcane::CNC_Matrix::is_square ( ) const

Définition à la ligne 143 du fichier AlephCudaMatrix.cc.

◆ is_symmetric()

bool Arcane::CNC_Matrix::is_symmetric ( ) const

Définition à la ligne 147 du fichier AlephCudaMatrix.cc.

◆ m()

long Arcane::CNC_Matrix::m ( ) const

Définition à la ligne 104 du fichier AlephCudaMatrix.cc.

◆ n()

long Arcane::CNC_Matrix::n ( ) const

Définition à la ligne 106 du fichier AlephCudaMatrix.cc.

◆ nnz()

long Arcane::CNC_Matrix::nnz ( ) const

number of non-zero coefficients

Définition à la ligne 111 du fichier AlephCudaMatrix.cc.

◆ row() [1/2]

CNCSparseRowColumn & Arcane::CNC_Matrix::row ( long  i)

storage should be one of ROWS, ROWS_AND_COLUMNS

Paramètres
iindex of the row, in the range [0, m-1]

Définition à la ligne 163 du fichier AlephCudaMatrix.cc.

◆ row() [2/2]

const CNCSparseRowColumn & Arcane::CNC_Matrix::row ( long  i) const

storage should be one of ROWS, ROWS_AND_COLUMNS

Paramètres
iindex of the row, in the range [0, m-1]

Définition à la ligne 171 du fichier AlephCudaMatrix.cc.

◆ rows_are_stored()

bool Arcane::CNC_Matrix::rows_are_stored ( ) const

Définition à la ligne 127 du fichier AlephCudaMatrix.cc.

◆ set_symmetric_tag()

void Arcane::CNC_Matrix::set_symmetric_tag ( bool  x)

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.

◆ sort()

void Arcane::CNC_Matrix::sort ( )

sorts rows and columns by increasing coefficients

Définition à la ligne 218 du fichier AlephCudaMatrix.cc.

◆ storage()

CNC_Matrix::Storage Arcane::CNC_Matrix::storage ( ) const

Définition à la ligne 135 du fichier AlephCudaMatrix.cc.

◆ zero()

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.

Documentation des données membres

◆ column_

CNCSparseRowColumn* Arcane::CNC_Matrix::column_
private

Définition à la ligne 227 du fichier AlephCudaMatrix.h.

◆ columns_are_stored_

bool Arcane::CNC_Matrix::columns_are_stored_
private

Définition à la ligne 232 du fichier AlephCudaMatrix.h.

◆ diag_

double* Arcane::CNC_Matrix::diag_
private

Définition à la ligne 228 du fichier AlephCudaMatrix.h.

◆ diag_size_

long Arcane::CNC_Matrix::diag_size_
private

Définition à la ligne 224 du fichier AlephCudaMatrix.h.

◆ m_

long Arcane::CNC_Matrix::m_
private

Définition à la ligne 222 du fichier AlephCudaMatrix.h.

◆ n_

long Arcane::CNC_Matrix::n_
private

Définition à la ligne 223 du fichier AlephCudaMatrix.h.

◆ row_

CNCSparseRowColumn* Arcane::CNC_Matrix::row_
private

Définition à la ligne 226 du fichier AlephCudaMatrix.h.

◆ rows_are_stored_

bool Arcane::CNC_Matrix::rows_are_stored_
private

Définition à la ligne 231 du fichier AlephCudaMatrix.h.

◆ storage_

Storage Arcane::CNC_Matrix::storage_
private

Définition à la ligne 230 du fichier AlephCudaMatrix.h.

◆ symmetric_storage_

bool Arcane::CNC_Matrix::symmetric_storage_
private

Définition à la ligne 233 du fichier AlephCudaMatrix.h.

◆ symmetric_tag_

bool Arcane::CNC_Matrix::symmetric_tag_
private

Définition à la ligne 234 du fichier AlephCudaMatrix.h.


La documentation de cette classe a été générée à partir des fichiers suivants :