VERB_code_2.3
zhematrix Class Reference

Complex Double-precision Hermitian Matrix Class [L-type (UPLO=L) Strage]. More...

#include <zhematrix.hpp>

Public Member Functions

 zhematrix ()
 
 zhematrix (const zhematrix &)
 
 zhematrix (const _zhematrix &)
 
 zhematrix (const zgbmatrix &)
 
 zhematrix (const _zgbmatrix &)
 
 zhematrix (const long &)
 
 zhematrix (const char *)
 
 ~zhematrix ()
 
__zhecomplex operator() (const long &, const long &)
 
std::complex< double > operator() (const long &, const long &) const
 
void set (const long &, const long &, const std::complex< double > &) const
 
void write (const char *) const
 
void read (const char *)
 
void complete () const
 
void clear ()
 
void zero ()
 
void identity ()
 
void chsign ()
 
void copy (const zhematrix &)
 
void shallow_copy (const _zhematrix &)
 
void resize (const long &)
 
long zhesv (zgematrix &)
 
long zhesv (zcovector &)
 
long zheev (std::vector< double > &, const bool &)
 
long zheev (std::vector< double > &, std::vector< zcovector > &)
 
long zheev (std::vector< double > &, std::vector< zrovector > &)
 
zhematrixoperator= (const zhematrix &)
 
zhematrixoperator+= (const zhematrix &)
 
zhematrixoperator-= (const zhematrix &)
 
zhematrixoperator*= (const zhematrix &)
 
zhematrixoperator= (const _zhematrix &)
 
zhematrixoperator+= (const _zhematrix &)
 
zhematrixoperator-= (const _zhematrix &)
 
zhematrixoperator*= (const _zhematrix &)
 
zhematrixoperator*= (const double &)
 
zhematrixoperator/= (const double &)
 

Public Attributes

long const & n
 matrix column size or row size (readable)
 
std::complex< double > *const & array
 1D array to store matrix data (readable)
 
std::complex< double > **const & darray
 array of pointers of column head addresses (readable)
 

Friends

class zgematrix
 
class _zgematrix
 
class zgbmatrix
 
class _zgbmatrix
 
class _zhematrix
 
class zcovector
 
class _zcovector
 
class zrovector
 
class _zrovector
 
std::ostream & operator<< (std::ostream &, const zhematrix &)
 
void swap (zhematrix &, zhematrix &)
 
_zhematrix _ (zhematrix &)
 
_zhematrix t (const zhematrix &)
 
_zgematrix i (const zhematrix &)
 
_zhematrix conj (const zhematrix &)
 
_zhematrix conjt (const zhematrix &)
 
const zhematrixoperator+ (const zhematrix &)
 
_zhematrix operator- (const zhematrix &)
 
_zhematrix operator+ (const zhematrix &, const zhematrix &)
 
_zhematrix operator+ (const zhematrix &, const _zhematrix &)
 
_zhematrix operator+ (const _zhematrix &, const zhematrix &)
 
_zgematrix operator+ (const zhematrix &, const zgematrix &)
 
_zgematrix operator+ (const zhematrix &, const _zgematrix &)
 
_zgematrix operator+ (const zgematrix &, const zhematrix &)
 
_zgematrix operator+ (const _zgematrix &, const zhematrix &)
 
_zgematrix operator+ (const zhematrix &, const zgbmatrix &)
 
_zgematrix operator+ (const zhematrix &, const _zgbmatrix &)
 
_zgematrix operator+ (const zgbmatrix &, const zhematrix &)
 
_zgematrix operator+ (const _zgbmatrix &, const zhematrix &)
 
_zgematrix operator+ (const zhematrix &, const zssmatrix &)
 
_zgematrix operator+ (const zhematrix &, const _zssmatrix &)
 
_zgematrix operator+ (const zssmatrix &, const zhematrix &)
 
_zgematrix operator+ (const _zssmatrix &, const zhematrix &)
 
_zhematrix operator- (const zhematrix &, const zhematrix &)
 
_zhematrix operator- (const zhematrix &, const _zhematrix &)
 
_zhematrix operator- (const _zhematrix &, const zhematrix &)
 
_zgematrix operator- (const zhematrix &, const zgematrix &)
 
_zgematrix operator- (const zhematrix &, const _zgematrix &)
 
_zgematrix operator- (const zgematrix &, const zhematrix &)
 
_zgematrix operator- (const _zgematrix &, const zhematrix &)
 
_zgematrix operator- (const zhematrix &, const zgbmatrix &)
 
_zgematrix operator- (const zhematrix &, const _zgbmatrix &)
 
_zgematrix operator- (const zgbmatrix &, const zhematrix &)
 
