Public Types | Public Member Functions | Protected Attributes | List of all members
Seldon::Matrix< T, Prop, ColSparse, Allocator > Class Template Reference

Column-major sparse-matrix class. More...

#include <Matrix_Sparse.hxx>

Inheritance diagram for Seldon::Matrix< T, Prop, ColSparse, Allocator >:
Seldon::Matrix_Sparse< T, Prop, ColSparse, Allocator > Seldon::Matrix_Base< T, Allocator > Seldon::VirtualMatrix< T >

Public Types

typedef Allocator::value_type value_type
 
typedef Prop property
 
typedef ColSparse storage
 
typedef Allocator allocator
 
typedef Allocator::pointer pointer
 
typedef Allocator::const_pointer const_pointer
 
typedef Allocator::reference reference
 
typedef Allocator::const_reference const_reference
 
typedef SeldonDefaultAllocator< VectFull, int >::allocator AllocatorInt
 
typedef SeldonDefaultAllocator< VectFull, long >::allocator AllocatorLong
 
typedef value_type entry_type
 
typedef value_type access_type
 
typedef value_type const_access_type
 

Public Member Functions

 Matrix ()
 Default constructor. More...
 
 Matrix (int i, int j)
 Constructor. More...
 
 Matrix (int i, int j, long nz)
 Constructor. More...
 
template<class Storage0 , class Allocator0 , class Storage1 , class Allocator1 , class Storage2 , class Allocator2 >
 Matrix (int i, int j, Vector< T, Storage0, Allocator0 > &values, Vector< long, Storage1, Allocator1 > &ptr, Vector< int, Storage2, Allocator2 > &ind)
 Constructor. More...
 
void Clear ()
 Clears the matrix. More...
 
void SetData (int i, int j, Vector< T, Storage0, Allocator0 > &values, Vector< long, Storage1, Allocator1 > &ptr, Vector< int, Storage2, Allocator2 > &ind)
 Redefines the matrix. More...
 
void SetData (int i, int j, long nz, pointer values, long *ptr, int *ind)
 
void SetData (int i, int j, long nz, typename Matrix_Sparse< T, Prop, ColSparse, Allocator > ::pointer values, long *ptr, int *ind)
 Redefines the matrix. More...
 
void Nullify ()
 Clears the matrix without releasing memory. More...
 
void Reallocate (int i, int j)
 Initialization of an empty sparse matrix with i rows and j columns. More...
 
void Reallocate (int i, int j, long nz)
 Initialization of a sparse matrix with i rows and j columns. More...
 
void Resize (int i, int j)
 Reallocates memory to resize the matrix and keeps previous entries. More...
 
void Resize (int i, int j, long nz)
 Reallocates memory to resize the matrix and keeps previous entries. More...
 
void Copy (const Matrix_Sparse< T, Prop, ColSparse, Allocator > &A)
 Copies a matrix.
 
long GetNonZeros () const
 Returns the number of non-zero elements. More...
 
long GetDataSize () const
 Returns the number of elements stored in memory. More...
 
size_t GetMemorySize () const
 returns size of A in bytes used to store the matrix
 
long * GetPtr () const
 Returns (row or column) start indices. More...
 
int * GetInd () const
 Returns (row or column) indices of non-zero entries. More...
 
int GetPtrSize () const
 Returns the length of the array of start indices. More...
 
long GetIndSize () const
 Returns the length of the array of (column or row) indices. More...
 
void FillPtrInt (Vector< int > &) const
 Fills vector ptr with integers instead of longs.
 
const value_type operator() (int i, int j) const
 Access operator. More...
 
value_type & Val (int i, int j)
 Access method. More...
 
const value_type & Val (int i, int j) const
 Access method. More...
 
value_type & Get (int i, int j)
 Access method. More...
 
const value_type & Get (int i, int j) const
 Access method. More...
 
void AddInteraction (int i, int j, const T &val)
 Add a value to a non-zero entry. More...
 
void AddInteractionRow (int i, int nb, const Vector< int > &col, const Vector< T > &val, bool sorted=false)
 Adds values to several non-zero entries on a given row.
 
void Set (int i, int j, const T &x)
 Sets an element (i, j) to a value. More...
 
void SetEntry (int i, int j, const T &x)
 Sets an element (i, j) to a value. More...
 
void Zero ()
 Resets all non-zero entries to 0-value. More...
 
