CPPL::zhematrix Class Reference

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

#include <cpplapack.h>

List of all members.

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.

Definition at line 2020 of file cpplapack.h.


Constructor & Destructor Documentation

zhematrix::zhematrix (  )  [inline]

zhematrix constructor without arguments

Definition at line 27635 of file cpplapack.h.

zhematrix::zhematrix ( const zhematrix mat  )  [inline]

zhematrix copy constructor

Definition at line 27657 of file cpplapack.h.

zhematrix::zhematrix ( const _zhematrix mat  )  [inline]

zhematrix constructor to cast _zhematrix

Definition at line 27682 of file cpplapack.h.

CPPL::zhematrix::zhematrix ( const zgbmatrix  )  [inline]

CPPL::zhematrix::zhematrix ( const _zgbmatrix  )  [inline]

zhematrix::zhematrix ( const long &  _n  )  [inline]

zhematrix constructor with size specification

Definition at line 27704 of file cpplapack.h.

zhematrix::zhematrix ( const char *  filename  )  [inline]

zhematrix constructor with filename

Definition at line 27737 of file cpplapack.h.

zhematrix::~zhematrix (  )  [inline]

zhematrix destructor

Definition at line 27763 of file cpplapack.h.


Member Function Documentation

void zhematrix::chsign (  )  [inline]

change sign(+/-) of the matrix

Definition at line 28050 of file cpplapack.h.

void zhematrix::clear (  )  [inline]

clear all the matrix data and set the sizes 0

Definition at line 27997 of file cpplapack.h.

void zhematrix::complete (  )  const [inline]

complete the upper-right components

Definition at line 27974 of file cpplapack.h.

void zhematrix::copy ( const zhematrix mat  )  [inline]

make a deep copy of the matrix

Definition at line 28066 of file cpplapack.h.

void zhematrix::identity (  )  [inline]

change the matrix into an identity matrix

Definition at line 28033 of file cpplapack.h.

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

operator() for const object

Definition at line 27806 of file cpplapack.h.

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

operator() for non-const object

Definition at line 27781 of file cpplapack.h.

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

zhematrix*=double operator

Definition at line 29394 of file cpplapack.h.

zhematrix& CPPL::zhematrix::operator*= ( const _zhematrix  )  [inline]

zhematrix& CPPL::zhematrix::operator*= ( const zhematrix  )  [inline]

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

zhematrix+=_zhematrix operator

Definition at line 29023 of file cpplapack.h.

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

zhematrix+=zhematrix operator

Definition at line 28870 of file cpplapack.h.

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

zhematrix-=_zhematrix operator

Definition at line 29050 of file cpplapack.h.

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

zhematrix operator-=

Definition at line 28896 of file cpplapack.h.

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

zhematrix/=double operator

Definition at line 29407 of file cpplapack.h.

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

zhematrix=_zhematrix operator

Definition at line 29006 of file cpplapack.h.

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

zhematrix=zhematrix operator

Definition at line 28851 of file cpplapack.h.

void zhematrix::read ( const char *  filename  )  [inline]

Definition at line 27927 of file cpplapack.h.

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

resize the matrix

Definition at line 28118 of file cpplapack.h.

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

set value for const object

Definition at line 27835 of file cpplapack.h.

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.

Definition at line 28096 of file cpplapack.h.

void zhematrix::write ( const char *  filename  )  const [inline]

Definition at line 27898 of file cpplapack.h.

void zhematrix::zero (  )  [inline]

change the matrix into a zero matrix

Definition at line 28019 of file cpplapack.h.

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.

Definition at line 28427 of file cpplapack.h.

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.

Definition at line 28384 of file cpplapack.h.

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.

Definition at line 28346 of file cpplapack.h.

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.

Definition at line 28299 of file cpplapack.h.

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.

Definition at line 28258 of file cpplapack.h.


Friends And Related Function Documentation

_zhematrix _ ( zhematrix mat  )  [friend]

convert user object to smart-temporary object

Definition at line 28161 of file cpplapack.h.

friend class _zcovector [friend]

Definition at line 2177 of file cpplapack.h.

friend class _zgbmatrix [friend]

Definition at line 2174 of file cpplapack.h.

friend class _zgematrix [friend]

Definition at line 2172 of file cpplapack.h.

friend class _zhematrix [friend]

Definition at line 2175 of file cpplapack.h.

friend class _zrovector [friend]

Definition at line 2179 of file cpplapack.h.

_zhematrix conj ( const zhematrix mat  )  [friend]

return its conjugate matrix

Definition at line 28220 of file cpplapack.h.

_zhematrix conjt ( const zhematrix mat  )  [friend]

return its conjugate transposed matrix

Definition at line 28237 of file cpplapack.h.

_zgematrix i ( const zhematrix mat  )  [friend]

return its inverse matrix

Definition at line 28199 of file cpplapack.h.

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

std::complex<double>*zhematrix operator

Definition at line 37591 of file cpplapack.h.

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

zhematrix*stdcomplex<double> operator

Definition at line 29455 of file cpplapack.h.

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

double*zhematrix operator

Definition at line 37433 of file cpplapack.h.

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

zhematrix*double operator

Definition at line 29424 of file cpplapack.h.

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

_zrovector*zhematrix operator

Definition at line 37003 of file cpplapack.h.

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

zrovector*zhematrix operator

Definition at line 36046 of file cpplapack.h.

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

zhematrix*_zcovector operator

Definition at line 29365 of file cpplapack.h.

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

zhematrix*zcovector operator

Definition at line 29339 of file cpplapack.h.

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

_zssmatrix*zhematrix operator

Definition at line 33403 of file cpplapack.h.

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

zssmatrix*zhematrix operator

Definition at line 32007 of file cpplapack.h.

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

zhematrix*_zssmatrix operator

