VERB_code_2.3
zgematrix Class Reference

Complex Double-precision General Dence Matrix Class. More...

#include <zgematrix.hpp>

Public Member Functions

 zgematrix ()
 
 zgematrix (const zgematrix &)
 
 zgematrix (const _zgematrix &)
 
 zgematrix (const zgbmatrix &)
 
 zgematrix (const _zgbmatrix &)
 
 zgematrix (const zhematrix &)
 
 zgematrix (const _zhematrix &)
 
 zgematrix (const zssmatrix &)
 
 zgematrix (const _zssmatrix &)
 
 zgematrix (const long &, const long &)
 
 zgematrix (const char *)
 
 ~zgematrix ()
 
std::complex< double > & 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 clear ()
 
void zero ()
 
void identity ()
 
void chsign ()
 
void copy (const zgematrix &)
 
void shallow_copy (const _zgematrix &)
 
void resize (const long &, const long &)
 
long zgesv (zgematrix &)
 
long zgesv (zcovector &)
 
long zgels (zgematrix &)
 
long zgels (zcovector &)
 
long zgels (zgematrix &, drovector &)
 
long zgels (zcovector &, double &)
 
long zgelss (zcovector &, dcovector &, long &, const double)
 
long zgelss (zgematrix &, dcovector &, long &, const double)
 
long zgeev (std::vector< std::complex< double > > &)
 
long zgeev (std::vector< std::complex< double > > &, std::vector< zcovector > &)
 
long zgeev (std::vector< std::complex< double > > &, std::vector< zrovector > &)
 
long zgesvd (dcovector &, zgematrix &, zgematrix &)
 
zgematrixoperator= (const zgematrix &)
 
zgematrixoperator+= (const zgematrix &)
 
zgematrixoperator-= (const zgematrix &)
 
zgematrixoperator*= (const zgematrix &)
 
zgematrixoperator= (const _zgematrix &)
 
zgematrixoperator+= (const _zgematrix &)
 
zgematrixoperator-= (const _zgematrix &)
 
zgematrixoperator*= (const _zgematrix &)
 
zgematrixoperator= (const zgbmatrix &)
 
zgematrixoperator+= (const zgbmatrix &)
 
zgematrixoperator-= (const zgbmatrix &)
 
zgematrixoperator*= (const zgbmatrix &)
 
zgematrixoperator= (const _zgbmatrix &)
 
zgematrixoperator+= (const _zgbmatrix &)
 
zgematrixoperator-= (const _zgbmatrix &)
 
zgematrixoperator*= (const _zgbmatrix &)
 
zgematrixoperator= (const zhematrix &mat)
 
zgematrixoperator+= (const zhematrix &mat)
 
zgematrixoperator-= (const zhematrix &mat)
 
zgematrixoperator*= (const zhematrix &mat)
 
zgematrixoperator= (const _zhematrix &mat)
 
zgematrixoperator+= (const _zhematrix &mat)
 
zgematrixoperator-= (const _zhematrix &mat)
 
zgematrixoperator*= (const _zhematrix &mat)
 
zgematrixoperator*= (const double &)
 
zgematrixoperator/= (const double &)
 
zgematrixoperator*= (const std::complex< double > &)
 
zgematrixoperator/= (const std::complex< double > &)
 

Public Attributes

long const & m
 matrix row size (readable)
 
long const & n
 matrix column 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 zgbmatrix
 
class _zgbmatrix
 
class zhematrix
 
class _zhematrix
 
class zssmatrix
 
class _zssmatrix
 
class zcovector
 
class _zcovector
 
class zrovector
 
class _zrovector
 
std::ostream & operator<< (std::ostream &, const zgematrix &)
 
void swap (zgematrix &, zgematrix &)
 
_zgematrix _ (zgematrix &)
 
_zgematrix t (const zgematrix &)
 
_zgematrix i (const zgematrix &)
 
_zgematrix conj (const zgematrix &)
 
_zgematrix conjt (const zgematrix &)
 
void idamax (long &, long &, const zgematrix &)
 
std::complex< double > damax (const zgematrix &)
 
const zgematrixoperator+ (const zgematrix &)
 
_zgematrix operator- (const zgematrix &)
 
_zgematrix operator+ (const zgematrix &, const zgematrix &)
 
_zgematrix operator+ (const zgematrix &, const _zgematrix &)
 
_zgematrix operator+ (const _zgematrix &, const zgematrix &)
 
_zgematrix operator+ (const zgematrix &, const zgbmatrix &)
 
_zgematrix operator+ (const zgematrix &, const _zgbmatrix &)
 