void SetIdentity ()
 Sets the matrix to identity. More...
 
void Fill ()
 Fills the non-zero entries with 0, 1, 2, ... More...
 
void Fill (const T0 &x)
 Fills the non-zero entries with a given value. More...
 
void FillRand ()
 Fills the non-zero entries randomly. More...
 
void FillRand (long Nelement)
 Fills the matrix with random elements. More...
 
void FillRand (long Nelement, const T &x)
 Fills the matrix with one value inserted at random positions. More...
 
void Print () const
 Displays the matrix on the standard output. More...
 
void Write (string FileName) const
 Writes the matrix in a file. More...
 
void Write (ostream &FileStream) const
 Writes the matrix to an output stream. More...
 
void WriteText (string FileName, bool cplx=false) const
 Writes the matrix in a file. More...
 
void WriteText (ostream &FileStream, bool cplx=false) const
 Writes the matrix to an output stream. More...
 
void Read (string FileName)
 Reads the matrix from a file. More...
 
void Read (istream &FileStream)
 Reads the matrix from an input stream. More...
 
void ReadText (string FileName, bool cplx=false)
 Reads the matrix from a file. More...
 
void ReadText (istream &FileStream, bool cplx=false)
 Reads the matrix from an input stream. More...
 
pointer GetData () const
 Returns a pointer to the data array. More...
 
const_pointer GetDataConst () const
 Returns a const pointer to the data array. More...
 
void * GetDataVoid () const
 Returns a pointer of type "void*" to the data array. More...
 
const void * GetDataConstVoid () const
 Returns a pointer of type "const void*" to the data array. More...
 
int GetM () const
 Returns the number of rows. More...
 
int GetM (const Seldon::SeldonTranspose &status) const
 Returns the number of rows of the matrix possibly transposed. More...
 
int GetM (const CBLAS_TRANSPOSE &status) const
 Returns the number of rows of the matrix possibly transposed. More...
 
int GetN () const
 Returns the number of columns. More...
 
int GetN (const Seldon::SeldonTranspose &status) const
 Returns the number of columns of the matrix possibly transposed. More...
 
int GetN (const CBLAS_TRANSPOSE &status) const
 Returns the number of columns of the matrix possibly transposed. More...
 
long GetSize () const
 Returns the number of elements in the matrix. More...
 

Protected Attributes

long nz_
 
long * ptr_
 
int * ind_
 
pointer data_
 
int m_
 
int n_
 

Detailed Description

template<class T, class Prop, class Allocator>
class Seldon::Matrix< T, Prop, ColSparse, Allocator >

Column-major sparse-matrix class.

Definition at line 197 of file Matrix_Sparse.hxx.

Constructor & Destructor Documentation

◆ Matrix() [1/4]

template<class T , class Prop , class Allocator >
Seldon::Matrix< T, Prop, ColSparse, Allocator >::Matrix
inline

Default constructor.

Builds an empty 0x0 matrix.

Definition at line 402 of file Matrix_SparseInline.cxx.

◆ Matrix() [2/4]

template<class T , class Prop , class Allocator >
Seldon::Matrix< T, Prop, ColSparse, Allocator >::Matrix ( int  i,
int  j 
)
inlineexplicit

Constructor.

Builds a i by j matrix.

Parameters
inumber of rows.
jnumber of columns.

Definition at line 414 of file Matrix_SparseInline.cxx.

◆ Matrix() [3/4]

template<class T , class Prop , class Allocator >
Seldon::Matrix< T, Prop, ColSparse, Allocator >::Matrix ( int  i,
int  j,
long  nz 
)
inlineexplicit

Constructor.

Builds a i by j matrix with nz non-zero elements.

Parameters
inumber of rows.
jnumber of columns.
nznumber of non-zero elements.
Note
Matrix values are not initialized.

Definition at line 428 of file Matrix_SparseInline.cxx.

◆ Matrix() [4/4]

template<class T , class Prop , class Allocator >
template<class Storage0 , class Allocator0 , class Storage1 , class Allocator1 , class Storage2 , class Allocator2 >
Seldon::Matrix< T, Prop, ColSparse, Allocator >::Matrix ( int  i,
int  j,
Vector< T, Storage0, Allocator0 > &  values,
Vector< long, Storage1, Allocator1 > &  ptr,
Vector< int, Storage2, Allocator2 > &  ind 
)
inline

Constructor.

