TBCI Numerical high perf. C++ Library 2.8.0
CSCMatrix< T > Class Template Reference

exception class: Use MatErr from matrix.h More...

#include <cscmatrix.h>

Inheritance diagram for CSCMatrix< T >:
Collaboration diagram for CSCMatrix< T >:

Public Types

typedef T value_type
typedef T element_type
typedef T aligned_value_type TALIGN(MIN_ALIGN2)

Public Member Functions

 CSCMatrix ()
 constructors
 CSCMatrix (const T &val, const unsigned int rows, const unsigned int columns, const unsigned int nnzeros=1)
 CSCMatrix (const unsigned int rows, const unsigned int columns, const unsigned int nnzeros=1)
 CSCMatrix (const CSCMatrix< T > &m)
 CSCMatrix (const F_Matrix< T > &m, const double tol=0)
 CSCMatrix (const BdMatrix< T > &m, const double tol=0)
 CSCMatrix (const Matrix< T > &m, const double tol=0)
 ~CSCMatrix ()
 operator F_TMatrix< T > () const
 conversion to F_Matrix
unsigned int rows () const
 query matrix dimensions
unsigned int columns () const
unsigned int size () const
CSCMatrix< T > & resize (const unsigned int newRows, const unsigned int newColumns, const unsigned int nnzeros=1)
 change matrix dimensions
CSCMatrix< T > & clear ()
 set all elements defined to zero
CSCMatrix< T > & fill (const T &)
 set all defined element to a val
CSCMatrix< T > & setunit (const T &=(T) 1)
 set CSCMatrix to val times the unit matrix
tbci_traits< T >::const_refval_type operator() (unsigned int row, unsigned int column) const HOT
 element access (read)
tbci_traits< T >::const_refval_type get (unsigned int row, unsigned int column) const HOT
 element access (read)
CSCMatrix< T > & setval (const T &z, unsigned int row, unsigned int column)
 element access (write)
Tsetval (unsigned int row, unsigned int column)
 element access (write)
Toperator() (unsigned int row, unsigned int column)
TdataPointer ()
unsigned int * columnPointer ()
unsigned int * rowIndexPointer ()
bool operator== (const CSCMatrix< T > &m) const
 matrix-matrix assignment and comparison
bool operator!= (const CSCMatrix< T > &m) const
CSCMatrix< T > & operator= (const CSCMatrix< T > &m)
template<typename MatType>
CSCMatrix< T > & do_import (const MatType &M)
 Import operation, automatic conversion to sparse matrix.
template<typename MatType>
void do_export (MatType &M)
 Export operation.
CSCMatrix< Toperator- () const
 matrix negation
CSCMatrix< Toperator+ (const CSCMatrix< T > &) const
 Addition.
CSCMatrix< Toperator- (const CSCMatrix< T > &) const
F_TMatrix< Toperator* (const CSCMatrix< T > &) const
 CSCMatrix * CSCMatrix.
F_TMatrix< Tmultf (const F_Matrix< T > &) const
 matrix-matrix multiplication
F_TMatrix< Tmult (const F_Matrix< T > &) const
 Calculate *this * m1 (dumb version).
F_TMatrix< Tmult1 (const F_Matrix< T > &) const
 Calculate *this * m1 (smart version).
TVector< Toperator* (const Vector< T > &v) const HOT
 matrix - vector multiplication
TVector< Toperator* (const TVector< T > &tv) const HOT
TVector< Toperator* (TSVector< T > &tsv) const HOT
TVector< Tcscm_vec_mul_exact (const Vector< T > &V) const
void MatVecMult (Vector< T > &res, const Vector< T > &v) const HOT
 for friend void MatVecMult FGD (Vector<T>& res, const CSCMatrix<T>& m, const Vector<T>& v);
void MatVecMult (T *v, T *res) HOT
TVector< TtransMult (const Vector< T > &v) const HOT
 transpose-vector multiplication
TVector< TtransMult (const TVector< T > &tv) const HOT
TVector< TtransMult (const TSVector< T > &tsv) const HOT
CSCMatrix< Toperator* (const T &z) const
CSCMatrix< Tmult (const T &) const
 for friend CSCMatrix<T> operator* FGD (const T& z, const CSCMatrix<T>& m);
