6 std::cerr <<
"# [MARK] dgematrix::operator=(const _dgematrix&)"
11 std::cerr <<
"# [NOTE] dgematrix::operator=(const _dgematrix&) was called."
28 std::cerr <<
"# [MARK] dgematrix::operator+=(const _dgematrix&)"
33 if(N!=mat.
N || M!=mat.
M){
34 std::cerr <<
"[ERROR] dgematrix::operator+=(_dgematrix&)" << std::endl
35 <<
"These two matrises can not make a summation." << std::endl
36 <<
"Your input was (" << M <<
"x" << N <<
") += ("
37 << mat.
M <<
"x" << mat.
N <<
")." << std::endl;
53 std::cerr <<
"# [MARK] dgematrix::operator-=(const _dgematrix&)"
58 if(N!=mat.
N || M!=mat.
M){
59 std::cerr <<
"[ERROR] dgematrix::operator-=(_dgematrix&)" << std::endl
60 <<
"These two matrises can not make a sutraction." << std::endl
61 <<
"Your input was (" << M <<
"x" << N <<
") -= ("
62 << mat.
M <<
"x" << mat.
N <<
")." << std::endl;
78 std::cerr <<
"# [MARK] dgematrix::operator*=(const _dgematrix&)"
84 std::cerr <<
"[ERROR] dgematrix::operator*=(_dgematrix&)" << std::endl
85 <<
"These two matrises can not make a product." << std::endl
86 <<
"Your input was (" << M <<
"x" << N <<
") *= ("
87 << mat.
M <<
"x" << mat.
N <<
")." << std::endl;
93 dgemm_(
'N',
'N', M, mat.
N, N, 1.0,
Array, M,
94 mat.
Array, mat.
M, 0.0, newmat.Array, M );
110 std::cerr <<
"# [MARK] operator+(const dgematrix&, const _dgematrix&)"
115 if(matA.N!=matB.
N || matA.M!=matB.
M){
116 std::cerr <<
"[ERROR] operator+(dgematrix&, _dgematrix&)" << std::endl
117 <<
"These two matrises can not make a summation." << std::endl
118 <<
"Your input was (" << matA.M <<
"x" << matA.N <<
") + ("
119 << matB.
M <<
"x" << matB.
N <<
")." << std::endl;
124 for(
long i=0; i<matA.M*matA.N; i++){ matB.
Array[i] +=matA.Array[i]; }
134 std::cerr <<
"# [MARK] operator-(const dgematrix&, const _dgematrix&)"
139 if(matA.N!=matB.
N || matA.M!=matB.
M){
140 std::cerr <<
"[ERROR] operator-(dgematrix&, _dgematrix&)" << std::endl
141 <<
"These two matrises can not make a subtraction." << std::endl
142 <<
"Your input was (" << matA.M <<
"x" << matA.N <<
") - ("
143 << matB.
M <<
"x" << matB.
N <<
")." << std::endl;
148 for(
long i=0; i<matA.M*matA.N; i++){
160 std::cerr <<
"# [MARK] operator*(const dgematrix&, const _dgematrix&)"
166 std::cerr <<
"[ERROR] operator*(dgematrix&, _dgematrix&)" << std::endl
167 <<
"These two matrises can not make a product." << std::endl
168 <<
"Your input was (" << matA.M <<
"x" << matA.N <<
") * ("
169 << matB.
M <<
"x" << matB.
N <<
")." << std::endl;
175 dgemm_(
'N',
'N', matA.M, matB.
N, matA.N, 1.0, matA.Array, matA.M,
176 matB.
Array, matB.
M, 0.0, newmat.Array, matA.M );
friend void swap(dgematrix &, dgematrix &)
Definition: dgematrix-misc.hpp:154
double * Array
1D Array to store vector data
Definition: _drovector.hpp:8
Real Double-precision General Dence Matrix Class.
Definition: dgematrix.hpp:3
dgematrix & operator=(const dgematrix &)
Definition: dgematrix-dgematrix.hpp:3
dgematrix & operator*=(const dgematrix &)
Definition: dgematrix-dgematrix.hpp:68
friend _drovector operator-(const _drovector &)
Definition: _drovector-unary.hpp:15
(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class
Definition: _dgematrix.hpp:3
long N
matrix column size
Definition: _dgematrix.hpp:8
void shallow_copy(const _dgematrix &)
Definition: dgematrix-misc.hpp:103
double * Array
1D array to store matrix data
Definition: _dgematrix.hpp:9
friend _drovector operator*(const drovector &, const dgematrix &)
Definition: drovector-dgematrix.hpp:3
void destroy() const
Definition: _dgematrix-misc.hpp:3
dgematrix & operator-=(const dgematrix &)
Definition: dgematrix-dgematrix.hpp:45
friend _dgematrix i(const dgematrix &)
Definition: dgematrix-calc.hpp:21
dgematrix & operator+=(const dgematrix &)
Definition: dgematrix-dgematrix.hpp:22
friend const _drovector & operator+(const _drovector &)
Definition: _drovector-unary.hpp:3
long M
matrix row size
Definition: _dgematrix.hpp:7