Builds a i by j sparse matrix with non-zero values and indices provided by 'values' (values), 'ptr' (pointers) and 'ind' (indices). Input vectors are released and are empty on exit.

Parameters
inumber of rows.
jnumber of columns.
valuesvalues of non-zero entries.
ptrrow start indices.
indcolumn indices.
Warning
Input vectors 'values', 'ptr' and 'ind' are empty on exit.

Definition at line 451 of file Matrix_SparseInline.cxx.

Member Function Documentation

◆ AddInteraction()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::AddInteraction ( int  i,
int  j,
const T &  val 
)
inlineinherited

Add a value to a non-zero entry.

This function adds val to the element (i, j), provided that this element is already a non-zero entry. Otherwise a non-zero entry is inserted equal to val.

Parameters
[in]irow index.
[in]jcolumn index.
[in]valvalue to be added to the element (i, j).

Definition at line 222 of file Matrix_SparseInline.cxx.

◆ Clear()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Clear
inherited

Clears the matrix.

This methods is equivalent to the destructor. On exit, the matrix is empty (0x0).

Definition at line 159 of file Matrix_Sparse.cxx.

◆ Fill() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Fill
inherited

Fills the non-zero entries with 0, 1, 2, ...

On exit, the non-zero entries are 0, 1, 2, 3, ... The order of the numbers depends on the storage.

Definition at line 1196 of file Matrix_Sparse.cxx.

◆ Fill() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Fill ( const T0 &  x)
inherited

Fills the non-zero entries with a given value.

Parameters
xthe value to set the non-zero entries to.

Definition at line 1209 of file Matrix_Sparse.cxx.

◆ FillRand() [1/3]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::FillRand
inherited

Fills the non-zero entries randomly.

Note
The random generator is very basic.

Definition at line 1223 of file Matrix_Sparse.cxx.

◆ FillRand() [2/3]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::FillRand ( long  Nelement)
inherited

Fills the matrix with random elements.

The matrix is cleared and then filled with n random elements. Both the position of the elements and their values are randomly generated. On exit, the matrix may not have n non-zero elements: it is possible that the randomly-generated positions of two elements are the same.

Parameters
[in]Nelementthe number of random elements to be inserted in the matrix.
Note
The random generator is very basic.

Definition at line 1244 of file Matrix_Sparse.cxx.

◆ FillRand() [3/3]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::FillRand ( long  Nelement,
const T &  x 
)
inherited

Fills the matrix with one value inserted at random positions.

The matrix is cleared and then filled with n random elements. Only the position of the elements is randomly generated. Their value will always be x. On exit, the matrix may not have n non-zero elements: it is possible that the randomly-generated positions of two elements are the same.

Parameters
[in]Nelementthe number of random elements to be inserted in the matrix.
[in]xthe value to be inserted.
Note
The random generator is very basic.

Definition at line 1293 of file Matrix_Sparse.cxx.

◆ Get() [1/2]

Matrix_Sparse< T, Prop, ColSparse , Allocator >::value_type & Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Get ( int  i,
int  j 
)
inherited

Access method.

