|
MyraMath
|
Thread-parallel symmetric Matrix * dense Matrix multiplication. More...
#include <myramath/MYRAMATH_EXPORT.h>#include <myramath/utility/Number.h>#include <myramath/jobgraph/JobGraph.h>#include <myramath/pdense/Options.h>Go to the source code of this file.
Classes | |
| class | myra::Matrix< Number > |
| Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAPACK. More... | |
| class | myra::MatrixRange< Number > |
| Represents a mutable MatrixRange. More... | |
| class | myra::CMatrixRange< Number > |
| Represents a const MatrixRange. More... | |
| class | myra::CLowerMatrixRange< Number > |
| Represents a const LowerMatrixRange. More... | |
Functions | |
| void | myra::psymm_inplace (char side, char uplo, const MatrixRange< NumberS > &C, const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, NumberS alpha, NumberS beta, pdense::Options options=pdense::Options::create()) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, touching only the specified triangle of the symmetric matrix A. | |
| void | myra::psymm_inplace (char side, char uplo, const MatrixRange< NumberD > &C, const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, NumberD alpha, NumberD beta, pdense::Options options) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, touching only the specified triangle of the symmetric matrix A. | |
| void | myra::psymm_inplace (char side, char uplo, const MatrixRange< NumberC > &C, const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, NumberC alpha, NumberC beta, pdense::Options options) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, touching only the specified triangle of the symmetric matrix A. | |
| void | myra::psymm_inplace (char side, char uplo, const MatrixRange< NumberZ > &C, const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, NumberZ alpha, NumberZ beta, pdense::Options options) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, touching only the specified triangle of the symmetric matrix A. | |
| Matrix< NumberS > | myra::psymm (char side, char uplo, const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, NumberS alpha=1, pdense::Options options=pdense::Options::create()) |
| Returns alpha*A*B or alpha*B*A, touching only the specified triangle of the symmetric matrix A. Defaults alpha = 1. | |
| Matrix< NumberD > | myra::psymm (char side, char uplo, const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, NumberD alpha, pdense::Options options) |
| Returns alpha*A*B or alpha*B*A, touching only the specified triangle of the symmetric matrix A. Defaults alpha = 1. | |
| Matrix< NumberC > | myra::psymm (char side, char uplo, const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, NumberC alpha, pdense::Options options) |
| Returns alpha*A*B or alpha*B*A, touching only the specified triangle of the symmetric matrix A. Defaults alpha = 1. | |
| Matrix< NumberZ > | myra::psymm (char side, char uplo, const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, NumberZ alpha, pdense::Options options) |
| Returns alpha*A*B or alpha*B*A, touching only the specified triangle of the symmetric matrix A. Defaults alpha = 1. | |
| void | myra::psymm_inplace (char side, const MatrixRange< NumberS > &C, const CLowerMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, NumberS alpha, NumberS beta, pdense::Options options=pdense::Options::create()) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, for LowerMatrix A (upper triangle assumed symmetric) | |
| void | myra::psymm_inplace (char side, const MatrixRange< NumberD > &C, const CLowerMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, NumberD alpha, NumberD beta, pdense::Options options) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, for LowerMatrix A (upper triangle assumed symmetric) | |
| void | myra::psymm_inplace (char side, const MatrixRange< NumberC > &C, const CLowerMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, NumberC alpha, NumberC beta, pdense::Options options) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, for LowerMatrix A (upper triangle assumed symmetric) | |
| void | myra::psymm_inplace (char side, const MatrixRange< NumberZ > &C, const CLowerMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, NumberZ alpha, NumberZ beta, pdense::Options options) |
| Performs C = beta*C + alpha*A*B or C = beta*C + alpha*B*A, for LowerMatrix A (upper triangle assumed symmetric) | |
| Matrix< NumberS > | myra::psymm (char side, const CLowerMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, NumberS alpha=1, pdense::Options options=pdense::Options::create()) |
| Returns alpha*A*B or alpha*B*A, for symmetric LowerMatrix A. Defaults alpha = 1. | |
| Matrix< NumberD > | myra::psymm (char side, const CLowerMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, NumberD alpha, pdense::Options options) |
| Returns alpha*A*B or alpha*B*A, for symmetric LowerMatrix A. Defaults alpha = 1. | |
| Matrix< NumberC > | myra::psymm (char side, const CLowerMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, NumberC alpha, pdense::Options options) |
| Returns alpha*A*B or alpha*B*A, for symmetric LowerMatrix A. Defaults alpha = 1. | |
| Matrix< NumberZ > | myra::psymm (char side, const CLowerMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, NumberZ alpha, pdense::Options options) |
| Returns alpha*A*B or alpha*B*A, for symmetric LowerMatrix A. Defaults alpha = 1. | |
| JobGraph | myra::psymm_jobgraph (char side, char uplo, const MatrixRange< NumberS > &C, const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, NumberS alpha, NumberS beta, char dir='F', pdense::Options options=pdense::Options::create()) |
| Returns a JobGraph that fulfills psymm_inplace(MatrixRange) | |
| JobGraph | myra::psymm_jobgraph (char side, char uplo, const MatrixRange< NumberD > &C, const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, NumberD alpha, NumberD beta, char dir, pdense::Options options) |
| Returns a JobGraph that fulfills psymm_inplace(MatrixRange) | |
| JobGraph | myra::psymm_jobgraph (char side, char uplo, const MatrixRange< NumberC > &C, const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, NumberC alpha, NumberC beta, char dir, pdense::Options options) |
| Returns a JobGraph that fulfills psymm_inplace(MatrixRange) | |
| JobGraph | myra::psymm_jobgraph (char side, char uplo, const MatrixRange< NumberZ > &C, const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, NumberZ alpha, NumberZ beta, char dir, pdense::Options options) |
| Returns a JobGraph that fulfills psymm_inplace(MatrixRange) | |
| JobGraph | myra::psymm_jobgraph (char side, const MatrixRange< NumberS > &C, const CLowerMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, NumberS alpha, NumberS beta, char dir='F', pdense::Options options=pdense::Options::create()) |
| Returns a JobGraph that fulfills psymm_inplace(LowerMatrixRange) | |
| JobGraph | myra::psymm_jobgraph (char side, const MatrixRange< NumberD > &C, const CLowerMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, NumberD alpha, NumberD beta, char dir, pdense::Options options) |
| Returns a JobGraph that fulfills psymm_inplace(LowerMatrixRange) | |
| JobGraph | myra::psymm_jobgraph (char side, const MatrixRange< NumberC > &C, const CLowerMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, NumberC alpha, NumberC beta, char dir, pdense::Options options) |
| Returns a JobGraph that fulfills psymm_inplace(LowerMatrixRange) | |
| JobGraph | myra::psymm_jobgraph (char side, const MatrixRange< NumberZ > &C, const CLowerMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, NumberZ alpha, NumberZ beta, char dir, pdense::Options options) |
| Returns a JobGraph that fulfills psymm_inplace(LowerMatrixRange) | |
Thread-parallel symmetric Matrix * dense Matrix multiplication.
1.8.13