6 std::cerr <<
"# [MARK] zhematrix::operator=(const _zhematrix&)"
23 std::cerr <<
"# [MARK] zhematrix::operator+=(const _zhematrix&)"
29 std::cerr <<
"[ERROR] zhematrix::operator+=(_zhematrix&)" << std::endl
30 <<
"These two matrises can not make a summation." << std::endl
31 <<
"Your input was (" << N <<
"x" << N <<
") += ("
32 << mat.
N <<
"x" << mat.
N <<
")." << std::endl;
37 for(
long i=0;
i<N;
i++){
for(
long j=0; j<=
i; j++){
50 std::cerr <<
"# [MARK] zhematrix::operator-=(const _zhematrix&)"
56 std::cerr <<
"[ERROR] zhematrix::operator-=(_zhematrix&)" << std::endl
57 <<
"These two matrises can not make a sutraction." << std::endl
58 <<
"Your input was (" << N <<
"x" << N <<
") -= ("
59 << mat.
N <<
"x" << mat.
N <<
")." << std::endl;
64 for(
long i=0;
i<N;
i++){
for(
long j=0; j<=
i; j++){
81 std::cerr <<
"# [MARK] operator+(const zhematrix&, const _zhematrix&)"
87 std::cerr <<
"[ERROR] operator+(zhematrix&, _zhematrix&)" << std::endl
88 <<
"These two matrises can not make a summation." << std::endl
89 <<
"Your input was (" << matA.N <<
"x" << matA.N <<
") + ("
90 << matB.
N <<
"x" << matB.
N <<
")." << std::endl;
95 for(
long i=0; i<matA.N; i++){
for(
long j=0; j<=i; j++){
96 matB.
Array[i+matA.N*j]+=matA.Array[i+matA.N*j];
107 std::cerr <<
"# [MARK] operator-(const zhematrix&, const _zhematrix&)"
113 std::cerr <<
"[ERROR] operator-(zhematrix&, _zhematrix&)" << std::endl
114 <<
"These two matrises can not make a subtraction." << std::endl
115 <<
"Your input was (" << matA.N <<
"x" << matA.N <<
") - ("
116 << matB.
N <<
"x" << matB.
N <<
")." << std::endl;
121 for(
long i=0; i<matA.N; i++){
for(
long j=0; j<=i; j++){
133 std::cerr <<
"# [MARK] operator*(const zhematrix&, const _zhematrix&)"
139 std::cerr <<
"[ERROR] operator*(zhematrix&, _zhematrix&)" << std::endl
140 <<
"These two matrises can not make a product." << std::endl
141 <<
"Your input was (" << matA.N <<
"x" << matA.N <<
") * ("
142 << matB.
N <<
"x" << matB.
N <<
")." << std::endl;
150 zhemm_(
'L',
'L', matA.N, matB.
N, std::complex<double>(1.0,0.0),
151 matA.Array, matA.N, matB.
Array, matB.
N,
152 std::complex<double>(0.0,0.0), newmat.
array, newmat.
m );
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class
Definition: _zhematrix.hpp:3
void shallow_copy(const _zhematrix &)
Definition: zhematrix-misc.hpp:125
zhematrix & operator+=(const zhematrix &)
Definition: zhematrix-zhematrix.hpp:22
long const & m
matrix row size (readable)
Definition: zgematrix.hpp:14
friend _zrovector operator-(const _zrovector &)
Definition: _zrovector-unary.hpp:15
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
std::complex< double > * Array
1D Array to store matrix data
Definition: _zhematrix.hpp:8
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
friend _zgematrix i(const zhematrix &)
Definition: zhematrix-calc.hpp:20
void complete() const
Definition: _zhematrix-misc.hpp:22
void destroy() const
Definition: _zhematrix-misc.hpp:3
friend _zrovector operator*(const zrovector &, const zgematrix &)
Definition: zrovector-zgematrix.hpp:3
std::complex< double > * Array
1D Array to store vector data
Definition: _zrovector.hpp:8
zhematrix & operator=(const zhematrix &)
Definition: zhematrix-zhematrix.hpp:3
Complex Double-precision Hermitian Matrix Class [L-type (UPLO=L) Strage].
Definition: zhematrix.hpp:4
long N
matrix column or row size
Definition: _zhematrix.hpp:7
std::complex< double > *const & array
1D array to store matrix data (readable)
Definition: zgematrix.hpp:16
zhematrix & operator-=(const zhematrix &)
Definition: zhematrix-zhematrix.hpp:48
friend const _zrovector & operator+(const _zrovector &)
Definition: _zrovector-unary.hpp:3