_zgematrix operator+ (const zgbmatrix &, const zgematrix &)
 
_zgematrix operator+ (const _zgbmatrix &, const zgematrix &)
 
_zgematrix operator+ (const zgematrix &, const zhematrix &)
 
_zgematrix operator+ (const zgematrix &, const _zhematrix &)
 
_zgematrix operator+ (const zhematrix &, const zgematrix &)
 
_zgematrix operator+ (const _zhematrix &, const zgematrix &)
 
_zgematrix operator+ (const zgematrix &, const zssmatrix &)
 
_zgematrix operator+ (const zgematrix &, const _zssmatrix &)
 
_zgematrix operator+ (const zssmatrix &, const zgematrix &)
 
_zgematrix operator+ (const _zssmatrix &, const zgematrix &)
 
_zgematrix operator- (const zgematrix &, const zgematrix &)
 
_zgematrix operator- (const zgematrix &, const _zgematrix &)
 
_zgematrix operator- (const _zgematrix &, const zgematrix &)
 
_zgematrix operator- (const zgematrix &, const zgbmatrix &)
 
_zgematrix operator- (const zgematrix &, const _zgbmatrix &)
 
_zgematrix operator- (const zgbmatrix &, const zgematrix &)
 
_zgematrix operator- (const _zgbmatrix &, const zgematrix &)
 
_zgematrix operator- (const zgematrix &, const zhematrix &)
 
_zgematrix operator- (const zgematrix &, const _zhematrix &)
 
_zgematrix operator- (const zhematrix &, const zgematrix &)
 
_zgematrix operator- (const _zhematrix &, const zgematrix &)
 
_zgematrix operator- (const zgematrix &, const zssmatrix &)
 
_zgematrix operator- (const zgematrix &, const _zssmatrix &)
 
_zgematrix operator- (const zssmatrix &, const zgematrix &)
 
_zgematrix operator- (const _zssmatrix &, const zgematrix &)
 
_zgematrix operator* (const zgematrix &, const zgematrix &)
 
_zgematrix operator* (const zgematrix &, const _zgematrix &)
 
_zgematrix operator* (const _zgematrix &, const zgematrix &)
 
_zgematrix operator* (const zgematrix &, const zgbmatrix &)
 
_zgematrix operator* (const zgematrix &, const _zgbmatrix &)
 
_zgematrix operator* (const zgbmatrix &, const zgematrix &)
 
_zgematrix operator* (const _zgbmatrix &, const zgematrix &)
 
_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 zssmatrix &, const zgematrix &)
 
_zgematrix operator* (const _zssmatrix &, const zgematrix &)
 
_zgematrix operator* (const zgematrix &, const zssmatrix &)
 
_zgematrix operator* (const zgematrix &, const _zssmatrix &)
 
_zcovector operator* (const zgematrix &, const zcovector &)
 
_zcovector operator* (const zgematrix &, const _zcovector &)
 
_zrovector operator* (const zrovector &, const zgematrix &)
 
_zrovector operator* (const _zrovector &, const zgematrix &)
 
_zgematrix operator* (const zgematrix &, const double &)
 
_zgematrix operator* (const double &, const zgematrix &)
 
_zgematrix operator* (const zgematrix &, const std::complex< double > &)
 
_zgematrix operator* (const std::complex< double > &, const zgematrix &)
 
_zgematrix operator/ (const zgematrix &, const double &)
 
_zgematrix operator/ (const zgematrix &, const std::complex< double > &)
 

Detailed Description

Complex Double-precision General Dence Matrix Class.

Constructor & Destructor Documentation

zgematrix::zgematrix ( )
inline

zgematrix constructor without arguments

zgematrix::zgematrix ( const zgematrix mat)
inline

zgematrix copy constructor

zgematrix::zgematrix ( const _zgematrix mat)
inline

zgematrix constructor to cast _zgematrix

zgematrix::zgematrix ( const zgbmatrix mat)
inline

zgematrix constructor to cast zgbmatrix

zgematrix::zgematrix ( const _zgbmatrix mat)
inline

zgematrix constructor to cast _zgbmatrix

zgematrix::zgematrix ( const zhematrix mat)
inline

zgematrix constructor to cast zhematrix

zgematrix::zgematrix ( const _zhematrix mat)
inline

zgematrix constructor to cast _zhematrix

zgematrix::zgematrix ( const zssmatrix mat)
inline

zgematrix constructor to cast zssmatrix

zgematrix::zgematrix ( const _zssmatrix mat)
inline

zgematrix constructor to cast _zssmatrix

