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

Sparse Array-matrix class. More...

#include <Matrix_ArrayComplexSparse.hxx>

Inheritance diagram for Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >:
Seldon::VirtualMatrix< T >

Public Types

typedef Allocator::value_type value_type
 
typedef Allocator::pointer pointer
 
typedef Allocator::const_pointer const_pointer
 
typedef Allocator::reference reference
 
typedef Allocator::const_reference const_reference
 
typedef complex< value_type > entry_type
 
typedef complex< value_type > access_type
 
typedef complex< value_type > const_access_type
 

Public Member Functions

 Matrix_ArrayComplexSparse ()
 Default constructor. More...
 
 Matrix_ArrayComplexSparse (int i, int j)
 Constructor. More...
 
 ~Matrix_ArrayComplexSparse ()
 Destructor.
 
void Clear ()
 Clears the matrix. More...
 
void Reallocate (int i, int j)
 Reallocates memory to resize the matrix. More...
 
void Resize (int i, int j)
 Reallocates additional memory to resize the matrix. More...
 
long GetRealNonZeros () const
 Returns the number of non-zero elements (real part). More...
 
long GetImagNonZeros () const
 Returns the number of non-zero elements (imaginary part). More...
 
long GetNonZeros () const
 Returns the number of elements stored in memory (real+imaginary part). More...
 
long GetRealDataSize () const
 Returns the number of elements stored in memory (real part). More...
 
long GetImagDataSize () const
 Returns the number of elements stored in memory (imaginary part). More...
 
long GetDataSize () const
 Returns the number of elements stored in memory (real+imaginary part). More...
 
size_t GetMemorySize () const
 returns size of matrix in bytes
 
int * GetRealInd (int i) const
 Returns column indices of non-zero entries in row (real part). More...
 
int * GetImagInd (int i) const
 Returns column indices of non-zero entries in row (imaginary part). More...
 
value_type * GetRealData (int i) const
 Returns values of non-zero entries of a row (real part). More...
 
value_type * GetImagData (int i) const
 Returns values of non-zero entries of a row (imaginary part). More...
 
Vector< value_type, VectSparse, Allocator > * GetRealData () const
 
Vector< value_type, VectSparse, Allocator > * GetImagData () const
 
const entry_type operator() (int i, int j) const
 Access operator. More...
 
entry_type & Val (int i, int j)
 Unavailable access method. More...
 
const entry_type & Val (int i, int j) const
 Unavailable access method. More...
 
entry_type & Get (int i, int j)
 Unavailable access method. More...
 
const entry_type & Get (int i, int j) const
 Unavailable access method. More...
 
value_type & ValReal (int i, int j)
 Returns acces to real part of A(i, j) More...
 
const value_type & ValReal (int i, int j) const
 Returns acces to real part of A(i, j) More...
 
value_type & ValImag (int i, int j)
 Returns acces to imaginary part of A(i, j) More...
 
const value_type & ValImag (int i, int j) const
 Returns acces to imaginary part of A(i, j) More...
 
value_type & GetReal (int i, int j)
 Returns acces to real part of A(i, j) More...
 
const value_type & GetReal (int i, int j) const
 Returns acces to real part of A(i, j) More...
 
value_type & GetImag (int i, int j)
 Returns acces to imaginary part of A(i, j) More...
 
const value_type & GetImag (int i, int j) const
 Returns acces to imaginary part of A(i, j) More...
 
void Set (int i, int j, const entry_type &x)
 Sets element (i, j) of matrix. More...
 
const value_type & ValueReal (int num_row, int i) const
 Returns j-th non-zero value of row i (real part). More...
 
value_type & ValueReal (int num_row, int i)
 Returns j-th non-zero value of row i (real part). More...
 
int IndexReal (int num_row, int i) const
 Returns column number of j-th non-zero value of row i (real part). More...
 
int & IndexReal (int num_row, int i)
 Returns column number of j-th non-zero value of row i (real part). More...
 
const value_type & ValueImag (int num_row, int i) const
 Returns j-th non-zero value of row i (imaginary part). More...
 
value_type & ValueImag (int num_row, int i)
 Returns j-th non-zero value of row i (imaginary part). More...
 
