▼Basic Classes | See monolish data types page |
monolsh::vector | Vector class |
monolsh::view1D | 1D view class |
monolsh::matrix::Dense | Dense format Matrix |
monolsh::matrix::COO | Coodinate (COO) format Matrix |
monolsh::matrix::CRS | Compressed Row Storage (CRS) format Matrix |
monolsh::matrix::LinearOperator | Linear Operator imitating Matrix |
▼BLAS | Basic Linear Algebra Subprograms for Dense Matrix, Sparse Matrix, Vector and Scalar (see Implementation of matrix/vector operations page) |
►Vector Operations | BLAS Lv1 vector operations |
monolish::blas::copy (vector) | Vector copy (y=x) |
monolish::blas::vecadd | Element by element addition of vector a and vector b |
monolish::blas::vecsub | Element by element subtract of vector a and vector b |
monolish::blas::times | Element by element multiplication |
monolish::blas::asum | Vector absolute sum |
monolish::blas::sum | Vector sum |
monolish::blas::axpy | Axpy: y = ax + y |
monolish::blas::axpyz | Axpy: z = ax + y |
monolish::blas::dot | Inner product (dot) |
monolish::blas::nrm1 | Nrm1: sum(abs(x[0:N])) |
monolish::blas::nrm2 | Nrm2: ||x||_2 |
monolish::blas::scal | Scal: x = alpha * x |
monolish::blas::xpay | Xpay: y = x + ay |
►Matrix-Vector Operations | BLAS Lv2 matrix-vector operations |
monolish::blas::times | Element by element multiplication |
monolish::blas::matvec (Dense) | Dense matrix and vector multiplication: y = Ax |
monolish::blas::matvec_N (Dense) | Dense matrix and vector multiplication: y = A^N x |
monolish::blas::matvec_T (Dense) | Dense matrix and vector multiplication: y = A^T x |
monolish::blas::matvec (CRS) | CRS format sparse matrix and vector multiplication: y = Ax |
monolish::blas::matvec_N (CRS) | CRS format sparse matrix and vector multiplication: y = A^N x |
monolish::blas::matvec_T (CRS) | CRS format sparse matrix and vector multiplication: y = A^T x |
monolish::blas::matvec (LinearOperator) | LinearOperator matrix and vector multiplication: y = Ax |
monolish::blas::rmatvec (LinearOperator) | Adjoint LinearOperator matrix and vector multiplication: y = A^Hx |
monolish::blas::tensvec (tensor_Dense) | Tensor_Dense tensor and vector multiplication: y = Ax |
►Matrix-Matrix Operations | BLAS Lv3 matrix-matrix operations |
monolish::blas::copy (Dense) | Dense matrix copy (C=A) |
monolish::blas::copy (CRS) | CRS matrix copy (y=a) |
monolish::blas::copy (LinearOperator) | LinearOperator copy (C=A) |
monolish::blas::mscal (Dense) | Dense matrix scal: A = alpha * A |
monolish::blas::mscal (CRS) | CRS matrix scal: A = alpha * A |
monolish::blas::times | Element by element multiplication |
monolish::blas::adds | Element by element multiplication |
monolish::blas::matadd (Dense) | Dense matrix addition: C = A + B |
monolish::blas::matadd (LinearOperator) | LinearOperator matrix addition: C = A + B |
monolish::blas::matadd (CRS) | CRS matrix addition: C = A + B |
monolish::blas::matsub (Dense) | Dense matrix subtract: C = A - B |
monolish::blas::matsub (LinearOperator) | LinearOperator subtract: C = A - B |
monolish::blas::matsub (CRS) | CRS matrix subtract: C = A - B (A and B must be |
monolish::blas::matmul (Dense, Dense, Dense) | Dense matrix multiplication: C = AB |
monolish::blas::matmul (CRS, Dense, Dense) | CRS and Dense matrix multiplication: C = AB |
monolish::blas::matmul (LO, LO, LO) | LinearOperator multiplication: C = AB |
monolish::blas::matmul (LO, Dense, Dense) | LinearOperator and Dense multiplication: C = AB |
monolish::blas::rmatmul (LO, Dense, Dense) | LinearOperator multiplication: C = A^H B |
monolish::blas::mattens (tensor_Dense) | Matrix and tensor_Dense tensor multiplication: y = Ax |
monolish::blas::tensmat (tensor_Dense) | Tensor_Dense tensor and matrix multiplication: y = Ax |
monolish::blas::copy (tensor_Dense) | Tensor_Dense tensor copy (C=A) |
monolish::blas::copy (tensor_CRS) | Tensor_CRS tensor copy (C=A) |
monolish::blas::tscal (tensor_Dense) | Tensor_Dense tensor scal: A = alpha * A |
▼VML | Vector Math Library (VML) for Dense Matrix, Sparse Matrix, Vector and Scalar (see Implementation of matrix/vector operations page) |
►VML for Vector | VML for vector |
monolish::vml::add | Element by element addition of vector a and vector b |
monolish::vml::sub | Element by element subtract of vector a and vector b |
monolish::vml::mul | Element by element multiplication of vector a and vector b |
monolish::vml::div | Element by element division of vector a and vector b |
monolish::vml::add | Element by element addition of scalar alpha and vector a |
monolish::vml::sub | Element by element subtract of scalar alpha and vector a |
monolish::vml::mul | Element by element multiplication of scalar alpha and vector a |
monolish::vml::div | Element by element division of scalar alpha and vector a |
monolish::vml::pow | Power to vector elements by double precision vector (y[0:N] = pow(a[0:N], b[0]:N])) |
monolish::vml::pow | Power to vector elements by double precision scalar value (y[0:N] = pow(a[0:N], alpha)) |
monolish::vml::sin | Sin to vector elements (y[0:N] = sin(a[0:N])) |
monolish::vml::sqrt | Sqrt to vector elements (y[0:N] = sqrt(a[0:N])) |
monolish::vml::sinh | Sinh to vector elements (y[0:N] = sinh(a[0:N])) |
monolish::vml::asin | Asin to vector elements (y[0:N] = asin(a[0:N])) |
monolish::vml::asinh | Asinh to vector elements (y[0:N] = asinh(a[0:N])) |
monolish::vml::tan | Tan to vector elements (y[0:N] = tan(a[0:N])) |
monolish::vml::tanh | Tanh to vector elements (y[0:N] = tanh(a[0:N])) |
monolish::vml::atan | Atan to vector elements (y[0:N] = atan(a[0:N])) |
monolish::vml::atanh | Atanh to vector elements (y[0:N] = atanh(a[0:N])) |
monolish::vml::ceil | Ceil to vector elements (y[0:N] = ceil(a[0:N])) |
monolish::vml::floor | Floor to vector elements (y[0:N] = floor(a[0:N])) |
monolish::vml::sign | Sign to vector elements (y[0:N] = sign(a[0:N])) |
monolish::vml::exp | Exp to vector elements (y[0:N] = exp(a[0:N])) |
monolish::vml::max | Create a new vector with greatest elements of two matrices (y[0:N] = max(a[0:N], b[0:N])) |
monolish::vml::min | Create a new vector with smallest elements of two matrices (y[0:N] = min(a[0:N], b[0:N])) |
monolish::vml::max | Create a new vector with greatest elements of vector or scalar (y[0:N] = max(a[0:N], alpha)) |
monolish::vml::min | Create a new vector with smallest elements of vector or scalar (y[0:N] = min(a[0:N], alpha)) |
monolish::vml::max | Finds the greatest element in vector (max(y[0:N])) |
monolish::vml::min | Finds the smallest element in vector (min(y[0:N])) |
monolish::vml::alo | Asymmetric linear operation to vector elements (y[0:nnz] = alpha max(a[0:nnz], 0) + beta min(a[0:nnz], 0)) |
monolish::vml::reciprocal | Reciprocal to double precision vector elements (y[0:N] = 1 / a[0:N]) |
►VML for Dense | VML for Dense matrix |
monolish::vml::add | Element by element addition Dense matrix A and Dense matrix B |
monolish::vml::sub | Element by element subtract Dense matrix A and Dense matrix B |
monolish::vml::mul | Element by element multiplication Dense matrix A and Dense matrix B |
monolish::vml::div | Element by element division Dense matrix A and Dense matrix B |
monolish::vml::add | Element by element addition scalar alpha and Dense matrix A |
monolish::vml::sub | Element by element subtract scalar alpha and Dense matrix A |
monolish::vml::mul | Element by element multiplication scalar alpha and Dense matrix A |
monolish::vml::div | Element by element division scalar alpha and Dense matrix A |
monolish::vml::pow | Power to Dense matrix elements (C[0:N] = pow(A[0:N], B[0:N])) |
monolish::vml::pow | Power to Dense matrix elements by scalar value (C[0:N] = pow(A[0:N], alpha)) |
monolish::vml::sin | Sin to Dense matrix elements (C[0:nnz] = sin(A[0:nnz])) |
monolish::vml::sqrt | Sqrt to Dense matrix elements (C[0:nnz] = sqrt(A[0:nnz])) |
monolish::vml::sinh | Sinh to Dense matrix elements (C[0:nnz] = sinh(A[0:nnz])) |
monolish::vml::asin | Asin to Dense matrix elements (C[0:nnz] = asin(A[0:nnz])) |
monolish::vml::asinh | Asinh to Dense matrix elements (C[0:nnz] = asinh(A[0:nnz])) |
monolish::vml::tan | Tan to Dense matrix elements (C[0:nnz] = tan(A[0:nnz])) |
monolish::vml::tanh | Tanh to Dense matrix elements (C[0:nnz] = tanh(A[0:nnz])) |
monolish::vml::atan | Atan to Dense matrix elements (C[0:nnz] = atan(A[0:nnz])) |
monolish::vml::atanh | Atanh to Dense matrix elements (C[0:nnz] = atanh(A[0:nnz])) |
monolish::vml::ceil | Ceil to Dense matrix elements (C[0:nnz] = ceil(A[0:nnz])) |
monolish::vml::floor | Floor to Dense matrix elements (C[0:nnz] = floor(A[0:nnz])) |
monolish::vml::sign | Sign to Dense matrix elements (C[0:nnz] = sign(A[0:nnz])) |
monolish::vml::exp | Exp to Dense matrix elements (C[0:nnz] = exp(A[0:nnz])) |
monolish::vml::max | Create a new Dense matrix with greatest elements of two matrices (C[0:nnz] = max(A[0:nnz], B[0:nnz])) |
monolish::vml::min | Create a new Dense matrix with smallest elements of two matrices (C[0:nnz] = min(A[0:nnz], B[0:nnz])) |
monolish::vml::max | Create a new Dense matrix with greatest elements of Dense matrix or scalar (C[0:nnz] = max(A[0:nnz], alpha)) |
monolish::vml::min | Create a new Dense matrix with smallest elements of Dense matrix or scalar (C[0:nnz] = min(A[0:nnz], alpha)) |
monolish::vml::max | Finds the greatest element in Dense matrix (max(C[0:nnz])) |
monolish::vml::min | Finds the smallest element in Dense matrix (min(C[0:nnz])) |
monolish::vml::alo | Asymmetric linear operation to Dense matrix elements (C[0:nnz] = alpha max(A[0:nnz], 0) + beta min(A[0:nnz], 0)) |
monolish::vml::reciprocal | Compute reciprocal to Dense matrix elements (C[0:nnz] = 1 / A[0:nnz]) |
►VML for CRS | VML for CRS matrix |
monolish::vml::add | Element by element addition CRS matrix A and CRS matrix B |
monolish::vml::sub | Element by element subtract CRS matrix A and CRS matrix B |
monolish::vml::mul | Element by element multiplication CRS matrix A and CRS matrix B |
monolish::vml::div | Element by element division CRS matrix A and CRS matrix B |
monolish::vml::add | Element by element addition scalar alpha and CRS matrix A |
monolish::vml::sub | Element by element subtract scalar alpha and CRS matrix A |
monolish::vml::mul | Element by element multiplication scalar alpha and CRS matrix A |
monolish::vml::div | Element by element division scalar alpha and CRS matrix A |
monolish::vml::pow | Power to CRS matrix elements (C[0:N] = pow(A[0:N], B[0:N])) |
monolish::vml::pow | Power to CRS matrix elements by scalar value (C[0:N] = pow(A[0:N], alpha)) |
monolish::vml::sin | Sin to CRS matrix elements (C[0:nnz] = sin(A[0:nnz])) |
monolish::vml::sqrt | Sqrt to CRS matrix elements (C[0:nnz] = sqrt(A[0:nnz])) |
monolish::vml::sinh | Sinh to CRS matrix elements (C[0:nnz] = sinh(A[0:nnz])) |
monolish::vml::asin | Asin to CRS matrix elements (C[0:nnz] = asin(A[0:nnz])) |
monolish::vml::asinh | Asinh to CRS matrix elements (C[0:nnz] = asinh(A[0:nnz])) |
monolish::vml::tan | Tan to CRS matrix elements (C[0:nnz] = tan(A[0:nnz])) |
monolish::vml::tanh | Tanh to CRS matrix elements (C[0:nnz] = tanh(A[0:nnz])) |
monolish::vml::atan | Atan to CRS matrix elements (C[0:nnz] = atan(A[0:nnz])) |
monolish::vml::atanh | Atanh to CRS matrix elements (C[0:nnz] = atanh(A[0:nnz])) |
monolish::vml::ceil | Ceil to CRS matrix elements (C[0:nnz] = ceil(A[0:nnz])) |
monolish::vml::floor | Floor to CRS matrix elements (C[0:nnz] = floor(A[0:nnz])) |
monolish::vml::sign | Sign to CRS matrix elements (C[0:nnz] = sign(A[0:nnz])) |
monolish::vml::max | Create a new CRS matrix with greatest elements of two matrices (C[0:nnz] = max(A[0:nnz], B[0:nnz])) |
monolish::vml::min | Create a new CRS matrix with smallest elements of two matrices (C[0:nnz] = min(A[0:nnz], B[0:nnz])) |
monolish::vml::max | Create a new CRS matrix with greatest elements of CRS matrix or scalar (C[0:nnz] = max(A[0:nnz], alpha)) |
monolish::vml::min | Create a new CRS matrix with smallest elements of CRS matrix or scalar (C[0:nnz] = min(A[0:nnz], alpha)) |
monolish::vml::max | Finds the greatest element in CRS matrix (max(C[0:nnz])) |
monolish::vml::min | Finds the smallest element in CRS matrix (min(C[0:nnz])) |
monolish::vml::alo | Asymmetric linear operation to CRS matrix elements (C[0:nnz] = alpha max(A[0:nnz], 0) + beta min(A[0:nnz], 0)) |
monolish::vml::reciprocal | Reciprocal to CRS matrix elements (C[0:nnz] = 1 / A[0:nnz]) |
►VML for LinearOperator | VML for LinearOperator |
monolish::vml::add | Element by element addition LinearOperator matrix A and LinearOperator matrix B |
monolish::vml::sub | Element by element subtract LinearOperator matrix A and LinearOperator matrix B |
monolish::vml::add | Element by element addition scalar alpha and LinearOperator matrix A |
monolish::vml::sub | Element by element subtract scalar alpha and LinearOperator matrix A |
monolish::vml::mul | Element by element multiplication scalar alpha and LinearOperator matrix A |
monolish::vml::div | Element by element division scalar alpha and LinearOperator matrix A |
▼Solvers | Linear equation solvers for Dense and sparse matrix (see Implementation of Linear solvers page) |
Base Class | Solver base class |
►Linear equations | Linear equation solvers for Dense and sparse matrix |
monolish::equation::none | None solver (nothing to do) |
monolish::equation::CG | CG solver |
monolish::equation::BiCGSTAB | BiCGSTAB solver |
monolish::equation::Jacobi | Jacobi solver class |
monolish::equation::SOR | SOR solver class |
monolish::equation::IC | Incomplete Cholesky solver class |
monolish::equation::ILU | Incomplete LU solver class |
monolish::equation::LU | LU solver class |
monolish::equation::QR | QR solver class |
monolish::equation::Cholesky | Cholesky solver class |
►Standard eigen | Solve eigenvalues and eigenvectors problem |
monolish::standard_eigen::LOBPCG | LOBPCG solver |
monolish::standard_eigen::DC | Devide and Conquer solver |
►Generalized eigen | Solve generalized eigenvalues and eigenvectors problem |
monolish::standard_eigen::LOBPCG | LOBPCG solver |
monolish::standard_eigen::DC | Devide and Conquer solver |
▼Utilities | Utilitie functions |
Check errors | Error check functions |
Control GPU devices | Send, recv, and others. |
Performance logger | See Performance logging and find bottlenecks page |
Get build options | Get status of build options (SIMD, BLAS, enable GPU device, etc.) |
Generate test data | Generate test data |
Compare data | Compare data |
Other | Other utilitie functions |
MPI class (beta) | C++ template MPI class, Functions of this class do nothing when MPI is disabled. Functions in this class are under development. Currently, Many BLAS functions don't support MPI. Functions of this class does not support GPU. The user needs to communicate with the GPU before and after the call to this function if necessary |
View_Dense_class | |
▼Tensor_CRS_VML | |
monolish::vml::add | Element by element addition CRS matrix A and CRS matrix B |
monolish::vml::sub | Element by element subtract CRS matrix A and CRS matrix B |
monolish::vml::mul | Element by element multiplication CRS matrix A and CRS matrix B |
monolish::vml::div | Element by element division CRS matrix A and CRS matrix B |
monolish::vml::add | Element by element addition scalar alpha and CRS matrix A |
monolish::vml::sub | Element by element subtract scalar alpha and CRS matrix A |
monolish::vml::mul | Element by element multiplication scalar alpha and CRS matrix A |
monolish::vml::div | Element by element division scalar alpha and CRS matrix A |
monolish::vml::pow | Power to CRS matrix elements (C[0:N] = pow(A[0:N], B[0:N])) |
monolish::vml::pow | Power to CRS matrix elements by scalar value (C[0:N] = pow(A[0:N], alpha)) |
monolish::vml::sin | Sin to CRS matrix elements (C[0:nnz] = sin(A[0:nnz])) |
monolish::vml::sqrt | Sqrt to CRS matrix elements (C[0:nnz] = sqrt(A[0:nnz])) |
monolish::vml::sinh | Sinh to CRS matrix elements (C[0:nnz] = sinh(A[0:nnz])) |
monolish::vml::asin | Asin to CRS matrix elements (C[0:nnz] = asin(A[0:nnz])) |
monolish::vml::asinh | Asinh to CRS matrix elements (C[0:nnz] = asinh(A[0:nnz])) |
monolish::vml::tan | Tan to CRS matrix elements (C[0:nnz] = tan(A[0:nnz])) |
monolish::vml::tanh | Tanh to CRS matrix elements (C[0:nnz] = tanh(A[0:nnz])) |
monolish::vml::atan | Atan to CRS matrix elements (C[0:nnz] = atan(A[0:nnz])) |
monolish::vml::atanh | Atanh to CRS matrix elements (C[0:nnz] = atanh(A[0:nnz])) |
monolish::vml::ceil | Ceil to CRS matrix elements (C[0:nnz] = ceil(A[0:nnz])) |
monolish::vml::floor | Floor to CRS matrix elements (C[0:nnz] = floor(A[0:nnz])) |
monolish::vml::sign | Sign to CRS matrix elements (C[0:nnz] = sign(A[0:nnz])) |
monolish::vml::max | Create a new CRS matrix with greatest elements of two matrices (C[0:nnz] = max(A[0:nnz], B[0:nnz])) |
monolish::vml::min | Create a new CRS matrix with smallest elements of two matrices (C[0:nnz] = min(A[0:nnz], B[0:nnz])) |
monolish::vml::max | Create a new CRS matrix with greatest elements of CRS matrix or scalar (C[0:nnz] = max(A[0:nnz], alpha)) |
monolish::vml::min | Create a new CRS matrix with smallest elements of CRS matrix or scalar (C[0:nnz] = min(A[0:nnz], alpha)) |
monolish::vml::max | Finds the greatest element in CRS matrix (max(C[0:nnz])) |
monolish::vml::min | Finds the smallest element in CRS matrix (min(C[0:nnz])) |
monolish::vml::alo | Asymmetric linear operation to CRS matrix elements (C[0:nnz] = alpha max(A[0:nnz], 0) + beta min(A[0:nnz], 0)) |
monolish::vml::reciprocal | Reciprocal to CRS matrix elements (C[0:nnz] = 1 / A[0:nnz]) |
▼Tensor_Dense_VML | |
monolish::vml::add | Element by element addition Dense matrix A and Dense matrix B |
monolish::vml::sub | Element by element subtract Dense matrix A and Dense matrix B |
monolish::vml::mul | Element by element multiplication Dense matrix A and Dense matrix B |
monolish::vml::div | Element by element division Dense matrix A and Dense matrix B |
monolish::vml::add | Element by element addition scalar alpha and Dense matrix A |
monolish::vml::sub | Element by element subtract scalar alpha and Dense matrix A |
monolish::vml::mul | Element by element multiplication scalar alpha and Dense matrix A |
monolish::vml::div | Element by element division scalar alpha and Dense matrix A |
monolish::vml::pow | Power to Dense matrix elements (C[0:N] = pow(A[0:N], B[0:N])) |
monolish::vml::pow | Power to Dense matrix elements by scalar value (C[0:N] = pow(A[0:N], alpha)) |
monolish::vml::sin | Sin to Dense matrix elements (C[0:nnz] = sin(A[0:nnz])) |
monolish::vml::sqrt | Sqrt to Dense matrix elements (C[0:nnz] = sqrt(A[0:nnz])) |
monolish::vml::sinh | Sinh to Dense matrix elements (C[0:nnz] = sinh(A[0:nnz])) |
monolish::vml::asin | Asin to Dense matrix elements (C[0:nnz] = asin(A[0:nnz])) |
monolish::vml::asinh | Asinh to Dense matrix elements (C[0:nnz] = asinh(A[0:nnz])) |
monolish::vml::tan | Tan to Dense matrix elements (C[0:nnz] = tan(A[0:nnz])) |
monolish::vml::tanh | Tanh to Dense matrix elements (C[0:nnz] = tanh(A[0:nnz])) |
monolish::vml::atan | Atan to Dense matrix elements (C[0:nnz] = atan(A[0:nnz])) |
monolish::vml::atanh | Atanh to Dense matrix elements (C[0:nnz] = atanh(A[0:nnz])) |
monolish::vml::ceil | Ceil to Dense matrix elements (C[0:nnz] = ceil(A[0:nnz])) |
monolish::vml::floor | Floor to Dense matrix elements (C[0:nnz] = floor(A[0:nnz])) |
monolish::vml::sign | Sign to Dense matrix elements (C[0:nnz] = sign(A[0:nnz])) |
monolish::vml::exp | Exp to Dense matrix elements (C[0:nnz] = exp(A[0:nnz])) |
monolish::vml::max | Create a new Dense matrix with greatest elements of two matrices (C[0:nnz] = max(A[0:nnz], B[0:nnz])) |
monolish::vml::min | Create a new Dense matrix with smallest elements of two matrices (C[0:nnz] = min(A[0:nnz], B[0:nnz])) |
monolish::vml::max | Create a new Dense matrix with greatest elements of Dense matrix or scalar (C[0:nnz] = max(A[0:nnz], alpha)) |
monolish::vml::min | Create a new Dense matrix with smallest elements of Dense matrix or scalar (C[0:nnz] = min(A[0:nnz], alpha)) |
monolish::vml::max | Finds the greatest element in Dense matrix (max(C[0:nnz])) |
monolish::vml::min | Finds the smallest element in Dense matrix (min(C[0:nnz])) |
monolish::vml::alo | Asymmetric linear operation to Dense matrix elements (C[0:nnz] = alpha max(A[0:nnz], 0) + beta min(A[0:nnz], 0)) |
monolish::vml::reciprocal | Compute reciprocal to Dense matrix elements (C[0:nnz] = 1 / A[0:nnz]) |