65 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
66 void
add(Matrix A, Matrix B, Matrix C, typename Matrix::Scalar alpha=1.0,
67 typename Matrix::Scalar beta=1.0)
85 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
86 Matrix
add(Matrix A, Matrix B, typename Matrix::Scalar alpha=1.0,
87 typename Matrix::Scalar beta=1.0)
93 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
94 void
scale(Matrix A, Matrix B, typename Matrix::Scalar alpha)
100 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
101 void
scale(Matrix A, typename Matrix::Scalar alpha)
110 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
121 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
127 #ifdef HAVE_LINALG_LIB
140 template <Backend backend=linalg_traits<Core>::backend,
class Matrix,class Vector>
141 void apply(Matrix A, Vector b, Vector x, bool transpose=
false)
143 implementation::apply<backend,Matrix,Vector>::compute(A, b, x, transpose);
156 template <Backend backend=linalg_traits<Core>::backend,
class Matrix,class Vector>
157 Vector apply(Matrix A, Vector b, bool transpose=
false)
159 return implementation::apply<backend,Matrix,Vector>::compute(A, b, transpose);
176 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
177 void matrix_product(Matrix A, Matrix B, Matrix C,
178 bool transpose_A=
false,
bool transpose_B=
false,
bool overwrite=
true)
193 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
194 typename implementation::matrix_product<backend,Matrix>::ReturnType matrix_product(Matrix A, Matrix B,
195 bool transpose_A=false, bool transpose_B=false)
201 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
202 void subtract(Matrix A, Matrix B, Matrix C,
203 typename Matrix::Scalar alpha=1.0, typename Matrix::Scalar beta=1.0)
220 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
221 void elementwise_product(Matrix A, Matrix B, Matrix C)
236 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
237 typename implementation::elementwise_product<backend,Matrix>::ReturnType elementwise_product(Matrix A, Matrix B)
250 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
251 typename implementation::elementwise_square<backend,Matrix>::ReturnType elementwise_square(Matrix m)
263 template <Backend backend=linalg_traits<Core>::backend,
class Matrix, class ResultMatrix>
264 void elementwise_square(Matrix m, ResultMatrix result)
285 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
286 void convolve(Matrix X, Matrix W, Matrix Y, bool flip =
false,
287 bool overwrite=
true, int32_t stride_x=1, int32_t stride_y=1)
291 #endif // HAVE_LINALG_LIB
static void compute(Matrix A, Matrix B, Matrix C)
void range_fill(Matrix A, typename Matrix::Scalar start=0.0)
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 void compute(Matrix A, T start)
static Matrix compute(Matrix m)