_zgematrix operator- (const _zgbmatrix &, const zhematrix &)
 
_zgematrix operator- (const zhematrix &, const zssmatrix &)
 
_zgematrix operator- (const zhematrix &, const _zssmatrix &)
 
_zgematrix operator- (const zssmatrix &, const zhematrix &)
 
_zgematrix operator- (const _zssmatrix &, const zhematrix &)
 
_zgematrix operator* (const _zhematrix &, const zhematrix &)
 
_zgematrix operator* (const zhematrix &, const _zhematrix &)
 
_zgematrix operator* (const zhematrix &, const zhematrix &)
 
_zgematrix operator* (const zhematrix &, const zgematrix &)
 
_zgematrix operator* (const zhematrix &, const _zgematrix &)
 
_zgematrix operator* (const zgematrix &, const zhematrix &)
 
_zgematrix operator* (const _zgematrix &, const zhematrix &)
 
_zgematrix operator* (const zhematrix &, const zgbmatrix &)
 
_zgematrix operator* (const zhematrix &, const _zgbmatrix &)
 
_zgematrix operator* (const zgbmatrix &, const zhematrix &)
 
_zgematrix operator* (const _zgbmatrix &, const zhematrix &)
 
_zgematrix operator* (const zhematrix &, const zssmatrix &)
 
_zgematrix operator* (const zhematrix &, const _zssmatrix &)
 
_zgematrix operator* (const zssmatrix &, const zhematrix &)
 
_zgematrix operator* (const _zssmatrix &, const zhematrix &)
 
_zcovector operator* (const zhematrix &, const zcovector &)
 
_zcovector operator* (const zhematrix &, const _zcovector &)
 
_zrovector operator* (const zrovector &, const zhematrix &)
 
_zrovector operator* (const _zrovector &, const zhematrix &)
 
_zhematrix operator* (const zhematrix &, const double &)
 
_zhematrix operator* (const double &, const zhematrix &)
 
_zgematrix operator* (const zhematrix &, const std::complex< double > &)
 
_zgematrix operator* (const std::complex< double > &, const zhematrix &)
 
_zhematrix operator/ (const zhematrix &, const double &)
 
_zgematrix operator/ (const zhematrix &, const std::complex< double > &)
 

Detailed Description

Complex Double-precision Hermitian Matrix Class [L-type (UPLO=L) Strage].

The imaginary part of every diagonal component is not referenced.

Constructor & Destructor Documentation

zhematrix::zhematrix ( )
inline

zhematrix constructor without arguments

zhematrix::zhematrix ( const zhematrix mat)
inline

zhematrix copy constructor

zhematrix::zhematrix ( const _zhematrix mat)
inline

zhematrix constructor to cast _zhematrix

zhematrix::zhematrix ( const long &  _n)
inline

zhematrix constructor with size specification

zhematrix::zhematrix ( const char *  filename)
inline

zhematrix constructor with filename

zhematrix::~zhematrix ( )
inline

zhematrix destructor

Member Function Documentation

void zhematrix::chsign ( )
inline

change sign(+/-) of the matrix

void zhematrix::clear ( )
inline

clear all the matrix data and set the sizes 0

void zhematrix::complete ( ) const
inline

complete the upper-right components

void zhematrix::copy ( const zhematrix mat)
inline

make a deep copy of the matrix

void zhematrix::identity ( )
inline

change the matrix into an identity matrix

__zhecomplex zhematrix::operator() ( const long &  i,
const long &  j 
)
inline

operator() for non-const object

std::complex< double > zhematrix::operator() ( const long &  i,
const long &  j 
) const
inline

operator() for const object

zhematrix & zhematrix::operator*= ( const double &  d)
inline

zhematrix*=double operator

zhematrix & zhematrix::operator+= ( const zhematrix mat)
inline

zhematrix+=zhematrix operator

zhematrix & zhematrix::operator+= ( const _zhematrix mat)
inline

zhematrix+=_zhematrix operator

zhematrix & zhematrix::operator-= ( const zhematrix mat)
inline

zhematrix operator-=

zhematrix & zhematrix::operator-= ( const _zhematrix mat)
inline

zhematrix-=_zhematrix operator

zhematrix & zhematrix::operator/= ( const double &  d)
inline

zhematrix/=double operator

zhematrix & zhematrix::operator= ( const zhematrix mat)
inline

zhematrix=zhematrix operator

zhematrix & zhematrix::operator= ( const _zhematrix mat)
inline

zhematrix=_zhematrix operator

void zhematrix::resize ( const long &  _n)
inline

resize the matrix

void zhematrix::set ( const long &  i,
const long &  j,
const std::complex< double > &  v 
) const
inline

set value for const object