int IndexImag (int num_row, int i) const
 Returns column number of j-th non-zero value of row i (imaginary part). More...
 
int & IndexImag (int num_row, int i)
 Returns column number of j-th non-zero value of row i (imaginary part). More...
 
void SetRealData (int, int, Vector< value_type, VectSparse, Allocator > *)
 Redefines the real part of the matrix. More...
 
void SetImagData (int, int, Vector< value_type, VectSparse, Allocator > *)
 Redefines the imaginary part of the matrix. More...
 
void SetRealData (int, int, value_type *, int *)
 Redefines a row/column of the matrix. More...
 
void SetImagData (int, int, value_type *, int *)
 Redefines a row/column of the matrix. More...
 
void NullifyReal (int i)
 Clears a row without releasing memory. More...
 
void NullifyImag (int i)
 Clears a row without releasing memory. More...
 
void NullifyReal ()
 Clears the matrix without releasing memory. More...
 
void NullifyImag ()
 Clears the matrix without releasing memory. 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...
 
void Assemble ()
 Assembles the matrix. More...
 
template<class T0 >
void RemoveSmallEntry (const T0 &epsilon)
 removes small entries
 
void SetIdentity ()
 Matrix is initialized to the identity matrix.
 
void Zero ()
 Non-zero entries are set to 0 (but not removed).
 
void Fill ()
 Non-zero entries are filled with values 0, 1, 2, 3 ...
 
template<class T0 >
void Fill (const complex< T0 > &x)
 Non-zero entries are set to a given value x. More...
 
template<class T0 >
Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator > & operator= (const complex< T0 > &x)
 Non-zero entries are set to a given value x.
 
void FillRand ()
 Non-zero entries take a random value.
 
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

Vector< Vector< value_type, VectSparse, Allocator >, VectFull, NewAlloc< Vector< value_type, VectSparse, Allocator > > > val_real_
 real part rows or columns
 
Vector< Vector< value_type, VectSparse, Allocator >, VectFull, NewAlloc< Vector< value_type, VectSparse, Allocator > > > val_imag_
 imaginary part rows or columns
 
int m_
 
int n_
 

Detailed Description

template<class T, class Prop, class Storage, class Allocator = typename SeldonDefaultAllocator<Storage, T>::allocator>
class Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >

Sparse Array-matrix class.

Sparse matrices are defined by: (1) the number of rows and columns; (2) the number of non-zero entries; (3) an array of vectors ind ind(i) is a vector, which contains indices of columns of the row i; (4) an array of vectors val : val(i) is a vector, which contains values of the row i

Definition at line 176 of file Matrix_ArrayComplexSparse.hxx.

Constructor & Destructor Documentation

◆ Matrix_ArrayComplexSparse() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Matrix_ArrayComplexSparse
inline

Default constructor.

Builds an empty matrix.

Definition at line 40 of file Matrix_ArrayComplexSparseInline.cxx.

◆ Matrix_ArrayComplexSparse() [2/2]

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

Constructor.

Builds a i by j sparse matrix.

Parameters
inumber of rows.
jnumber of columns.

Definition at line 54 of file Matrix_ArrayComplexSparseInline.cxx.

Member Function Documentation

◆ Assemble()

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Assemble

Assembles the matrix.

All the row numbers are sorted. If same row numbers exist, values are added.

Warning
If you are using the methods AddInteraction/AddInteractions, you don't need to call that method.

Definition at line 457 of file Matrix_ArrayComplexSparse.cxx.

◆ Clear()

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Clear
inline

Clears the matrix.

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

Definition at line 79 of file Matrix_ArrayComplexSparseInline.cxx.

◆ Fill()

template<class T , class Prop , class Storage , class Allo >
template<class T0 >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allo >::Fill ( const complex< T0 > &  x)

Non-zero entries are set to a given value x.

real non-zero entries are set to real(x) whereas imaginary non-zero entries are set to imag(x)

Definition at line 531 of file Matrix_ArrayComplexSparse.cxx.

◆ Get() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::entry_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Get ( int  i,
int  j 
)
inline

Unavailable access method.

This method is declared for consistency with other classes, but it is not defined because no reference can possibly be returned.

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Raises an exception.

Definition at line 280 of file Matrix_ArrayComplexSparseInline.cxx.

