Warning: this documentation for the development version is under construction.

Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator > Class Template Reference

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

#include <Matrix_ArrayComplexSparse.hxx>

Inheritance diagram for Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >:
Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >

List of all members.

Public Types

typedef Allocator::value_type value_type
typedef Prop property
typedef ArrayColSymComplexSparse 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 complex< T > entry_type
typedef complex< T > access_type
typedef complex< T > const_access_type

Public Member Functions

 Matrix ()
 Default constructor.
 Matrix (int i, int j)
 Constructor.
complex< T > operator() (int i, int j) const
 Access operator.
T & ValReal (int i, int j)
 Returns access to real part of element (i, j).
const T & ValReal (int i, int j) const
 Returns access to real part element (i, j).
T & ValImag (int i, int j)
 Returns access to imaginary part of element (i, j).
const T & ValImag (int i, int j) const
 Returns access to imaginary part of element (i, j).
T & GetReal (int i, int j)
 Returns access to real part element (i, j).
const T & GetReal (int i, int j) const
 Returns access to real part of element (i, j).
T & GetImag (int i, int j)
 Returns access to imaginary part of element (i, j).
const T & GetImag (int i, int j) const
 Returns access to imaginary part element (i, j).
void Set (int i, int j, const complex< T > &x)
 Sets element (i, j) of the matrix.
void ClearRealColumn (int i)
 Clears a column.
void ClearImagColumn (int i)
 Clears a column.
void ReallocateRealColumn (int i, int j)
 Reallocates column i.
void ReallocateImagColumn (int i, int j)
 Reallocates column i.
void ResizeRealColumn (int i, int j)
 Reallocates column i.
void ResizeImagColumn (int i, int j)
 Reallocates column i.
void SwapRealColumn (int i, int i_)
 Swaps two columns.
void SwapImagColumn (int i, int i_)
 Swaps two columns.
void ReplaceRealIndexColumn (int i, IVect &new_index)
 Sets row numbers of non-zero entries of a column.
void ReplaceImagIndexColumn (int i, IVect &new_index)
 Sets row numbers of non-zero entries of a column.
int GetRealColumnSize (int i) const
 Returns the number of non-zero entries of a column.
int GetImagColumnSize (int i) const
 Returns the number of non-zero entries of a column.
void PrintRealColumn (int i) const
 Displays non-zero values of a column.
void PrintImagColumn (int i) const
 Displays non-zero values of a column.
void AssembleRealColumn (int i)
 Assembles a column.
void AssembleImagColumn (int i)
 Assembles a column.
void AddInteraction (int i, int j, const complex< T > &val)
 Adds a coefficient in the matrix.
template<class Alloc1 >
void AddInteractionRow (int i, int nb, const IVect &col, const Vector< complex< T >, VectFull, Alloc1 > &val)
 Adds coefficients in a row.
template<class Alloc1 >
void AddInteractionColumn (int i, int nb, const IVect &row, const Vector< complex< T >, VectFull, Alloc1 > &val)
 Adds coefficients in a column.
void Clear ()
void Reallocate (int i, int j)
void Resize (int i, int j)
int GetM () const
int GetM (const SeldonTranspose &status) const
int GetN () const
int GetN (const SeldonTranspose &status) const
int GetRealNonZeros () const
int GetImagNonZeros () const
int GetRealDataSize () const
int GetImagDataSize () const
int GetDataSize () const
int * GetRealInd (int i) const
int * GetImagInd (int i) const
T * GetRealData (int i) const
Vector< T, VectSparse,
Allocator > * 
GetRealData () const
T * GetImagData (int i) const
Vector< T, VectSparse,
Allocator > * 
GetImagData () const
complex< T > & Val (int i, int j)
const complex< T > & Val (int i, int j) const
complex< T > & Get (int i, int j)
const complex< T > & Get (int i, int j) const
const T & ValueReal (int num_row, int i) const
T & ValueReal (int num_row, int i)
int IndexReal (int num_row, int i) const
int & IndexReal (int num_row, int i)
const T & ValueImag (int num_row, int i) const
T & ValueImag (int num_row, int i)
int IndexImag (int num_row, int i) const
int & IndexImag (int num_row, int i)
void SetRealData (int, int, Vector< T, VectSparse, Allocator > *)
void SetRealData (int, int, T *, int *)
void SetImagData (int, int, Vector< T, VectSparse, Allocator > *)
void SetImagData (int, int, T *, int *)
void NullifyReal (int i)
void NullifyReal ()
void NullifyImag (int i)
void NullifyImag ()
void Print () const
void Write (string FileName) const
void Write (ostream &FileStream) const
void WriteText (string FileName) const
void WriteText (ostream &FileStream) const
void Read (string FileName)
void Read (istream &FileStream)
void ReadText (string FileName)
void ReadText (istream &FileStream)
void Assemble ()
void RemoveSmallEntry (const T0 &epsilon)
void SetIdentity ()
void Zero ()
void Fill ()
void Fill (const complex< T0 > &x)
void FillRand ()

Protected Attributes

int m_
 Number of rows.
int n_
 Number of columns.
Vector< Vector< T, VectSparse,
Allocator >, VectFull,
NewAlloc< Vector< T,
VectSparse, Allocator > > > 
val_real_
 real part rows or columns
Vector< Vector< T, VectSparse,
Allocator >, VectFull,
NewAlloc< Vector< T,
VectSparse, Allocator > > > 
val_imag_
 imaginary part rows or columns

Detailed Description

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

Column-major symmetric sparse-matrix class.

Definition at line 254 of file Matrix_ArrayComplexSparse.hxx.


Constructor & Destructor Documentation

template<class T , class Prop , class Allocator >
Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::Matrix (  )  [inline]

Default constructor.

Builds an empty matrix.

Definition at line 1943 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::Matrix ( int  i,
int  j 
) [inline]

Constructor.

Builds a i by j matrix

Parameters:
i number of rows.
j number of columns.
Note:
Matrix values are not initialized.

Definition at line 1956 of file Matrix_ArrayComplexSparse.cxx.


Member Function Documentation

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::AddInteraction ( int  i,
int  j,
const complex< T > &  val 
) [inline]

Adds a coefficient in the matrix.

Parameters:
[in] i row number.
[in] j column number.
[in] val coefficient to add.

Definition at line 2486 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
template<class Alloc1 >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::AddInteractionColumn ( int  i,
int  nb,
const IVect row,
const Vector< complex< T >, VectFull, Alloc1 > &  val 
) [inline]

Adds coefficients in a column.

Parameters:
[in] i column number.
[in] nb number of coefficients to add.
[in] row row numbers of coefficients.
[in] val values of coefficients.

Definition at line 2525 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
template<class Alloc1 >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::AddInteractionRow ( int  i,
int  nb,
const IVect col,
const Vector< complex< T >, VectFull, Alloc1 > &  val 
) [inline]

Adds coefficients in a row.

Parameters:
[in] i row number.
[in] nb number of coefficients to add.
[in] col column numbers of coefficients.
[in] val values of coefficients.

Definition at line 2508 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::AssembleImagColumn ( int  i  )  [inline]

Assembles a column.

Parameters:
[in] i column number.
Warning:
If you are using the methods AddInteraction, you don't need to call that method.

Definition at line 2472 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::AssembleRealColumn ( int  i  )  [inline]

Assembles a column.

Parameters:
[in] i column number.
Warning:
If you are using the methods AddInteraction, you don't need to call that method.

Definition at line 2458 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::GetImag ( int  i,
int  j 
) [inline]

Returns access to imaginary part of element (i, j).

Parameters:
i row index.
j column index.
Returns:
imaginary part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2184 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
const T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::GetImag ( int  i,
int  j 
) const [inline]

Returns access to imaginary part element (i, j).

Parameters:
i row index.
j column index.
Returns:
imaginary part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2213 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
int Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::GetImagColumnSize ( int  i  )  const [inline]

Returns the number of non-zero entries of a column.

Parameters:
[in] i column number.
Returns:
The number of non-zero entries of the column i.

Definition at line 2426 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::GetReal ( int  i,
int  j 
) [inline]

Returns access to real part element (i, j).

Returns the value of element (i, j).

Parameters:
i row index.
j column index.
Returns:
real part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2066 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
const T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::GetReal ( int  i,
int  j 
) const [inline]

Returns access to real part of element (i, j).

Returns the value of element (i, j).

Parameters:
i row index.
j column index.
Returns:
real part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2096 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
int Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::GetRealColumnSize ( int  i  )  const [inline]

Returns the number of non-zero entries of a column.

Parameters:
[in] i column number.
Returns:
The number of non-zero entries of the column i.

Definition at line 2413 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
complex< T > Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::operator() ( int  i,
int  j 
) const [inline]

Access operator.

Returns the value of element (i, j).

Parameters:
i row index.
j column index.
Returns:
Element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 1976 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ReallocateImagColumn ( int  i,
int  j 
) [inline]

Reallocates column i.

Parameters:
[in] i column number.
[in] j new number of non-zero entries in the column.
Warning:
Data may be lost.

Definition at line 2320 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ReallocateRealColumn ( int  i,
int  j 
) [inline]

Reallocates column i.

Parameters:
[in] i column number.
[in] j new number of non-zero entries in the column.
Warning:
Data may be lost.

Definition at line 2306 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ReplaceImagIndexColumn ( int  i,
IVect new_index 
) [inline]

Sets row numbers of non-zero entries of a column.

Parameters:
[in] i column number.
[in] new_index new row numbers.

Definition at line 2399 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ReplaceRealIndexColumn ( int  i,
IVect new_index 
) [inline]

Sets row numbers of non-zero entries of a column.

Parameters:
[in] i column number.
[in] new_index new row numbers.

Definition at line 2385 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ResizeImagColumn ( int  i,
int  j 
) [inline]

Reallocates column i.

Parameters:
[in] i column number.
[in] j new number of non-zero entries in the column.

Definition at line 2346 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ResizeRealColumn ( int  i,
int  j 
) [inline]

Reallocates column i.

Parameters:
[in] i column number.
[in] j new number of non-zero entries in the column.

Definition at line 2333 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::Set ( int  i,
int  j,
const complex< T > &  x 
) [inline]

Sets element (i, j) of the matrix.

Parameters:
i row index
j column index
x A(i, j) = x

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2241 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::SwapImagColumn ( int  i,
int  j 
) [inline]

Swaps two columns.

Parameters:
[in] i first column number.
[in] j second column number.

Definition at line 2372 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
void Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::SwapRealColumn ( int  i,
int  j 
) [inline]

Swaps two columns.

Parameters:
[in] i first column number.
[in] j second column number.

Definition at line 2359 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
const T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ValImag ( int  i,
int  j 
) const [inline]

Returns access to imaginary part of element (i, j).

Parameters:
i row index.
j column index.
Returns:
imaginary part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2155 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ValImag ( int  i,
int  j 
) [inline]

Returns access to imaginary part of element (i, j).

Returns the value of element (i, j).

Parameters:
i row index.
j column index.
Returns:
imaginary part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2125 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ValReal ( int  i,
int  j 
) [inline]

Returns access to real part of element (i, j).

Parameters:
i row index.
j column index.
Returns:
real part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2005 of file Matrix_ArrayComplexSparse.cxx.

template<class T , class Prop , class Allocator >
const T & Seldon::Matrix< T, Prop, ArrayColSymComplexSparse, Allocator >::ValReal ( int  i,
int  j 
) const [inline]

Returns access to real part element (i, j).

Returns the value of element (i, j).

Parameters:
i row index.
j column index.
Returns:
real part of element (i, j) of the matrix.

Reimplemented from Seldon::Matrix_ArrayComplexSparse< T, Prop, ArrayColSymComplexSparse, Allocator >.

Definition at line 2036 of file Matrix_ArrayComplexSparse.cxx.


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