CSCMatrix< T > & operator*= (const T &z)
CSCMatrix< Toperator/ (const T &z) const
CSCMatrix< T > & operator/= (const T &z)
CSCMatrix< T > & swap (CSCMatrix< T > &)
CSCMatrix< Ttransposed_copy () const
 Inefficient! Use transMult if possible.
CSCMatrix< T > & transpose ()
Public Member Functions inherited from Matrix_Sig< T >
 Matrix_Sig ()
 ~Matrix_Sig ()
tbci_traits< T >::const_refval_type operator() (const unsigned, const unsigned) const
 ro access
Toperator() (const unsigned, const unsigned)
 rw access
Matrix_Sig< T > & fill (const T &)
Matrix_Sig< T > & setunit (const T &=(T) 1)
Matrix_Sig< T > & clear ()
TVector< Toperator* (const Vector_Sig< T > &) const
TVector< TtransMult (const Vector_Sig< T > &) const
unsigned int rows () const
unsigned int columns () const

Static Public Member Functions

static const char * mat_info ()
 allow instantiation (Matrix_Sig)
Static Public Member Functions inherited from Matrix_Sig< T >
static const char * mat_info ()

Protected Member Functions

void allocate (unsigned int rows, unsigned int columns, unsigned int nnzeros=1)
void destroy ()
void copy (const CSCMatrix< T > &m)
void insert (const unsigned int column, const unsigned int pos)
template<typename MatType>
void fill (const MatType &M, const double tol=0.0)
 Import operation, automatic conversion to sparse matrix.

Protected Attributes

unsigned int n_rows
 Storage format: pcol holds the offsets of each column; the length of the column c is pcol[c+1]-pcol[c].
unsigned int n_cols
unsigned int n_size
unsigned int n_max_size
unsigned int * pcol
unsigned int * irow
Tcomp
T dummy

Friends

class F_TSMatrix< T >
STD__ ostream & operator<<FGDT (STD__ ostream &stream, const CSCMatrix< T > &m)
 Output operations.

Detailed Description

template<typename T>
class CSCMatrix< T >

exception class: Use MatErr from matrix.h

C++ class for sparse matrices; using compressed column storage, SuperLU compatible (NO FORTRAN NEEDED!!) Performs very well.

Alternative: BdMatrix.

Definition at line 65 of file cscmatrix.h.

Member Typedef Documentation

◆ element_type

template<typename T>
typedef T CSCMatrix< T >::element_type

Definition at line 71 of file cscmatrix.h.

◆ TALIGN

template<typename T>
typedef T aligned_value_type CSCMatrix< T >::TALIGN(MIN_ALIGN2)

Definition at line 72 of file cscmatrix.h.

◆ value_type

template<typename T>
typedef T CSCMatrix< T >::value_type

Definition at line 70 of file cscmatrix.h.

Constructor & Destructor Documentation

◆ CSCMatrix() [1/7]

◆ CSCMatrix() [2/7]

template<typename T>
CSCMatrix< T >::CSCMatrix ( const T & val,
const unsigned int rows,
const unsigned int columns,
const unsigned int nnzeros = 1 )
inline

Definition at line 76 of file cscmatrix.h.

References allocate(), columns(), fill(), rows(), and T.

◆ CSCMatrix() [3/7]

template<typename T>
CSCMatrix< T >::CSCMatrix ( const unsigned int rows,
const unsigned int columns,
const unsigned int nnzeros = 1 )
inline

Definition at line 80 of file cscmatrix.h.

References allocate(), columns(), and rows().

◆ CSCMatrix() [4/7]

template<typename T>
CSCMatrix< T >::CSCMatrix ( const CSCMatrix< T > & m)
inline

Definition at line 83 of file cscmatrix.h.

References copy(), and CSCMatrix().

◆ CSCMatrix() [5/7]

template<typename T>
CSCMatrix< T >::CSCMatrix ( const F_Matrix< T > & m,
const double tol = 0 )
inline

Definition at line 85 of file cscmatrix.h.

References allocate(), F_Matrix< T >::columns(), fill(), and F_Matrix< T >::rows().

◆ CSCMatrix() [6/7]

template<typename T>
CSCMatrix< T >::CSCMatrix ( const BdMatrix< T > & m,
const double tol = 0 )
inline

Definition at line 87 of file cscmatrix.h.