zgematrix::zgematrix ( const long &  _m,
const long &  _n 
)
inline

zgematrix constructor with size specification

zgematrix::zgematrix ( const char *  filename)
inline

zgematrix constructor with filename

zgematrix::~zgematrix ( )
inline

zgematrix destructor

Member Function Documentation

void zgematrix::chsign ( )
inline

change sign(+/-) of the matrix

void zgematrix::clear ( )
inline

clear all the matrix data and set the sizes 0

void zgematrix::copy ( const zgematrix mat)
inline

make a deep copy of the matrix

void zgematrix::identity ( )
inline

change the matrix into an identity matrix

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

operator() for non-const object

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

operator() for const object

zgematrix & zgematrix::operator*= ( const zgematrix mat)
inline

zgematrix operator*=

zgematrix & zgematrix::operator*= ( const _zgematrix mat)
inline

zgematrix*=_zgematrix operator

zgematrix & zgematrix::operator*= ( const zgbmatrix mat)
inline

zgematrix*=zgbmatrix operator

zgematrix & zgematrix::operator*= ( const _zgbmatrix mat)
inline

zgematrix*=_zgbmatrix operator

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

zgematrix*=zhematrix operator

zgematrix & zgematrix::operator*= ( const _zhematrix mat)
inline

zgematrix*=_zhematrix operator

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

zgematrix*=double operator

zgematrix & zgematrix::operator*= ( const std::complex< double > &  d)
inline

zgematrix*=std::complex<double> operator

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

zgematrix+=zgematrix operator

zgematrix & zgematrix::operator+= ( const _zgematrix mat)
inline

zgematrix+=_zgematrix operator

zgematrix & zgematrix::operator+= ( const zgbmatrix mat)
inline

zgematrix+=zgbmatrix operator

zgematrix & zgematrix::operator+= ( const _zgbmatrix mat)
inline

zgematrix+=_zgbmatrix operator

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

zgematrix+=zhematrix operator

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

zgematrix+=_zhematrix operator

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

zgematrix operator-=

zgematrix & zgematrix::operator-= ( const _zgematrix mat)
inline

zgematrix-=_zgematrix operator

zgematrix & zgematrix::operator-= ( const zgbmatrix mat)
inline

zgematrix-=zgbmatrix operator

zgematrix & zgematrix::operator-= ( const _zgbmatrix mat)
inline

zgematrix-=_zgbmatrix operator

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

zgematrix-=zhematrix operator

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

zgematrix-=_zhematrix operator

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

zgematrix/=double operator

zgematrix & zgematrix::operator/= ( const std::complex< double > &  d)
inline

zgematrix/=std::complex<double> operator

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

zgematrix=zgematrix operator

zgematrix & zgematrix::operator= ( const _zgematrix mat)
inline

zgematrix=_zgematrix operator

zgematrix & zgematrix::operator= ( const zgbmatrix mat)
inline

zgematrix=zgbmatrix operator

zgematrix & zgematrix::operator= ( const _zgbmatrix mat)
inline

zgematrix=_zgbmatrix operator

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

zgematrix=zhematrix operator

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

zgematrix=_zhematrix operator

void zgematrix::resize ( const long &  _m,
const long &  _n 
)
inline

resize the matrix

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

set value for const object

void zgematrix::shallow_copy ( const _zgematrix mat)
inline

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

void zgematrix::zero ( )
inline

change the matrix into a zero matrix

long zgematrix::zgeev ( std::vector< std::complex< double > > &  w)
inline

calculate eigenvalues
The argument need not to be initialized. w is overwitten and become eigenvalues. This matrix is also overwritten.

long zgematrix::zgeev ( std::vector< std::complex< double > > &  w,
std::vector< zcovector > &  vr 
)
inline

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

long zgematrix::zgeev ( std::vector< std::complex< double > > &  w,
std::vector< zrovector > &  vl 
)
inline

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

long zgematrix::zgels ( zgematrix mat)
inline

solve overdetermined or underdetermined A*X=Y using zgels

long zgematrix::zgels ( zcovector vec)
inline

solve overdetermined or underdetermined A*x=y using zgels

long zgematrix::zgels ( zgematrix mat,
drovector residual 
)
inline

solve overdetermined or underdetermined A*X=Y using zgels with the sum of residual squares output
The residual is set as the columnwise sum of residual squares for overdetermined problems while it is always zero for underdetermined problems.

long zgematrix::zgels ( zcovector vec,
double &  residual 
)
inline

solve overdetermined or underdetermined A*x=y using zgels with the sum of residual squares output
The residual is set as the sum of residual squares for overdetermined problems while it is always zero for underdetermined problems.