◆ Get() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::entry_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Get ( int  i,
int  j 
) const
inline

Unavailable access method.

This method is declared for consistency with other classes, but it is not defined because no reference can possibly be returned.

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Raises an exception.

Definition at line 297 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetDataSize()

template<class T , class Prop , class Storage , class Allocator >
long Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetDataSize
inline

Returns the number of elements stored in memory (real+imaginary part).

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 143 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetImag() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetImag ( int  i,
int  j 
)
inline

Returns acces to imaginary part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
imaginary part of A(i, j)

Definition at line 402 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetImag() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetImag ( int  i,
int  j 
) const
inline

Returns acces to imaginary part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
imaginary part of A(i, j)

Definition at line 417 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetImagData()

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type * Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetImagData ( int  i) const
inline

Returns values of non-zero entries of a row (imaginary part).

Parameters
[in]irow number.
Returns
The array of values of non-zero entries of row i.

Definition at line 198 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetImagDataSize()

template<class T , class Prop , class Storage , class Allocator >
long Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetImagDataSize
inline

Returns the number of elements stored in memory (imaginary part).

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 129 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetImagInd()

template<class T , class Prop , class Storage , class Allocator >
int * Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetImagInd ( int  i) const
inline

Returns column indices of non-zero entries in row (imaginary part).

Parameters
[in]irow number.
Returns
the array of column indices of non-zero entries of row i.

Definition at line 185 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetImagNonZeros()

template<class T , class Prop , class Storage , class Allocator >
long Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetImagNonZeros

Returns the number of non-zero elements (imaginary part).

Returns
The number of non-zero elements for imaginary part of matrix.

Definition at line 51 of file Matrix_ArrayComplexSparse.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()

template<class T , class Prop , class Storage , class Allocator >
long Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetNonZeros
inline

Returns the number of elements stored in memory (real+imaginary part).

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 101 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetReal() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetReal ( int  i,
int  j 
)
inline

Returns acces to real part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
real part of A(i, j)

Definition at line 372 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetReal() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetReal ( int  i,
int  j 
) const
inline

Returns acces to real part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
real part of A(i, j)

Definition at line 387 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetRealData()

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type * Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetRealData ( int  i) const
inline

Returns values of non-zero entries of a row (real part).

Parameters
[in]irow number.
Returns
The array of values of non-zero entries of row i.

Definition at line 170 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetRealDataSize()

template<class T , class Prop , class Storage , class Allocator >
long Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetRealDataSize
inline

Returns the number of elements stored in memory (real part).

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 115 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetRealInd()

template<class T , class Prop , class Storage , class Allocator >
int * Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetRealInd ( int  i) const
inline

Returns column indices of non-zero entries in row (real part).

Parameters
[in]irow number.
Returns
The array of column indices of non-zero entries of row i.

Definition at line 157 of file Matrix_ArrayComplexSparseInline.cxx.

◆ GetRealNonZeros()

template<class T , class Prop , class Storage , class Allocator >
long Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::GetRealNonZeros

Returns the number of non-zero elements (real part).

Returns
The number of non-zero elements for real part of matrix.

Definition at line 35 of file Matrix_ArrayComplexSparse.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.

◆ IndexImag() [1/2]

template<class T , class Prop , class Storage , class Allocator >
int & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::IndexImag ( int  i,
int  j 
)
inline