References allocate(), BdMatrix< T >::columns(), fill(), and BdMatrix< T >::rows().

◆ CSCMatrix() [7/7]

template<typename T>
CSCMatrix< T >::CSCMatrix ( const Matrix< T > & m,
const double tol = 0 )
inline

Definition at line 89 of file cscmatrix.h.

References allocate(), TMatrix< T >::columns(), fill(), and TMatrix< T >::rows().

◆ ~CSCMatrix()

template<typename T>
CSCMatrix< T >::~CSCMatrix ( )
inline

Definition at line 91 of file cscmatrix.h.

References destroy().

Member Function Documentation

◆ allocate()

template<typename T>
void CSCMatrix< T >::allocate ( unsigned int rows,
unsigned int columns,
unsigned int nnzeros = 1 )
protected

◆ clear()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::clear ( )
inline

set all elements defined to zero

Definition at line 1012 of file cscmatrix.h.

References comp, CSCMatrix(), CSTD__, n_size, and T.

◆ columnPointer()

template<typename T>
unsigned int * CSCMatrix< T >::columnPointer ( )
inline

Definition at line 130 of file cscmatrix.h.

References pcol.

Referenced by lu_solve().

◆ columns()

template<typename T>
unsigned int CSCMatrix< T >::columns ( ) const
inline

◆ copy()

template<typename T>
void CSCMatrix< T >::copy ( const CSCMatrix< T > & m)
protected

Definition at line 973 of file cscmatrix.h.

References BCHKNR, comp, CSCMatrix(), i, irow, n_cols, n_max_size, n_rows, n_size, NULL, pcol, and T.

Referenced by CSCMatrix(), and operator=().

◆ cscm_vec_mul_exact()

template<typename T>
TVector< T > CSCMatrix< T >::cscm_vec_mul_exact ( const Vector< T > & V) const

Definition at line 733 of file cscmatrix.h.

References BCHK, comp, i, irow, n_cols, n_rows, pcol, REGISTER, res, F_TSMatrix< T >::row, TVector< T >::setval(), TVector< T >::size(), T, and y.

Referenced by operator*().

◆ dataPointer()

template<typename T>
T * CSCMatrix< T >::dataPointer ( )
inline

Definition at line 129 of file cscmatrix.h.

References comp, and T.

Referenced by lu_solve().

◆ destroy()

template<typename T>
void CSCMatrix< T >::destroy ( )
protected

Definition at line 956 of file cscmatrix.h.

References comp, irow, n_max_size, n_size, NULL, and pcol.

Referenced by do_import(), and ~CSCMatrix().

◆ do_export()

template<typename T>
template<typename MatType>
void CSCMatrix< T >::do_export ( MatType & M)
inline

Export operation.

Definition at line 152 of file cscmatrix.h.

References comp, do_export(), i, irow, n_cols, and pcol.

Referenced by do_export().

◆ do_import()

template<typename T>
template<typename MatType>
CSCMatrix< T > & CSCMatrix< T >::do_import ( const MatType & M)
inline

Import operation, automatic conversion to sparse matrix.

Definition at line 142 of file cscmatrix.h.

References allocate(), CSCMatrix(), destroy(), do_import(), and fill().

Referenced by do_import().

◆ fill() [1/2]

template<typename T>
template<typename MatType>
void CSCMatrix< T >::fill ( const MatType & M,
const double tol = 0.0 )
inlineprotected

Import operation, automatic conversion to sparse matrix.

Definition at line 229 of file cscmatrix.h.

References fabs(), fill(), i, MATH__, n_cols, n_rows, resize(), setval(), and STD__.

◆ fill() [2/2]

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::fill ( const T & val)
inline

set all defined element to a val

Definition at line 998 of file cscmatrix.h.

References c, Matrix_Sig< T >::clear(), Matrix_Sig< T >::columns(), CSCMatrix(), Matrix_Sig< T >::rows(), and T.

Referenced by CSCMatrix(), CSCMatrix(), CSCMatrix(), CSCMatrix(), do_import(), and fill().

◆ get()

template<typename T>
tbci_traits< T >::const_refval_type CSCMatrix< T >::get ( unsigned int row,
unsigned int column ) const
inline

element access (read)

Definition at line 455 of file cscmatrix.h.

References F_TSMatrix< T >::col, comp, dummy, irow, pcol, REGISTER, F_TSMatrix< T >::row, and T.