long zgematrix::zgelss ( zcovector B,
dcovector S,
long &  RANK,
const double  RCOND = -1. 
)
inline

calculate the least-squares-least-norm solution for overdetermined or underdetermined A*x=y using zgelss

long zgematrix::zgelss ( zgematrix B,
dcovector S,
long &  RANK,
const double  RCOND = -1. 
)
inline

calculate the least-squares-least-norm solution for overdetermined or underdetermined A*x=y using zgelss

long zgematrix::zgesv ( zgematrix mat)
inline

solve A*X=Y using zgesv
The argument is zgematrix Y. Y is overwritten and become the solution X. A is also overwritten and become P*L*U.

long zgematrix::zgesv ( zcovector vec)
inline

solve A*x=y using zgesv
The argument is zcovector y. y is overwritten and become the solution x. A is also overwritten and become P*L*U.

long zgematrix::zgesvd ( dcovector S,
zgematrix U,
zgematrix VT 
)
inline

compute the singular value decomposition (SVD)
The arguments are zcocector S, zgematrix U and VT. All of them need not to be initialized. S, U and VT are overwitten and become singular values, left singular vectors, and right singular vectors respectively. This matrix also overwritten.

Friends And Related Function Documentation

_zgematrix _ ( zgematrix mat)
friend

convert user object to smart-temporary object

_zgematrix conj ( const zgematrix mat)
friend

return its conjugate matrix

_zgematrix conjt ( const zgematrix mat)
friend

return its conjugate transposed matrix

std::complex<double> damax ( const zgematrix mat)
friend

return its largest absolute value

_zgematrix i ( const zgematrix mat)
friend

return its inverse matrix

void idamax ( long &  i,
long &  j,
const zgematrix mat 
)
friend

search the index of element having the largest absolute value in 0-based numbering system

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

zgematrix*zgematrix operator

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

zgematrix*_zgematrix operator

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

_zgematrix*zgematrix operator

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

zgematrix*zgbmatrix operator

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

zgematrix*_zgbmatrix operator

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

zgbmatrix*zgematrix operator

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

_zgbmatrix*zgematrix operator

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

zhematrix*zgematrix operator

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

_zhematrix*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 zssmatrix matA,
const zgematrix matB 
)
friend

zssmatrix*zgematrix operator

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

_zssmatrix*zgematrix operator

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

zgematrix*zssmatrix operator

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

zgematrix*_zssmatrix operator

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

zgematrix*zcovector operator

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

zgematrix*_zcovector operator

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

zrovector*zgematrix operator

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

_zrovector*zgematrix operator

_zgematrix operator* ( const zgematrix mat,
const double &  d 
)
friend

zgematrix*double operator

_zgematrix operator* ( const double &  d,
const zgematrix mat 
)
friend

double*zgematrix operator

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

zgematrix*std::complex<double> operator

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

std::complex<double>*zgematrix operator

const zgematrix& operator+ ( const zgematrix mat)
friend

+zgematrix operator

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

zgematrix+zgematrix operator

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

zgematrix+_zgematrix operator

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

_zgematrix+zgematrix operator

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

zgematrix+zgbmatrix operator

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

zgematrix+_zgbmatrix operator

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

zgbmatrix+zgematrix operator

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

_zgbmatrix+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 zgematrix matB 
)
friend

zhematrix+zgematrix operator

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

_zhematrix+zgematrix operator

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

zgematrix+zssmatrix operator

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

zgematrix+_zssmatrix operator

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

zssmatrix+zgematrix operator

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

_zssmatrix+zgematrix operator

_zgematrix operator- ( const zgematrix mat)
friend

-zgematrix operator

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

zgematrix-zgematrix operator

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

zgematrix-_zgematrix operator

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

_zgematrix-zgematrix operator

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

zgematrix-zgbmatrix operator

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

zgematrix-_zgbmatrix operator

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

zgbmatrix-zgematrix operator

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

_zgbmatrix-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 zgematrix matB 
)
friend

zhematrix-zgematrix operator

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

_zhematrix-zgematrix operator

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

zgematrix-zssmatrix operator

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

zgematrix-_zssmatrix operator

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

zssmatrix-zgematrix operator

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

_zssmatrix-zgematrix operator

_zgematrix operator/ ( const zgematrix mat,
const double &  d 
)
friend

zgematrix/double operator

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

zgematrix/std::complex<double> operator

void swap ( zgematrix A,
zgematrix B 
)
friend

swap two matrices

_zgematrix t ( const zgematrix mat)
friend

return transposed zgematrix


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