39 template<
typename vector_t,
typename matrix_t>
43 static inline bool MatMult(vector_t &dest,
const number &beta1,
const matrix_t &A1,
const vector_t &w1)
45 dest = beta1 * A1 * w1;
51 const number &alpha1,
const vector_t &v1,
52 const number &beta1,
const matrix_t &A1,
const vector_t &w1)
54 dest = alpha1*v1 + beta1 * A1 * w1;
58 const number &alpha1,
const vector_t &v1,
59 const number &alpha2,
const vector_t &v2,
60 const number &beta1,
const matrix_t &A1,
const vector_t &w1)
62 dest = alpha1*v1 + alpha2*v2 + beta1 * A1 * w1;
66 const number &beta1,
const matrix_t &A1,
const vector_t &w1,
67 const number &beta2,
const matrix_t &A2,
const vector_t &w2)
69 dest = beta1 * A1 * w1 + beta2 * A2 * w2;
73 const number &alpha1,
const vector_t &v1,
74 const number &beta1,
const matrix_t &A1,
const vector_t &w1,
75 const number &beta2,
const matrix_t &A2,
const vector_t &w2)
77 dest = alpha1*v1 + beta1 * A1 * w1 + beta2 * A2 * w2;
83 const number &beta1,
const matrix_t &A1,
const vector_t &w1)
85 dest = beta1 * A1 * w1;
91 const number &alpha1,
const vector_t &v1,
92 const number &beta1,
const matrix_t &A1,
const vector_t &w1)
94 dest = alpha1*v1 + beta1 * A1 * w1;
double number
Definition: types.h:124
@ MATRIX_USE_OPERATORS
Definition: matrix_algebra_types.h:70
static bool MatMultAdd(vector_t &dest, const number &alpha1, const vector_t &v1, const number &alpha2, const vector_t &v2, const number &beta1, const matrix_t &A1, const vector_t &w1)
Definition: matrix_use_operators.h:57
static bool MatMultTransposedAdd(vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const matrix_t &A1, const vector_t &w1)
calculates dest = alpha1*v1 + beta1 * A1^T *w1;
Definition: matrix_use_operators.h:90
static bool MatMultAdd(vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &beta2, const matrix_t &A2, const vector_t &w2)
Definition: matrix_use_operators.h:72
static bool MatMultAdd(vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &beta2, const matrix_t &A2, const vector_t &w2)
Definition: matrix_use_operators.h:65
static bool MatMult(vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1)
calculates dest = beta1 * A1 *w1;
Definition: matrix_use_operators.h:43
static bool MatMultTransposed(vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1)
calculates dest = beta1 * A1^T *w1;
Definition: matrix_use_operators.h:82
static bool MatMultAdd(vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const matrix_t &A1, const vector_t &w1)
calculates dest = alpha1*v1 + beta1 * A1 *w1;
Definition: matrix_use_operators.h:50
Definition: matrix_algebra_types.h:75