◆ insert()

template<typename T>
void CSCMatrix< T >::insert ( const unsigned int column,
const unsigned int pos )
protected

Definition at line 591 of file cscmatrix.h.

References BCHKNR, comp, i, irow, n_cols, n_max_size, n_size, NULL, pcol, T, and UNLIKELY.

Referenced by setval().

◆ mat_info()

template<typename T>
const char * CSCMatrix< T >::mat_info ( )
inlinestatic

allow instantiation (Matrix_Sig)

Definition at line 97 of file cscmatrix.h.

◆ MatVecMult() [1/2]

template<typename T>
void CSCMatrix< T >::MatVecMult ( T * v,
T * res )

Definition at line 809 of file cscmatrix.h.

References comp, i, irow, n_cols, pcol, res, STD__, and T.

◆ MatVecMult() [2/2]

template<typename T>
void CSCMatrix< T >::MatVecMult ( Vector< T > & res,
const Vector< T > & v ) const

for friend void MatVecMult FGD (Vector<T>& res, const CSCMatrix<T>& m, const Vector<T>& v);

Definition at line 791 of file cscmatrix.h.

References BCHKNR, comp, i, irow, n_cols, pcol, res, TVector< T >::size(), and T.

Referenced by MatVecMult().

◆ mult() [1/2]

template<typename T>
F_TMatrix< T > CSCMatrix< T >::mult ( const F_Matrix< T > & m1) const

Calculate *this * m1 (dumb version).

Definition at line 301 of file cscmatrix.h.

References BCHK, columns(), F_Matrix< T >::columns(), Matrix_Sig< T >::columns(), do_exactsum2(), i, mult(), REGISTER, res, F_Matrix< T >::rows(), Matrix_Sig< T >::rows(), T, x, and y.

Referenced by mult(), mult1(), operator*(), and operator*().

◆ mult() [2/2]

template<typename T>
CSCMatrix< T > CSCMatrix< T >::mult ( const T & z) const

for friend CSCMatrix<T> operator* FGD (const T& z, const CSCMatrix<T>& m);

Definition at line 882 of file cscmatrix.h.

References comp, CSCMatrix(), i, n_size, res, and T.

◆ mult1()

template<typename T>
F_TMatrix< T > CSCMatrix< T >::mult1 ( const F_Matrix< T > & m1) const

Calculate *this * m1 (smart version).

Definition at line 332 of file cscmatrix.h.

References BCHK, c, columns(), F_Matrix< T >::columns(), Matrix_Sig< T >::columns(), comp, irow, mult(), pcol, res, F_Matrix< T >::rows(), Matrix_Sig< T >::rows(), and T.

Referenced by operator*().

◆ multf()

template<typename T>
F_TMatrix< T > CSCMatrix< T >::multf ( const F_Matrix< T > & m1) const

matrix-matrix multiplication

Calculate m1 * *this.

Definition at line 265 of file cscmatrix.h.

References BCHK, columns(), F_Matrix< T >::columns(), Matrix_Sig< T >::columns(), comp, do_exactsum2(), i, irow, multf(), pcol, REGISTER, res, F_Matrix< T >::rows(), Matrix_Sig< T >::rows(), T, x, and y.

Referenced by multf(), and operator*().

◆ operator F_TMatrix< T >()

template<typename T>
CSCMatrix< T >::operator F_TMatrix< T > ( ) const

conversion to F_Matrix

Definition at line 549 of file cscmatrix.h.

References c, Matrix_Sig< T >::columns(), comp, CSCMatrix(), irow, pcol, res, Matrix_Sig< T >::rows(), and T.

◆ operator!=()

template<typename T>
bool CSCMatrix< T >::operator!= ( const CSCMatrix< T > & m) const
inline

Definition at line 135 of file cscmatrix.h.

References CSCMatrix(), and operator==().

◆ operator()() [1/2]

template<typename T>
T & CSCMatrix< T >::operator() ( unsigned int row,
unsigned int column )
inline

Definition at line 127 of file cscmatrix.h.

References setval(), and T.

◆ operator()() [2/2]

template<typename T>
tbci_traits< T >::const_refval_type CSCMatrix< T >::operator() ( unsigned int row,
unsigned int column ) const

element access (read)

References CSCMatrix(), HOT, and T.