Returns column number of j-th non-zero value of row i (imaginary part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
column number of j-th non-zero entry of row i.

Definition at line 575 of file Matrix_ArrayComplexSparseInline.cxx.

◆ IndexImag() [2/2]

template<class T , class Prop , class Storage , class Allocator >
int Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::IndexImag ( int  i,
int  j 
) const
inline

Returns column number of j-th non-zero value of row i (imaginary part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
Column number of j-th non-zero entry of row i.

Definition at line 555 of file Matrix_ArrayComplexSparseInline.cxx.

◆ IndexReal() [1/2]

template<class T , class Prop , class Storage , class Allocator >
int & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::IndexReal ( int  i,
int  j 
)
inline

Returns column number of j-th non-zero value of row i (real part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
column number of j-th non-zero entry of row i.

Definition at line 493 of file Matrix_ArrayComplexSparseInline.cxx.

◆ IndexReal() [2/2]

template<class T , class Prop , class Storage , class Allocator >
int Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::IndexReal ( int  i,
int  j 
) const
inline

Returns column number of j-th non-zero value of row i (real part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
Column number of j-th non-zero entry of row i.

Definition at line 473 of file Matrix_ArrayComplexSparseInline.cxx.

◆ NullifyImag() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::NullifyImag
inline

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 693 of file Matrix_ArrayComplexSparseInline.cxx.

◆ NullifyImag() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::NullifyImag ( int  i)
inline

Clears a row without releasing memory.

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

Definition at line 635 of file Matrix_ArrayComplexSparseInline.cxx.

◆ NullifyReal() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::NullifyReal
inline

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 679 of file Matrix_ArrayComplexSparseInline.cxx.

◆ NullifyReal() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::NullifyReal ( int  i)
inline

Clears a row without releasing memory.

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

Definition at line 623 of file Matrix_ArrayComplexSparseInline.cxx.

◆ operator()()

template<class T , class Prop , class Storage , class Allocator >
const Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::entry_type Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::operator() ( int  i,
int  j 
) const
inline

Access operator.

Returns the value of element (i, j).

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

Definition at line 221 of file Matrix_ArrayComplexSparseInline.cxx.

◆ Print()

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Print

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 195 of file Matrix_ArrayComplexSparse.cxx.

◆ Read() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Read ( istream &  FileStream)

Reads the matrix from an input stream.

Reads a matrix in binary format from an input stream.

Parameters
FileStreaminput stream

Definition at line 371 of file Matrix_ArrayComplexSparse.cxx.

◆ Read() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Read ( string  FileName)

Reads the matrix from a file.

Reads a matrix stored in binary format in a file.

Parameters
FileNameinput file name.

Definition at line 346 of file Matrix_ArrayComplexSparse.cxx.

◆ ReadText() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ReadText ( istream &  FileStream,
bool  cplx = false 
)

Reads the matrix from an input stream.

Reads a matrix from a stream in text format.

Parameters
FileStreaminput stream.

Definition at line 439 of file Matrix_ArrayComplexSparse.cxx.

◆ ReadText() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ReadText ( string  FileName,
bool  cplx = false 
)

Reads the matrix from a file.

Reads the matrix from a file in text format.

Parameters
FileNameinput file name.

Definition at line 414 of file Matrix_ArrayComplexSparse.cxx.

◆ Reallocate()

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Reallocate ( int  i,
int  j 
)

Reallocates memory to resize the matrix.

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

Parameters
inumber of rows.
jnumber of columns.
Warning
Data is lost.

Definition at line 92 of file Matrix_ArrayComplexSparse.cxx.

◆ Resize()

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Resize ( int  i,
int  j 
)

Reallocates additional memory to resize the matrix.

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

Parameters
inumber of rows.
jnumber of columns.
Note
Data is kept.

Definition at line 115 of file Matrix_ArrayComplexSparse.cxx.

◆ Set()

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Set ( int  i,
int  j,
const entry_type &  x 
)

Sets element (i, j) of matrix.

Parameters
[in]irow index.
[in]jcolumn index.
[in]xA(i, j) = x

Definition at line 162 of file Matrix_ArrayComplexSparse.cxx.

◆ SetImagData() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::SetImagData ( int  i,
int  n,
value_type *  val,
int *  ind 
)
inline

Redefines a row/column of the matrix.

Parameters
[in]irow/col number
[in]nnumber of non-zero entries in the row
[in]valvalues
[in]indcolumn numbers

Definition at line 611 of file Matrix_ArrayComplexSparseInline.cxx.

◆ SetImagData() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::SetImagData ( int  m,
int  n,
Vector< value_type, VectSparse, Allocator > *  val 
)
inline

Redefines the imaginary part of the matrix.

Parameters
[in]mnew number of rows.
[in]nnew number of columns.
[in]valarray of sparse rows/columns.

Definition at line 665 of file Matrix_ArrayComplexSparseInline.cxx.

◆ SetRealData() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::SetRealData ( int  i,
int  n,
value_type *  val,
int *  ind 
)
inline

Redefines a row/column of the matrix.

Parameters
[in]irow/col number
[in]nnumber of non-zero entries in the row
[in]valvalues
[in]indcolumn numbers

Definition at line 596 of file Matrix_ArrayComplexSparseInline.cxx.

◆ SetRealData() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::SetRealData ( int  m,
int  n,
Vector< value_type, VectSparse, Allocator > *  val 
)
inline

Redefines the real part of the matrix.

Parameters
[in]mnew number of rows.
[in]nnew number of columns.
[in]valarray of sparse rows/columns.

Definition at line 649 of file Matrix_ArrayComplexSparseInline.cxx.

◆ Val() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::entry_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Val ( int  i,
int  j 
)
inline

Unavailable access method.

This method is declared for consistency with other classes, but it is not defined because no reference can possibly be returned.

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Raises an exception.

Definition at line 246 of file Matrix_ArrayComplexSparseInline.cxx.

◆ Val() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::entry_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Val ( int  i,
int  j 
) const
inline

Unavailable access method.

This method is declared for consistency with other classes, but it is not defined because no reference can possibly be returned.

Parameters
[in]irow index.
[in]jcolumn index.
Returns
Raises an exception.

Definition at line 263 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValImag() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValImag ( int  i,
int  j 
)
inline

Returns acces to imaginary part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
imaginary part of A(i, j)

Definition at line 342 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValImag() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValImag ( int  i,
int  j 
) const
inline

Returns acces to imaginary part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
imaginary part of A(i, j)

Definition at line 357 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValReal() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValReal ( int  i,
int  j 
)
inline

Returns acces to real part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
real part of A(i, j)

Definition at line 312 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValReal() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValReal ( int  i,
int  j 
) const
inline

Returns acces to real part of A(i, j)

Parameters
[in]irow index.
[in]jcolumn index.
Returns
real part of A(i, j)

Definition at line 327 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValueImag() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValueImag ( int  i,
int  j 
)
inline

Returns j-th non-zero value of row i (imaginary part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
j-th non-zero entry of row i.

Definition at line 535 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValueImag() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValueImag ( int  i,
int  j 
) const
inline

Returns j-th non-zero value of row i (imaginary part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
j-th non-zero entry of row i.

Definition at line 514 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValueReal() [1/2]

template<class T , class Prop , class Storage , class Allocator >
Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValueReal ( int  i,
int  j 
)
inline

Returns j-th non-zero value of row i (real part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
j-th non-zero entry of row i.

Definition at line 453 of file Matrix_ArrayComplexSparseInline.cxx.

◆ ValueReal() [2/2]

template<class T , class Prop , class Storage , class Allocator >
const Allocator::value_type & Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::ValueReal ( int  i,
int  j 
) const
inline

Returns j-th non-zero value of row i (real part).

Parameters
[in]irow number.
[in]jlocal number.
Returns
j-th non-zero entry of row i.

Definition at line 432 of file Matrix_ArrayComplexSparseInline.cxx.

◆ Write() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Write ( ostream &  FileStream) const

Writes the matrix to an output stream.

Stores the matrix in a file in binary format. The number of rows (integer) and the number of columns (integer) are written and matrix elements are then written in the same order as in memory (e.g. row-major storage).

Parameters
FileStreamoutput file name.

Definition at line 260 of file Matrix_ArrayComplexSparse.cxx.

◆ Write() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::Write ( string  FileName) const

Writes the matrix in a file.

Stores the matrix in a file in binary format. The number of rows (integer) and the number of columns (integer) are written and matrix elements are then written in the same order as in memory (e.g. row-major storage).

Parameters
FileNameoutput file name.

Definition at line 232 of file Matrix_ArrayComplexSparse.cxx.

◆ WriteText() [1/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::WriteText ( ostream &  FileStream,
bool  cplx = false 
) const

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 file name.

Definition at line 319 of file Matrix_ArrayComplexSparse.cxx.

◆ WriteText() [2/2]

template<class T , class Prop , class Storage , class Allocator >
void Seldon::Matrix_ArrayComplexSparse< T, Prop, Storage, Allocator >::WriteText ( string  FileName,
bool  cplx = false 
) const

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.

Definition at line 291 of file Matrix_ArrayComplexSparse.cxx.


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