void zhematrix::shallow_copy ( const _zhematrix mat)
inline

make a shallow copy of the matrix
This function is not designed to be used in project codes.

void zhematrix::zero ( )
inline

change the matrix into a zero matrix

long zhematrix::zheev ( std::vector< double > &  w,
const bool &  jobz = 0 
)
inline

calculate eigenvalues and eigenvectors.
All of the arguments need not to be initialized. w is overwitten and become eigenvalues. This matrix is also overwritten. if jobz=1, this matrix becomes eigenvectors.

long zhematrix::zheev ( std::vector< double > &  w,
std::vector< zcovector > &  v 
)
inline

calculate eigenvalues and eigenvectors.
All of the arguments need not to be initialized. w and v are overwitten and become eigenvalues and eigenvectors, respectively. This matrix is also overwritten.

long zhematrix::zheev ( std::vector< double > &  w,
std::vector< zrovector > &  v 
)
inline

calculate eigenvalues and eigenvectors.
All of the arguments need not to be initialized. w and v are overwitten and become eigenvalues and eigenvectors, respectively. This matrix is also overwritten.

long zhematrix::zhesv ( zgematrix mat)
inline

solve A*X=Y using zhesv
The argument is dmatrix Y. Y is overwritten and become the solution X. A is also overwritten.

long zhematrix::zhesv ( zcovector vec)
inline

solve A*x=y using zhesv
The argument is zcovector y. y is overwritten and become the solution x. A is also overwritten.

Friends And Related Function Documentation

_zhematrix _ ( zhematrix mat)
friend

convert user object to smart-temporary object

_zhematrix conj ( const zhematrix mat)
friend

return its conjugate matrix

_zhematrix conjt ( const zhematrix mat)
friend

return its conjugate transposed matrix

_zgematrix i ( const zhematrix mat)
friend

return its inverse matrix

_zgematrix operator* ( const _zhematrix matA,
const zhematrix matB 
)
friend

_zhematrix*zhematrix operator

_zgematrix operator* ( const zhematrix matA,
const _zhematrix matB 
)
friend

zhematrix*_zhematrix operator

_zgematrix operator* ( const zhematrix matA,
const zhematrix matB 
)
friend

zhematrix*zhematrix operator

_zgematrix operator* ( const zhematrix matA,
const zgematrix matB 
)
friend

zhematrix*zgematrix operator

_zgematrix operator* ( const zhematrix matA,
const _zgematrix matB 
)
friend

_zgematrix*zgematrix operator

_zgematrix operator* ( const zgematrix matA,
const zhematrix matB 
)
friend

zgematrix*zhematrix operator

_zgematrix operator* ( const _zgematrix matA,
const zhematrix matB 
)
friend

_zgematrix*zhematrix operator

_zgematrix operator* ( const zhematrix matA,
const zgbmatrix matB 
)
friend

zhematrix*zgbmatrix operator

_zgematrix operator* ( const zhematrix matA,
const _zgbmatrix matB 
)
friend

zhematrix*_zgbmatrix operator

_zgematrix operator* ( const zgbmatrix matA,
const zhematrix matB 
)
friend

zgbmatrix*zhematrix operator

_zgematrix operator* ( const _zgbmatrix matA,
const zhematrix matB 
)
friend

_zgbmatrix*zgematrix operator

_zgematrix operator* ( const zhematrix matA,
const zssmatrix matB 
)
friend

zhematrix*zssmatrix operator

_zgematrix operator* ( const zhematrix matA,
const _zssmatrix matB 
)
friend

zhematrix*_zssmatrix operator

_zgematrix operator* ( const zssmatrix matA,
const zhematrix matB 
)
friend

zssmatrix*zhematrix operator

_zgematrix operator* ( const _zssmatrix matA,
const zhematrix matB 
)
friend

_zssmatrix*zhematrix operator

_zcovector operator* ( const zhematrix mat,
const zcovector vec 
)
friend

zhematrix*zcovector operator

_zcovector operator* ( const zhematrix mat,
const _zcovector vec 
)
friend

zhematrix*_zcovector operator

_zrovector operator* ( const zrovector vec,
const zhematrix mat 
)
friend

zrovector*zhematrix operator

_zrovector operator* ( const _zrovector vec,
const zhematrix mat 
)
friend

_zrovector*zhematrix operator

_zhematrix operator* ( const zhematrix mat,
const double &  d 
)
friend

zhematrix*double operator

_zhematrix operator* ( const double &  d,
const zhematrix mat 
)
friend

double*zhematrix operator

_zgematrix operator* ( const zhematrix mat,
const std::complex< double > &  d 
)
friend

zhematrix*std::complex<double> operator

