All Classes Namespaces Functions Typedefs Enumerations Pages
Public Member Functions | List of all members
fmatvec::Matrix< GeneralBand, Ref, Ref, AT > Class Template Reference

This is a matrix class for general band matrices. More...

#include <band_matrix.h>

Public Member Functions

 Matrix ()
 Standard constructor. More...
 
 Matrix (int n_, int kl_, int ku_, Noinit)
 
 Matrix (int n_, int kl_, int ku_, Init ini=INIT, const AT &a=0)
 
 Matrix (int n_, int kl_, int ku_, Eye ini, const AT &a=1)
 
 Matrix (int m_, int n_, int kl_, int ku_, Noinit)
 
 Matrix (int m_, int n_, int kl_, int ku_, Init ini=INIT, const AT &a=0)
 
 Matrix (int m_, int n_, int kl_, int ku_, Eye ini, const AT &a=1)
 
 Matrix (const Matrix< GeneralBand, Ref, Ref, AT > &A)
 Copy Constructor. More...
 
 Matrix (int n_, int kl_, int ku_, AT *ele_)
 Regular Constructor. More...
 
 ~Matrix ()
 Destructor.
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
resize ()
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
resize (int n_, int kl_, int ku_, Noinit)
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
resize (int n, int kl, int ku=0, Init ini=INIT, const AT &a=0)
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
resize (int n, int kl, int ku, Eye ini, const AT &a=1)
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
operator= (const Matrix< GeneralBand, Ref, Ref, AT > &A)
 Assignment operator. More...
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
operator<< (const Matrix< GeneralBand, Ref, Ref, AT > &A)
 Copy operator. More...
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
operator>> (const Matrix< GeneralBand, Ref, Ref, AT > &A)
 Reference operator. More...
 
const AT & operator() (int i, int j) const
 Element operator. More...
 
AT * operator() ()
 Pointer operator. More...
 
const AT * operator() () const
 Pointer operator. More...
 
int size () const
 Size. More...
 
int rows () const
 Number of rows. More...
 
int cols () const
 Number of columns. More...
 
const CBLAS_ORDER blasOrder () const
 Storage convention. More...
 
const Vector< Ref, AT > operator() (int i) const
 Diagonal operator. More...
 
Vector< Ref, AT > operator() (int i)
 Diagonal operator. More...
 
Matrix< GeneralBand, Ref, Ref, AT > copy () const
 Matrix duplicating. More...
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
init (const AT &a=0)
 Initialization. More...
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
init (Init, const AT &a=0)
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
init (Eye, const AT &a=1)
 
Matrix< GeneralBand, Ref, Ref,
AT > & 
init (Noinit, const AT &a=0)
 
 operator std::vector< std::vector< AT > > ()
 Cast to std::vector<std::vector<AT> >. More...
 

Detailed Description

template<class AT>
class fmatvec::Matrix< GeneralBand, Ref, Ref, AT >

This is a matrix class for general band matrices.

Template class Matrix with shape type GeneralBand and atomic type AT. The template parameter AT defines the atomic type of the matrix. Valid types are int, float, double, complex<float> and complex<double>

Constructor & Destructor Documentation

template<class AT >
fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::Matrix ( )
inline

Standard constructor.

Constructs a band matrix with no size.

template<class AT >
fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::Matrix ( const Matrix< GeneralBand, Ref, Ref, AT > &  A)
inline

Copy Constructor.

Constructs a reference to the band matrix A.

Attention
The physical memory of the matrix A will not be copied, only referenced.
Parameters
AThe matrix that will be referenced.
template<class AT >
fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::Matrix ( int  n_,
int  kl_,
int  ku_,
AT *  ele_ 
)
inline

Regular Constructor.

Constructs a band matrix of size n x n with the pyhsical memory given by ele_.

Parameters
n_The number of rows and columns.
kl_The number of subdiagonals.
ku_The number of superdiagonals.
ele_The physical memory the matrix will point to.

Member Function Documentation

template<class AT >
const CBLAS_ORDER fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::blasOrder ( ) const
inline

Storage convention.

Returns the blas-conform storage convention. The elements are stored in columnmajor form, i.e. the elements are stored columnwise.

Returns
CblasColMajor.
template<class AT >
int fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::cols ( ) const
inline

Number of columns.

Returns
The number of columns of the matrix
template<class AT >
Matrix< GeneralBand, Ref, Ref, AT > fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::copy ( ) const
inline

Matrix duplicating.

The calling matrix returns a deep copy of itself.

Returns
The duplicate.
template<class AT >
Matrix< GeneralBand, Ref, Ref, AT > & fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::init ( const AT &  a = 0)
inline

Initialization.

Initializes all elements of the calling matrix with the value given by a.

Parameters
aValue all elements will be initialized with.
Returns
A reference to the calling matrix.
template<class AT >
fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator std::vector< std::vector< AT > > ( )
inline

Cast to std::vector<std::vector<AT> >.

Returns
The std::vector<std::vector<AT> > representation of the matrix
template<class AT >
const AT& fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator() ( int  i,
int  j 
) const
inline

Element operator.

Returns a reference to the element in the i-th row and the j-th column.

Parameters
iThe i-th row of the matrix
jThe j-th column of the matrix
Returns
A reference to the element A(i,j).
Remarks
The bounds are checked by default. To change this behavior, define FMATVEC_NO_BOUNDS_CHECK.
See Also
operator()(int,int) const
template<class AT >
AT* fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator() ( )
inline

Pointer operator.

Returns the pointer to the first element.

Returns
The pointer to the first element.
template<class AT >
const AT* fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator() ( ) const
inline

Pointer operator.

see operator()()

template<class AT >
const Vector< Ref, AT > fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator() ( int  i) const
inline

Diagonal operator.

See operator()(int)

template<class AT >
Vector< Ref, AT > fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator() ( int  i)
inline

Diagonal operator.

If i<0, the i-th subdiagonal is returned. Otherwise the i-th superdiagonal is returned.

Parameters
iThe i-th super- and subdiagonal, respectively.
template<class AT >
Matrix< GeneralBand, Ref, Ref, AT > & fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator<< ( const Matrix< GeneralBand, Ref, Ref, AT > &  A)
inline

Copy operator.

Copies the band matrix given by A.

Parameters
AThe matrix to be copied.
Returns
A reference to the calling matrix.
template<class AT >
Matrix< GeneralBand, Ref, Ref, AT > & fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator= ( const Matrix< GeneralBand, Ref, Ref, AT > &  A)
inline

Assignment operator.

Copies the band matrix given by A by calling operator<<().

Parameters
AThe matrix to be assigned.
Returns
A reference to the calling matrix.
Remarks
To call operator>>() by default, define FMATVEC_NO_DEEP_ASSIGNMENT
See Also
operator<<(), operator>>()
template<class AT >
Matrix< GeneralBand, Ref, Ref, AT > & fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::operator>> ( const Matrix< GeneralBand, Ref, Ref, AT > &  A)
inline

Reference operator.

References the band matrix given by A.

Parameters
AThe matrix to be referenced.
Returns
A reference to the calling matrix.
template<class AT >
int fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::rows ( ) const
inline

Number of rows.

Returns
The number of rows of the matrix
template<class AT >
int fmatvec::Matrix< GeneralBand, Ref, Ref, AT >::size ( ) const
inline

Size.

Returns
The size of the matrix

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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML