64 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
65 void
add(Matrix A, Matrix B, Matrix C, typename Matrix::Scalar alpha=1.0,
66 typename Matrix::Scalar beta=1.0)
84 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
85 Matrix
add(Matrix A, Matrix B, typename Matrix::Scalar alpha=1.0,
86 typename Matrix::Scalar beta=1.0)
92 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
93 void
scale(Matrix A, Matrix B, typename Matrix::Scalar alpha)
99 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
100 void
scale(Matrix A, typename Matrix::Scalar alpha)
105 #ifdef HAVE_LINALG_LIB
118 template <Backend backend=linalg_traits<Core>::backend,
class Matrix,class Vector>
119 void apply(Matrix A, Vector b, Vector x, bool transpose=
false)
121 implementation::apply<backend,Matrix,Vector>::compute(A, b, x, transpose);
134 template <Backend backend=linalg_traits<Core>::backend,
class Matrix,class Vector>
135 Vector apply(Matrix A, Vector b, bool transpose=
false)
137 return implementation::apply<backend,Matrix,Vector>::compute(A, b, transpose);
154 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
155 void matrix_product(Matrix A, Matrix B, Matrix C,
156 bool transpose_A=
false,
bool transpose_B=
false,
bool overwrite=
true)
171 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
172 typename implementation::matrix_product<backend,Matrix>::ReturnType matrix_product(Matrix A, Matrix B,
173 bool transpose_A=false, bool transpose_B=false)
179 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
180 void subtract(Matrix A, Matrix B, Matrix C,
181 typename Matrix::Scalar alpha=1.0, typename Matrix::Scalar beta=1.0)
198 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
199 void elementwise_product(Matrix A, Matrix B, Matrix C)
214 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
215 typename implementation::elementwise_product<backend,Matrix>::ReturnType elementwise_product(Matrix A, Matrix B)
228 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
229 typename implementation::elementwise_square<backend,Matrix>::ReturnType elementwise_square(Matrix m)
241 template <Backend backend=linalg_traits<Core>::backend,
class Matrix, class ResultMatrix>
242 void elementwise_square(Matrix m, ResultMatrix result)
263 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
264 void convolve(Matrix X, Matrix W, Matrix Y, bool flip =
false,
265 bool overwrite=
true, int32_t stride_x=1, int32_t stride_y=1)
269 #endif // HAVE_LINALG_LIB
static void compute(Matrix A, Matrix B, Matrix C)
static void compute(Matrix A, Matrix B, Matrix C, bool transpose_A, bool transpose_B, bool overwrite)
void add(Matrix A, Matrix B, Matrix C, typename Matrix::Scalar alpha=1.0, typename Matrix::Scalar beta=1.0)
static void compute(Matrix A, Matrix B, Matrix C, T alpha, T beta)
static void compute(Matrix X, Matrix W, Matrix Y, bool flip, bool overwrite, int32_t stride_x, int32_t stride_y)
all of classes and functions are contained in the shogun namespace
void scale(Matrix A, Matrix B, typename Matrix::Scalar alpha)
static void compute(Matrix A, Matrix B, Matrix C, T alpha, T beta)
static Matrix compute(Matrix m)