_zgematrix operator* ( const std::complex< double > &  d,
const zhematrix mat 
)
friend

std::complex<double>*zhematrix operator

const zhematrix& operator+ ( const zhematrix mat)
friend

+zhematrix operator

_zhematrix operator+ ( const zhematrix matA,
const zhematrix matB 
)
friend

zhematrix+zhematrix operator

_zhematrix operator+ ( const zhematrix matA,
const _zhematrix matB 
)
friend

zhematrix+_zhematrix operator

_zhematrix operator+ ( const _zhematrix matA,
const zhematrix matB 
)
friend

_zhematrix+zhematrix operator

_zgematrix operator+ ( const zhematrix matA,
const zgematrix matB 
)
friend

zhematrix+zgematrix operator

_zgematrix operator+ ( const zhematrix matA,
const _zgematrix matB 
)
friend

_zgematrix+zhematrix operator

_zgematrix operator+ ( const zgematrix matA,
const zhematrix matB 
)
friend

zgematrix+zhematrix operator

_zgematrix operator+ ( const _zgematrix matA,
const zhematrix matB 
)
friend

_zgematrix+zhematrix operator

_zgematrix operator+ ( const zhematrix matA,
const zgbmatrix matB 
)
friend

zhematrix+zgbmatrix operator

_zgematrix operator+ ( const zhematrix matA,
const _zgbmatrix matB 
)
friend

zhematrix+_zgbmatrix operator

_zgematrix operator+ ( const zgbmatrix matA,
const zhematrix matB 
)
friend

zgbmatrix+zhematrix operator

_zgematrix operator+ ( const _zgbmatrix matA,
const zhematrix matB 
)
friend

_zgbmatrix+zhematrix operator

_zgematrix operator+ ( const zhematrix matA,
const zssmatrix matB 
)
friend

zhematrix+zssmatrix operator

_zgematrix operator+ ( const zhematrix matA,
const _zssmatrix matB 
)
friend

zhematrix+_zssmatrix operator

_zgematrix operator+ ( const zssmatrix matA,
const zhematrix matB 
)
friend

zssmatrix+zhematrix operator

_zgematrix operator+ ( const _zssmatrix matA,
const zhematrix matB 
)
friend

_zssmatrix+zhematrix operator

_zhematrix operator- ( const zhematrix mat)
friend

-zgematrix operator

_zhematrix operator- ( const zhematrix matA,
const zhematrix matB 
)
friend

zhematrix-zhematrix operator

_zhematrix operator- ( const zhematrix matA,
const _zhematrix matB 
)
friend

zhematrix-_zhematrix operator

_zhematrix operator- ( const _zhematrix matA,
const zhematrix matB 
)
friend

_zhematrix-zhematrix operator

_zgematrix operator- ( const zhematrix matA,
const zgematrix matB 
)
friend

zhematrix-zgematrix operator

_zgematrix operator- ( const zhematrix matA,
const _zgematrix matB 
)
friend

_zgematrix-zgematrix operator

_zgematrix operator- ( const zgematrix matA,
const zhematrix matB 
)
friend

zgematrix-zhematrix operator

_zgematrix operator- ( const _zgematrix matA,
const zhematrix matB 
)
friend

_zgematrix-zhematrix operator

_zgematrix operator- ( const zhematrix matA,
const zgbmatrix matB 
)
friend

zhematrix-zgbmatrix operator

_zgematrix operator- ( const zhematrix matA,
const _zgbmatrix matB 
)
friend

zhematrix-_zgbmatrix operator

_zgematrix operator- ( const zgbmatrix matA,
const zhematrix matB 
)
friend

zgbmatrix-zhematrix operator

_zgematrix operator- ( const _zgbmatrix matA,
const zhematrix matB 
)
friend

_zgbmatrix-zgematrix operator

_zgematrix operator- ( const zhematrix matA,
const zssmatrix matB 
)
friend

zhematrix-zssmatrix operator

_zgematrix operator- ( const zhematrix matA,
const _zssmatrix matB 
)
friend

zhematrix-_zssmatrix operator

_zgematrix operator- ( const zssmatrix matA,
const zhematrix matB 
)
friend

zssmatrix-zhematrix operator

_zgematrix operator- ( const _zssmatrix matA,
const zhematrix matB 
)
friend

_zssmatrix-zhematrix operator

_zhematrix operator/ ( const zhematrix mat,
const double &  d 
)
friend

zhematrix/double operator

_zgematrix operator/ ( const zhematrix mat,
const std::complex< double > &  d 
)
friend

zhematrix/std::complex<double> operator

void swap ( zhematrix A,
zhematrix B 
)
friend

swap two matrices

_zhematrix t ( const zhematrix mat)
friend

return transposed zgematrix


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