◆ operator*() [1/5]

template<typename T>
F_TMatrix< T > CSCMatrix< T >::operator* ( const CSCMatrix< T > & m1) const

◆ operator*() [2/5]

template<typename T>
CSCMatrix< T > CSCMatrix< T >::operator* ( const T & z) const

Definition at line 871 of file cscmatrix.h.

References comp, CSCMatrix(), i, n_size, res, and T.

◆ operator*() [3/5]

template<typename T>
TVector< T > CSCMatrix< T >::operator* ( const TVector< T > & tv) const
inline

Definition at line 767 of file cscmatrix.h.

◆ operator*() [4/5]

template<typename T>
TVector< T > CSCMatrix< T >::operator* ( const Vector< T > & v) const

matrix - vector multiplication

Definition at line 752 of file cscmatrix.h.

References BCHK, comp, cscm_vec_mul_exact(), do_exactsum2(), i, irow, n_cols, n_rows, pcol, res, and TVector< T >::size().

◆ operator*() [5/5]

template<typename T>
TVector< T > CSCMatrix< T >::operator* ( TSVector< T > & tsv) const
inline

◆ operator*=()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::operator*= ( const T & z)

Definition at line 898 of file cscmatrix.h.

References comp, CSCMatrix(), i, n_size, and T.

◆ operator+()

template<typename T>
CSCMatrix< T > CSCMatrix< T >::operator+ ( const CSCMatrix< T > & m1) const

Addition.

  • and -

Definition at line 385 of file cscmatrix.h.

References BCHK, c, columns(), Matrix_Sig< T >::columns(), comp, CSCMatrix(), irow, pcol, res, rows(), Matrix_Sig< T >::rows(), and size().

◆ operator-() [1/2]

template<typename T>
CSCMatrix< T > CSCMatrix< T >::operator- ( ) const

matrix negation

Definition at line 699 of file cscmatrix.h.

References comp, CSCMatrix(), i, n_cols, n_rows, n_size, and res.

◆ operator-() [2/2]

template<typename T>
CSCMatrix< T > CSCMatrix< T >::operator- ( const CSCMatrix< T > & m1) const

◆ operator/()

template<typename T>
CSCMatrix< T > CSCMatrix< T >::operator/ ( const T & z) const

Definition at line 907 of file cscmatrix.h.

References comp, CSCMatrix(), i, n_size, res, and T.

◆ operator/=()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::operator/= ( const T & z)

Definition at line 918 of file cscmatrix.h.

References comp, CSCMatrix(), i, n_size, and T.

◆ operator=()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::operator= ( const CSCMatrix< T > & m)

Definition at line 672 of file cscmatrix.h.

References copy(), CSCMatrix(), and F_TSMatrix< T >::destroy().

◆ operator==()

template<typename T>
bool CSCMatrix< T >::operator== ( const CSCMatrix< T > & m) const

matrix-matrix assignment and comparison

Definition at line 683 of file cscmatrix.h.

References CSCMatrix(), i, n_cols, and n_rows.

Referenced by operator!=().

◆ resize()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::resize ( const unsigned int newRows,
const unsigned int newColumns,
const unsigned int nnzeros = 1 )

change matrix dimensions

Definition at line 561 of file cscmatrix.h.

References allocate(), comp, CSCMatrix(), F_TSMatrix< T >::destroy(), i, irow, MIN, n_cols, n_max_size, n_rows, T, and UNLIKELY.

Referenced by fill().

◆ rowIndexPointer()

template<typename T>
unsigned int * CSCMatrix< T >::rowIndexPointer ( )
inline

Definition at line 131 of file cscmatrix.h.

References irow.

Referenced by lu_solve().

◆ rows()

template<typename T>
unsigned int CSCMatrix< T >::rows ( ) const
inline

query matrix dimensions

Definition at line 101 of file cscmatrix.h.

References n_rows.

Referenced by allocate(), CSCMatrix(), CSCMatrix(), F_Matrix< T >::F_Matrix(), lu_solve(), operator*(), operator+(), operator-(), and operator<<().

◆ setunit()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::setunit ( const T & val = (T)1)

set CSCMatrix to val times the unit matrix

Definition at line 1016 of file cscmatrix.h.

References BCHK, Matrix_Sig< T >::clear(), CSCMatrix(), i, n_cols, n_rows, setunit(), setval(), and T.

