6 std::cerr <<
"# [MARK] dgematrix::operator=(const dgematrix&)"
25 std::cerr <<
"# [MARK] dgematrix::operator+=(const dgematrix&)"
30 if(N!=mat.N || M!=mat.M){
31 std::cerr <<
"[ERROR] dgematrix::operator+=(dgematrix&)" << std::endl
32 <<
"These two matrises can not make a summation." << std::endl
33 <<
"Your input was (" << M <<
"x" << N <<
") += ("
34 << mat.M <<
"x" << mat.N <<
")." << std::endl;
39 for(
long i=0;
i<M*N;
i++){
Array[
i]+=mat.Array[
i]; }
48 std::cerr <<
"# [MARK] dgematrix::operator-=(const dgematrix&)"
53 if(N!=mat.N || M!=mat.M){
54 std::cerr <<
"[ERROR] dgematrix::operator-=(dgematrix&)" << std::endl
55 <<
"These two matrises can not make a sutraction." << std::endl
56 <<
"Your input was (" << M <<
"x" << N <<
") -= ("
57 << mat.M <<
"x" << mat.N <<
")." << std::endl;
62 for(
long i=0;
i<M*N;
i++){
Array[
i]-=mat.Array[
i]; }
71 std::cerr <<
"# [MARK] dgematrix::operator*=(const dgematrix&)"
77 std::cerr <<
"[ERROR] dgematrix::operator*=(dgematrix&)" << std::endl
78 <<
"These two matrises can not make a product." << std::endl
79 <<
"Your input was (" << M <<
"x" << N <<
") *= ("
80 << mat.M <<
"x" << mat.N <<
")." << std::endl;
86 dgemm_(
'N',
'N', M, mat.N, N, 1.0,
Array, M,
87 mat.Array, mat.M, 0.0, newmat.Array, M );
102 std::cerr <<
"# [MARK] operator+(const dgematrix&, const dgematrix&)"
107 if(matA.N!=matB.N || matA.M!=matB.M){
108 std::cerr <<
"[ERROR] operator+(dgematrix&, dgematrix&)" << std::endl
109 <<
"These two matrises can not make a summation." << std::endl
110 <<
"Your input was (" << matA.M <<
"x" << matA.N <<
") + ("
111 << matB.M <<
"x" << matB.N <<
")." << std::endl;
117 for(
long i=0; i<newmat.M*newmat.N; i++){
118 newmat.Array[i] =matA.Array[i]+matB.Array[i];
129 std::cerr <<
"# [MARK] operator-(const dgematrix&, const dgematrix&)"
134 if(matA.N!=matB.N || matA.M!=matB.M){
135 std::cerr <<
"[ERROR] operator-(dgematrix&, dgematrix&)" << std::endl
136 <<
"These two matrises can not make a subtraction." << std::endl
137 <<
"Your input was (" << matA.M <<
"x" << matA.N <<
") - ("
138 << matB.M <<
"x" << matB.N <<
")." << std::endl;
144 for(
long i=0; i<newmat.M*newmat.N; i++){
145 newmat.Array[i] =matA.Array[i]-matB.Array[i];
156 std::cerr <<
"# [MARK] operator*(const dgematrix&, const dgematrix&)"
162 std::cerr <<
"[ERROR] operator*(dgematrix&, dgematrix&)" << std::endl
163 <<
"These two matrises can not make a product." << std::endl
164 <<
"Your input was (" << matA.M <<
"x" << matA.N <<
") * ("
165 << matB.M <<
"x" << matB.N <<
")." << std::endl;
171 dgemm_(
'N',
'N', matA.M, matB.N, matA.N, 1.0, matA.Array, matA.M,
172 matB.Array, matB.M, 0.0, newmat.Array, matA.M );
friend void swap(dgematrix &, dgematrix &)
Definition: dgematrix-misc.hpp:154
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
void copy(const dgematrix &)
Definition: dgematrix-misc.hpp:72
friend _drovector operator*(const drovector &, const dgematrix &)
Definition: drovector-dgematrix.hpp:3
dgematrix & operator-=(const dgematrix &)
Definition: dgematrix-dgematrix.hpp:45
friend _dgematrix i(const dgematrix &)
Definition: dgematrix-calc.hpp:21
double * Array
1D Array to store vector data
Definition: _drovector.hpp:8
dgematrix & operator+=(const dgematrix &)
Definition: dgematrix-dgematrix.hpp:22
friend const _drovector & operator+(const _drovector &)
Definition: _drovector-unary.hpp:3