|
SHOGUN
4.0.0
|
命名空间 | |
| implementation | |
| special_purpose | |
类 | |
| struct | Block |
| Generic class Block which wraps a matrix class and contains block specific information, providing a uniform way to deal with matrix blocks for all supported backend matrices. 更多... | |
函数 | |
| template<class Matrix > | |
| Block< Matrix > | block (Matrix matrix, index_t row_begin, index_t col_begin, index_t row_size, index_t col_size) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix > | |
| void | matrix_product (Matrix A, Matrix B, Matrix C, bool transpose_A=false, bool transpose_B=false, bool overwrite=true) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix > | |
| void | add (Matrix A, Matrix B, Matrix C, typename Matrix::Scalar alpha=1.0, typename Matrix::Scalar beta=1.0) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix > | |
| void | subtract (Matrix A, Matrix B, Matrix C, typename Matrix::Scalar alpha=1.0, typename Matrix::Scalar beta=1.0) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix > | |
| void | scale (Matrix A, Matrix B, typename Matrix::Scalar alpha) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix > | |
| void | elementwise_product (Matrix A, Matrix B, Matrix C) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix > | |
| implementation::elementwise_square< backend, Matrix >::ReturnType | elementwise_square (Matrix m) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix , class ResultMatrix > | |
| void | elementwise_square (Matrix m, ResultMatrix result) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix > | |
| void | convolve (Matrix X, Matrix W, Matrix Y, bool flip=false, bool overwrite=true, int32_t stride_x=1, int32_t stride_y=1) |
| template<Backend backend = linalg_traits<Redux>::backend, class Vector > | |
| Vector::Scalar | dot (Vector a, Vector b) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix > | |
| Matrix::Scalar | sum (Matrix m, bool no_diag=false) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix > | |
| Matrix::Scalar | sum_symmetric (Matrix m, bool no_diag=false) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix > | |
| Matrix::Scalar | sum_symmetric (Block< Matrix > b, bool no_diag=false) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix > | |
| implementation::colwise_sum< backend, Matrix >::ReturnType | colwise_sum (Matrix m, bool no_diag=false) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix , class Vector > | |
| void | colwise_sum (Matrix m, Vector result, bool no_diag=false) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix > | |
| implementation::rowwise_sum< backend, Matrix >::ReturnType | rowwise_sum (Matrix m, bool no_diag=false) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix , class Vector > | |
| void | rowwise_sum (Matrix m, Vector result, bool no_diag=false) |
| template<Backend backend = linalg_traits<Redux>::backend, class Vector > | |
| Vector::Scalar | vector_sum (Vector a) |
| template<Backend backend = linalg_traits<Redux>::backend, class Matrix > | |
| Matrix::Scalar | max (Matrix m) |
| template<Backend backend = linalg_traits<Core>::backend, class Matrix , class Vector > | |
| void | set_rows_const (Matrix A, Vector v) |
| void shogun::linalg::add | ( | Matrix | A, |
| Matrix | B, | ||
| Matrix | C, | ||
| typename Matrix::Scalar | alpha = 1.0, |
||
| typename Matrix::Scalar | beta = 1.0 |
||
| ) |
| Block<Matrix> shogun::linalg::block | ( | Matrix | matrix, |
| index_t | row_begin, | ||
| index_t | col_begin, | ||
| index_t | row_size, | ||
| index_t | col_size | ||
| ) |
Method that returns a block object. Suited for Eigen3/SGMatrix
| matrix | the matrix on which the block is defined |
| row_begin | the row index at which the block starts |
| col_begin | the col index at which the block starts |
| row_size | the number of rows in the block |
| col_size | the number of cols in the block |
| implementation::colwise_sum<backend,Matrix>::ReturnType shogun::linalg::colwise_sum | ( | Matrix | m, |
| bool | no_diag = false |
||
| ) |
Wrapper method for internal implementation of matrix colwise sum of values that works with generic dense matrices
| m | the matrix whose colwise sum of co-efficients has to be computed |
| no_diag | if true, diagonal entries are excluded from the sum (default - false) |
| void shogun::linalg::colwise_sum | ( | Matrix | m, |
| Vector | result, | ||
| bool | no_diag = false |
||
| ) |
Wrapper method for internal implementation of matrix colwise sum of values that works with generic dense matrices
| m | the matrix whose colwise sum of co-efficients has to be computed |
| no_diag | if true, diagonal entries are excluded from the sum (default - false) |
| result | Pre-allocated vector for the result of the computation |
| void shogun::linalg::convolve | ( | Matrix | X, |
| Matrix | W, | ||
| Matrix | Y, | ||
| bool | flip = false, |
||
| bool | overwrite = true, |
||
| int32_t | stride_x = 1, |
||
| int32_t | stride_y = 1 |
||
| ) |
Computes the 2D convolution of X with W
NOTE: For the ViennaCL backend, the size of W (number of bytes) must not exceed CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE.
| X | Input image |
| W | Filter coefficients. The dimensions of the matrix must be odd-numbered. |
| Y | Output image of the same size as the input image, as the borders of the input image are implicitly padded with zeros during the computation |
| flip | If true the filter coefficients are flipped, performing cross-correlation instead of convolution |
| overwrite | If true, the values in Y are overwritten with result of the computation. Otherwise, the result is added to the existing values in Y. |
| stride_x | Stride in the x (column) direction |
| stride_y | Stride in the y (row) direction |
| Vector::Scalar shogun::linalg::dot | ( | Vector | a, |
| Vector | b | ||
| ) |
| void shogun::linalg::elementwise_product | ( | Matrix | A, |
| Matrix | B, | ||
| Matrix | C | ||
| ) |
| implementation::elementwise_square<backend,Matrix>::ReturnType shogun::linalg::elementwise_square | ( | Matrix | m | ) |
| void shogun::linalg::elementwise_square | ( | Matrix | m, |
| ResultMatrix | result | ||
| ) |
| void shogun::linalg::matrix_product | ( | Matrix | A, |
| Matrix | B, | ||
| Matrix | C, | ||
| bool | transpose_A = false, |
||
| bool | transpose_B = false, |
||
| bool | overwrite = true |
||
| ) |
Performs matrix multiplication
| A | First matrix |
| B | Second matrix |
| C | Result of the operation |
| transpose_A | Whether to the transpose of A should be used instead of A |
| transpose_B | Whether to the transpose of B should be used instead of B |
| overwrite | If true, the values in C are overwritten with the result, otherwise, the result is added to the existing values |
| Matrix::Scalar shogun::linalg::max | ( | Matrix | m | ) |
| implementation::rowwise_sum<backend,Matrix>::ReturnType shogun::linalg::rowwise_sum | ( | Matrix | m, |
| bool | no_diag = false |
||
| ) |
Wrapper method for internal implementation of matrix rowwise sum of values that works with generic dense matrices
| m | the matrix whose rowwise sum of co-efficients has to be computed |
| no_diag | if true, diagonal entries are excluded from the sum (default - false) |
| void shogun::linalg::rowwise_sum | ( | Matrix | m, |
| Vector | result, | ||
| bool | no_diag = false |
||
| ) |
Wrapper method for internal implementation of matrix rowwise sum of values that works with generic dense matrices
| m | the matrix whose rowwise sum of co-efficients has to be computed |
| no_diag | if true, diagonal entries are excluded from the sum (default - false) |
| result | Pre-allocated vector for the result of the computation |
| void shogun::linalg::scale | ( | Matrix | A, |
| Matrix | B, | ||
| typename Matrix::Scalar | alpha | ||
| ) |
| void shogun::linalg::set_rows_const | ( | Matrix | A, |
| Vector | v | ||
| ) |
| void shogun::linalg::subtract | ( | Matrix | A, |
| Matrix | B, | ||
| Matrix | C, | ||
| typename Matrix::Scalar | alpha = 1.0, |
||
| typename Matrix::Scalar | beta = 1.0 |
||
| ) |
| Matrix::Scalar shogun::linalg::sum | ( | Matrix | m, |
| bool | no_diag = false |
||
| ) |
Wrapper method for internal implementation of matrix sum of values that works with generic dense matrices
| m | the matrix whose sum of co-efficients has to be computed |
| no_diag | if true, diagonal entries are excluded from the sum (default - false) |
| Matrix::Scalar shogun::linalg::sum_symmetric | ( | Matrix | m, |
| bool | no_diag = false |
||
| ) |
Wrapper method for internal implementation of symmetric matrix sum of values that works with generic dense matrices
| m | the matrix whose sum of co-efficients has to be computed |
| no_diag | if true, diagonal entries are excluded from the sum (default - false) |
| Matrix::Scalar shogun::linalg::sum_symmetric | ( | Block< Matrix > | b, |
| bool | no_diag = false |
||
| ) |
Wrapper method for internal implementation of symmetric matrix-block sum of values that works with generic dense matrix blocks
| b | the matrix-block whose sum of co-efficients has to be computed |
| no_diag | if true, diagonal entries are excluded from the sum (default - false) |