Returns reference to element (i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Element (i, j) of the matrix. If the element does not belong to sparsity pattern of the matrix, the matrix is resized.

Definition at line 1088 of file Matrix_Sparse.cxx.

◆ Get() [2/2]

const Matrix_Sparse< T, Prop, ColSparse , Allocator >::value_type & Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Get ( int  i,
int  j 
) const
inlineinherited

Access method.

Returns reference to element (i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Element (i, j) of the matrix.

Definition at line 206 of file Matrix_SparseInline.cxx.

◆ GetData()

template<class T , class Allocator >
Matrix_Base< T, Allocator >::pointer Seldon::Matrix_Base< T, Allocator >::GetData
inlineinherited

Returns a pointer to the data array.

Returns a pointer to data, i.e. the data array 'data_'.

Returns
A pointer to the data array.

Definition at line 241 of file Matrix_BaseInline.cxx.

◆ GetDataConst()

template<class T , class Allocator >
Matrix_Base< T, Allocator >::const_pointer Seldon::Matrix_Base< T, Allocator >::GetDataConst
inlineinherited

Returns a const pointer to the data array.

Returns a const pointer to data, i.e. the data array 'data_'.

Returns
A const pointer to the data array.

Definition at line 254 of file Matrix_BaseInline.cxx.

◆ GetDataConstVoid()

template<class T , class Allocator >
const void * Seldon::Matrix_Base< T, Allocator >::GetDataConstVoid
inlineinherited

Returns a pointer of type "const void*" to the data array.

Returns a pointer of type "const void*" to data, i.e. the data array 'data_'.

Returns
A const pointer of type "void*" to the data array.

Definition at line 280 of file Matrix_BaseInline.cxx.

◆ GetDataSize()

long Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::GetDataSize
inlineinherited

Returns the number of elements stored in memory.

Returns the number of elements stored in memory, i.e. the number of non-zero entries.

Returns
The number of elements stored in memory.

Definition at line 138 of file Matrix_SparseInline.cxx.

◆ GetDataVoid()

template<class T , class Allocator >
void * Seldon::Matrix_Base< T, Allocator >::GetDataVoid
inlineinherited

Returns a pointer of type "void*" to the data array.

Returns a pointer of type "void*" to data, i.e. the data array 'data_'.

Returns
A pointer of type "void*" to the data array.

Definition at line 267 of file Matrix_BaseInline.cxx.

◆ GetInd()

int * Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::GetInd
inlineinherited

Returns (row or column) indices of non-zero entries.

Returns the array ('ind_') of (row or column) indices of non-zero entries. This array defines non-zero entries indices if coupled with (column or row) start indices.

Returns
The array of (row or column) indices of non-zero entries.

Definition at line 165 of file Matrix_SparseInline.cxx.

◆ GetIndSize()

long Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::GetIndSize
inlineinherited

Returns the length of the array of (column or row) indices.

Returns the length of the array ('ind_') of (row or column) indices of non-zero entries. This array defines non-zero entries indices if coupled with (column or row) start indices.

Returns
The length of the array of (column or row) indices.
Note
The length of the array of (column or row) indices is the number of non-zero entries.

Definition at line 192 of file Matrix_SparseInline.cxx.

◆ GetM() [1/3]

template<class T >
int Seldon::VirtualMatrix< T >::GetM
inlineinherited

Returns the number of rows.

Returns
The number of rows.

Definition at line 69 of file Matrix_BaseInline.cxx.

◆ GetM() [2/3]

template<class T >
int Seldon::VirtualMatrix< T >::GetM ( const CBLAS_TRANSPOSE &  status) const
inlineinherited

Returns the number of rows of the matrix possibly transposed.

Parameters
statusassumed status about the transposition of the matrix.
Returns
The number of rows of the possibly-transposed matrix.

Definition at line 122 of file Matrix_BaseInline.cxx.

◆ GetM() [3/3]

template<class T >
int Seldon::VirtualMatrix< T >::GetM ( const Seldon::SeldonTranspose status) const
inlineinherited

Returns the number of rows of the matrix possibly transposed.

Parameters
statusassumed status about the transposition of the matrix.
Returns
The number of rows of the possibly-transposed matrix.

Definition at line 92 of file Matrix_BaseInline.cxx.

◆ GetN() [1/3]

template<class T >
int Seldon::VirtualMatrix< T >::GetN
inlineinherited

Returns the number of columns.

Returns
The number of columns.

Definition at line 80 of file Matrix_BaseInline.cxx.

◆ GetN() [2/3]

template<class T >
int Seldon::VirtualMatrix< T >::GetN ( const CBLAS_TRANSPOSE &  status) const
inlineinherited

Returns the number of columns of the matrix possibly transposed.

Parameters
statusassumed status about the transposition of the matrix.
Returns
The number of columns of the possibly-transposed matrix.

Definition at line 137 of file Matrix_BaseInline.cxx.

◆ GetN() [3/3]

template<class T >
int Seldon::VirtualMatrix< T >::GetN ( const Seldon::SeldonTranspose status) const
inlineinherited

Returns the number of columns of the matrix possibly transposed.

Parameters
statusassumed status about the transposition of the matrix.
Returns
The number of columns of the possibly-transposed matrix.

Definition at line 107 of file Matrix_BaseInline.cxx.

◆ GetNonZeros()

long Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::GetNonZeros
inlineinherited

Returns the number of non-zero elements.

Returns
The number of non-zero elements.

Definition at line 125 of file Matrix_SparseInline.cxx.

◆ GetPtr()

long * Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::GetPtr
inlineinherited

Returns (row or column) start indices.

Returns the array ('ptr_') of start indices.

Returns
The array of start indices.

Definition at line 150 of file Matrix_SparseInline.cxx.

◆ GetPtrSize()

int Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::GetPtrSize
inlineinherited

Returns the length of the array of start indices.

Returns
The length of the array of start indices.

Definition at line 176 of file Matrix_SparseInline.cxx.

◆ GetSize()

template<class T >
long Seldon::VirtualMatrix< T >::GetSize
inlineinherited

Returns the number of elements in the matrix.

Returns the number of elements in the matrix, i.e. the number of rows multiplied by the number of columns.

Returns
The number of elements in the matrix.

Definition at line 153 of file Matrix_BaseInline.cxx.

◆ Nullify()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Nullify
inherited

Clears the matrix without releasing memory.

On exit, the matrix is empty and the memory has not been released. It is useful for low level manipulations on a Matrix instance.

Definition at line 356 of file Matrix_Sparse.cxx.

◆ operator()()

const Matrix_Sparse< T, Prop, ColSparse , Allocator >::value_type Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::operator() ( int  i,
int  j 
) const
inherited

Access operator.

Returns the value of element (i, j).

Parameters
irow index.
jcolumn index.
Returns
Element (i, j) of the matrix.

Definition at line 940 of file Matrix_Sparse.cxx.

◆ Print()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Print
inherited

Displays the matrix on the standard output.

Displays elements on the standard output, in text format. Each row is displayed on a single line and elements of a row are delimited by tabulations.

Definition at line 1326 of file Matrix_Sparse.cxx.

◆ Read() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Read ( istream &  FileStream)
inherited

Reads the matrix from an input stream.

Reads a matrix in binary format from an input stream.

Parameters
FileStreaminput stream

Definition at line 1490 of file Matrix_Sparse.cxx.

◆ Read() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Read ( string  FileName)
inherited

Reads the matrix from a file.

Reads a matrix stored in binary format in a file.

Parameters
FileNameinput file name.

Definition at line 1465 of file Matrix_Sparse.cxx.

◆ ReadText() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::ReadText ( istream &  FileStream,
bool  cplx = false 
)
inherited

Reads the matrix from an input stream.

Reads a matrix from a stream in text format.

Parameters
FileStreaminput stream.

Definition at line 1559 of file Matrix_Sparse.cxx.

◆ ReadText() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::ReadText ( string  FileName,
bool  cplx = false 
)
inherited

Reads the matrix from a file.

Reads the matrix from a file in text format.

Parameters
FileNameinput file name.
cplxif true the real part and imaginary part are given in two separate columns, otherwise the complex values are written (a,b)

Definition at line 1534 of file Matrix_Sparse.cxx.

◆ Reallocate() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Reallocate ( int  i,
int  j 
)
inherited

Initialization of an empty sparse matrix with i rows and j columns.

Parameters
inumber of rows
jnumber of columns

Definition at line 373 of file Matrix_Sparse.cxx.

◆ Reallocate() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Reallocate ( int  i,
int  j,
long  nz 
)
inherited

Initialization of a sparse matrix with i rows and j columns.

Parameters
inumber of rows
jnumber of columns
nznumber of non-zero entries

Definition at line 432 of file Matrix_Sparse.cxx.

◆ Resize() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Resize ( int  i,
int  j 
)
inherited

Reallocates memory to resize the matrix and keeps previous entries.

On exit, the matrix is a i x j matrix.

Parameters
inew number of rows.
jnew number of columns.

Definition at line 596 of file Matrix_Sparse.cxx.

◆ Resize() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Resize ( int  i,
int  j,
long  nz 
)
inherited

Reallocates memory to resize the matrix and keeps previous entries.

On exit, the matrix is a i x j matrix.

Parameters
inew number of rows.
jnew number of columns.
nznumber of non-zero elements.

Definition at line 614 of file Matrix_Sparse.cxx.

◆ Set()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Set ( int  i,
int  j,
const T &  val 
)
inlineinherited

Sets an element (i, j) to a value.

This function sets val to the element (i, j)

Parameters
[in]irow index.
[in]jcolumn index.
[in]valA(i, j) = val

Definition at line 246 of file Matrix_SparseInline.cxx.

◆ SetData() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::SetData ( int  i,
int  j,
long  nz,
typename Matrix_Sparse< T, Prop, ColSparse , Allocator > ::pointer  values,
long *  ptr,
int *  ind 
)
inherited

Redefines the matrix.

It clears the matrix and sets it to a new matrix defined by arrays 'values' (values), 'ptr' (pointers) and 'ind' (indices).

Parameters
inumber of rows.
jnumber of columns.
nznumber of non-zero entries.
valuesvalues of non-zero entries.
ptrrow or column start indices.
indrow or column indices.
Warning
On exit, arrays 'values', 'ptr' and 'ind' are managed by the matrix. For example, it means that the destructor will released those arrays; therefore, the user mustn't release those arrays.

Definition at line 333 of file Matrix_Sparse.cxx.

◆ SetData() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::SetData ( int  i,
int  j,
Vector< T, Storage0, Allocator0 > &  values,
Vector< long, Storage1, Allocator1 > &  ptr,
Vector< int, Storage2, Allocator2 > &  ind 
)
inherited

Redefines the matrix.

It clears the matrix and sets it to a new matrix defined by 'values' (values), 'ptr' (pointers) and 'ind' (indices). Input vectors are released and are empty on exit.

Parameters
inumber of rows.
jnumber of columns.
valuesvalues of non-zero entries.
ptrrow or column start indices.
indrow or column indices.
Warning
Input vectors 'values', 'ptr' and 'ind' are empty on exit.

Definition at line 241 of file Matrix_Sparse.cxx.

◆ SetEntry()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::SetEntry ( int  i,
int  j,
const T &  val 
)
inlineinherited

Sets an element (i, j) to a value.

This function sets val to the element (i, j)

Parameters
[in]irow index.
[in]jcolumn index.
[in]valA(i, j) = val

Definition at line 260 of file Matrix_SparseInline.cxx.

◆ SetIdentity()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::SetIdentity
inherited

Sets the matrix to identity.

This method fills the diagonal of the matrix with ones. It can be applied to non square matrix.

Definition at line 1162 of file Matrix_Sparse.cxx.

◆ Val() [1/2]

Matrix_Sparse< T, Prop, ColSparse , Allocator >::value_type & Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Val ( int  i,
int  j 
)
inherited

Access method.

Returns the value of element (i, j) if it can be returned as a reference.

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Element (i, j) of the matrix.
Exceptions
WrongArgumentNo reference can be returned because the element is a zero entry (not stored in the matrix).

Definition at line 987 of file Matrix_Sparse.cxx.

◆ Val() [2/2]

const Matrix_Sparse< T, Prop, ColSparse , Allocator >::value_type & Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Val ( int  i,
int  j 
) const
inherited

Access method.

Returns the value of element (i, j) if it can be returned as a reference.

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Element (i, j) of the matrix.
Exceptions
WrongArgumentNo reference can be returned because the element is a zero entry (not stored in the matrix).

Definition at line 1038 of file Matrix_Sparse.cxx.

◆ Write() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Write ( ostream &  FileStream) const
inherited

Writes the matrix to an output stream.

Stores the matrix in an output stream in binary format.

Parameters
FileStreamoutput stream.

Definition at line 1369 of file Matrix_Sparse.cxx.

◆ Write() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Write ( string  FileName) const
inherited

Writes the matrix in a file.

Stores the matrix in a file in binary format.

Parameters
FileNameoutput file name.

Definition at line 1344 of file Matrix_Sparse.cxx.

◆ WriteText() [1/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::WriteText ( ostream &  FileStream,
bool  cplx = false 
) const
inherited

Writes the matrix to an output stream.

Stores the matrix in a file in ascii format. The entries are written in coordinate format (row column value) 1-index convention is used

Parameters
FileStreamoutput stream.
cplxif true the real part and imaginary part are given in two separate columns, otherwise the complex values are written (a,b)

Definition at line 1439 of file Matrix_Sparse.cxx.

◆ WriteText() [2/2]

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::WriteText ( string  FileName,
bool  cplx = false 
) const
inherited

Writes the matrix in a file.

Stores the matrix in a file in ascii format. The entries are written in coordinate format (row column value) 1-index convention is used

Parameters
FileNameoutput file name.
cplxif true the real part and imaginary part are written in two separate columns, otherwise the complex values are written (a,b)

Definition at line 1406 of file Matrix_Sparse.cxx.

◆ Zero()

void Seldon::Matrix_Sparse< T, Prop, ColSparse , Allocator >::Zero
inherited

Resets all non-zero entries to 0-value.

The sparsity pattern remains unchanged.

Definition at line 1150 of file Matrix_Sparse.cxx.


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