Definition at line 29307 of file cpplapack.h.

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

zhematrix*zssmatrix operator

Definition at line 29218 of file cpplapack.h.

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

_zgbmatrix*zgematrix operator

Definition at line 27189 of file cpplapack.h.

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

zgbmatrix*zhematrix operator

Definition at line 25873 of file cpplapack.h.

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

zhematrix*_zgbmatrix operator

Definition at line 28816 of file cpplapack.h.

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

zhematrix*zgbmatrix operator

Definition at line 28716 of file cpplapack.h.

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

_zgematrix*zhematrix operator

Definition at line 23951 of file cpplapack.h.

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

zgematrix*zhematrix operator

Definition at line 22676 of file cpplapack.h.

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

_zgematrix*zgematrix operator

Definition at line 28625 of file cpplapack.h.

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

zhematrix*zgematrix operator

Definition at line 28547 of file cpplapack.h.

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

zhematrix*zhematrix operator

Definition at line 28978 of file cpplapack.h.

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

zhematrix*_zhematrix operator

Definition at line 29133 of file cpplapack.h.

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

_zhematrix*zhematrix operator

Definition at line 30180 of file cpplapack.h.

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

_zssmatrix+zhematrix operator

Definition at line 33345 of file cpplapack.h.

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

zssmatrix+zhematrix operator

Definition at line 31948 of file cpplapack.h.

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

zhematrix+_zssmatrix operator

Definition at line 29249 of file cpplapack.h.

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

zhematrix+zssmatrix operator

Definition at line 29162 of file cpplapack.h.

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

_zgbmatrix+zhematrix operator

Definition at line 27129 of file cpplapack.h.

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

zgbmatrix+zhematrix operator

Definition at line 25809 of file cpplapack.h.

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

zhematrix+_zgbmatrix operator

Definition at line 28750 of file cpplapack.h.

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

zhematrix+zgbmatrix operator

Definition at line 28652 of file cpplapack.h.

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

_zgematrix+zhematrix operator

Definition at line 23895 of file cpplapack.h.

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

zgematrix+zhematrix operator

Definition at line 22622 of file cpplapack.h.

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

_zgematrix+zhematrix operator

Definition at line 28573 of file cpplapack.h.

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

zhematrix+zgematrix operator

Definition at line 28492 of file cpplapack.h.

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

_zhematrix+zhematrix operator

Definition at line 30124 of file cpplapack.h.

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

zhematrix+_zhematrix operator

Definition at line 29081 of file cpplapack.h.

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

zhematrix+zhematrix operator

Definition at line 28922 of file cpplapack.h.

const zhematrix& operator+ ( const zhematrix mat  )  [friend]

+zhematrix operator

Definition at line 28464 of file cpplapack.h.

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

_zssmatrix-zhematrix operator

Definition at line 33374 of file cpplapack.h.

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

zssmatrix-zhematrix operator

Definition at line 31976 of file cpplapack.h.

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

zhematrix-_zssmatrix operator

Definition at line 29278 of file cpplapack.h.

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

zhematrix-zssmatrix operator

Definition at line 29190 of file cpplapack.h.

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

_zgbmatrix-zgematrix operator

Definition at line 27159 of file cpplapack.h.

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

zgbmatrix-zhematrix operator

Definition at line 25841 of file cpplapack.h.

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

zhematrix-_zgbmatrix operator

Definition at line 28783 of file cpplapack.h.

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

zhematrix-zgbmatrix operator

Definition at line 28684 of file cpplapack.h.

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

_zgematrix-zhematrix operator

Definition at line 23923 of file cpplapack.h.

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

zgematrix-zhematrix operator

Definition at line 22649 of file cpplapack.h.

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

_zgematrix-zgematrix operator

Definition at line 28599 of file cpplapack.h.

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

zhematrix-zgematrix operator

Definition at line 28519 of file cpplapack.h.

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

_zhematrix-zhematrix operator

Definition at line 30152 of file cpplapack.h.

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

zhematrix-_zhematrix operator

Definition at line 29107 of file cpplapack.h.

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

zhematrix-zhematrix operator

Definition at line 28950 of file cpplapack.h.

_zhematrix operator- ( const zhematrix mat  )  [friend]

-zgematrix operator

Definition at line 28476 of file cpplapack.h.

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

zhematrix/stdcomplex<double> operator

Definition at line 29471 of file cpplapack.h.

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

zhematrix/double operator

Definition at line 29439 of file cpplapack.h.

std::ostream& operator<< ( std::ostream &  s,
const zhematrix mat 
) [friend]

Definition at line 27865 of file cpplapack.h.

void swap ( zhematrix A,
zhematrix B 
) [friend]

swap two matrices

Definition at line 28145 of file cpplapack.h.

_zhematrix t ( const zhematrix mat  )  [friend]

return transposed zgematrix

Definition at line 28182 of file cpplapack.h.

friend class zcovector [friend]

Definition at line 2176 of file cpplapack.h.

friend class zgbmatrix [friend]

Definition at line 2173 of file cpplapack.h.

friend class zgematrix [friend]

Definition at line 2171 of file cpplapack.h.

friend class zrovector [friend]

Definition at line 2178 of file cpplapack.h.


Member Data Documentation

std::complex<double>* const& CPPL::zhematrix::array

1D array to store matrix data (readable)

Definition at line 2031 of file cpplapack.h.

std::complex<double>** const& CPPL::zhematrix::darray

array of pointers of column head addresses (readable)

Definition at line 2032 of file cpplapack.h.

long const& CPPL::zhematrix::n

matrix column size or row size (readable)

Definition at line 2030 of file cpplapack.h.


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

Generated on Wed May 26 16:37:46 2010 for VERB_CODE_2.0 by  doxygen 1.5.9