Go to the source code of this file.
Functions | |
_dgematrix | operator+ (const dgematrix &matA, const dgematrix &matB) |
_dgematrix | operator- (const dgematrix &matA, const dgematrix &matB) |
_dgematrix | operator* (const dgematrix &matA, const dgematrix &matB) |
_drovector | operator% (const dgematrix &matA, const dgematrix &matB) |
_dgematrix operator+ | ( | const dgematrix & | matA, |
const dgematrix & | matB | ||
) | [inline] |
dgematrix+dgematrix operator
Definition at line 76 of file dgematrix-dgematrix.hpp.
References _(), dgematrix::array, i(), dgematrix::m, and dgematrix::n.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(matA.n!=matB.n || matA.m!=matB.m){ ERROR_REPORT; std::cerr << "These two matrises can not make a summation." << std::endl << "Your input was (" << matA.m << "x" << matA.n << ") + (" << matB.m << "x" << matB.n << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG dgematrix newmat(matA.m,matA.n); for(long i=0; i<newmat.m*newmat.n; i++){ newmat.array[i] =matA.array[i]+matB.array[i]; } return _(newmat); }
_dgematrix operator- | ( | const dgematrix & | matA, |
const dgematrix & | matB | ||
) | [inline] |
dgematrix-dgematrix operator
Definition at line 97 of file dgematrix-dgematrix.hpp.
References _(), dgematrix::array, i(), dgematrix::m, and dgematrix::n.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(matA.n!=matB.n || matA.m!=matB.m){ ERROR_REPORT; std::cerr << "These two matrises can not make a subtraction." << std::endl << "Your input was (" << matA.m << "x" << matA.n << ") - (" << matB.m << "x" << matB.n << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG dgematrix newmat(matA.m,matA.n); for(long i=0; i<newmat.m*newmat.n; i++){ newmat.array[i] =matA.array[i]-matB.array[i]; } return _(newmat); }
_dgematrix operator* | ( | const dgematrix & | matA, |
const dgematrix & | matB | ||
) | [inline] |
dgematrix*dgematrix operator
Definition at line 118 of file dgematrix-dgematrix.hpp.
References _(), dgematrix::array, dgematrix::m, and dgematrix::n.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(matA.n!=matB.m){ ERROR_REPORT; std::cerr << "These two matrises can not make a product." << std::endl << "Your input was (" << matA.m << "x" << matA.n << ") * (" << matB.m << "x" << matB.n << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG dgematrix newmat( matA.m, matB.n ); dgemm_( 'n', 'n', matA.m, matB.n, matA.n, 1.0, matA.array, matA.m, matB.array, matB.m, 0.0, newmat.array, matA.m ); return _(newmat); }
_drovector operator% | ( | const dgematrix & | matA, |
const dgematrix & | matB | ||
) | [inline] |
dgematrixdgematrix operator
Definition at line 138 of file dgematrix-dgematrix.hpp.
References _(), i(), dgematrix::m, dgematrix::n, and drovector::zero().
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(matA.m!=matB.m || matA.n!=matB.n){ ERROR_REPORT; std::cerr << "These two matrises can not make a product." << std::endl << "Your input was (" << matA.m << "x" << matA.n << ") % (" << matB.m << "x" << matB.n << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG drovector newvec( matA.n ); newvec.zero(); for(long j=0; j<matA.n; j++){ for(long i=0; i<matA.m; i++){ newvec(j) +=matA(i,j)*matB(i,j); } } return _(newvec); }