Referenced by setunit().

◆ setval() [1/2]

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::setval ( const T & z,
unsigned int row,
unsigned int column )

element access (write)

Definition at line 640 of file cscmatrix.h.

References CSCMatrix(), F_TSMatrix< T >::row, setval(), and T.

Referenced by fill(), operator()(), setunit(), and setval().

◆ setval() [2/2]

template<typename T>
T & CSCMatrix< T >::setval ( unsigned int row,
unsigned int column )

element access (write)

Definition at line 648 of file cscmatrix.h.

References F_TSMatrix< T >::col, comp, EXPCHKNR, index, insert(), irow, n_cols, n_rows, pcol, F_TSMatrix< T >::row, and T.

◆ size()

template<typename T>
unsigned int CSCMatrix< T >::size ( ) const
inline

Definition at line 103 of file cscmatrix.h.

References n_size.

Referenced by lu_solve(), operator+(), and operator-().

◆ swap()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::swap ( CSCMatrix< T > & m)

Definition at line 1027 of file cscmatrix.h.

References comp, CSCMatrix(), irow, n_cols, n_max_size, n_rows, n_size, and pcol.

Referenced by transpose().

◆ transMult() [1/3]

template<typename T>
TVector< T > CSCMatrix< T >::transMult ( const TSVector< T > & tsv) const

Definition at line 862 of file cscmatrix.h.

References Matrix_Sig< T >::transMult().

◆ transMult() [2/3]

template<typename T>
TVector< T > CSCMatrix< T >::transMult ( const TVector< T > & tv) const

Definition at line 854 of file cscmatrix.h.

References Matrix_Sig< T >::transMult().

◆ transMult() [3/3]

template<typename T>
TVector< T > CSCMatrix< T >::transMult ( const Vector< T > & v) const

transpose-vector multiplication

Definition at line 826 of file cscmatrix.h.

References BCHK, comp, do_exactsum2(), i, irow, n_cols, n_rows, pcol, REGISTER, res, TVector< T >::size(), T, and y.

◆ transpose()

template<typename T>
CSCMatrix< T > & CSCMatrix< T >::transpose ( )
inline

Definition at line 1047 of file cscmatrix.h.

References CSCMatrix(), swap(), and transposed_copy().

◆ transposed_copy()

template<typename T>
CSCMatrix< T > CSCMatrix< T >::transposed_copy ( ) const

Inefficient! Use transMult if possible.

Definition at line 1037 of file cscmatrix.h.

References c, Matrix_Sig< T >::columns(), CSCMatrix(), and Matrix_Sig< T >::rows().

Referenced by transpose(), and transpose().

◆ F_TSMatrix< T >

template<typename T>
friend class F_TSMatrix< T >
friend

Definition at line 41 of file cscmatrix.h.

◆ operator<<FGDT

template<typename T>
STD__ ostream & operator<<FGDT ( STD__ ostream & stream,
const CSCMatrix< T > & m )
friend

Output operations.

References CSCMatrix(), and STD__.

Member Data Documentation

◆ comp

◆ dummy

template<typename T>
T CSCMatrix< T >::dummy
mutableprotected

Definition at line 219 of file cscmatrix.h.

Referenced by get().

◆ irow

◆ n_cols

template<typename T>
unsigned int CSCMatrix< T >::n_cols
protected

◆ n_max_size

template<typename T>
unsigned int CSCMatrix< T >::n_max_size
protected

Definition at line 215 of file cscmatrix.h.

Referenced by allocate(), copy(), destroy(), insert(), resize(), and swap().

◆ n_rows

template<typename T>
unsigned int CSCMatrix< T >::n_rows
protected

Storage format: pcol holds the offsets of each column; the length of the column c is pcol[c+1]-pcol[c].

The elements located at comp[i] with pos[c] <= i < pos[c+1] are representing the matrix elements m(irow[i], c)

Definition at line 215 of file cscmatrix.h.

Referenced by allocate(), copy(), cscm_vec_mul_exact(), fill(), operator*(), operator*(), operator-(), operator==(), resize(), rows(), setunit(), setval(), swap(), and transMult().

◆ n_size

template<typename T>
unsigned int CSCMatrix< T >::n_size
protected

◆ pcol


The documentation for this class was generated from the following file: