6 #ifndef MYRAMATH_DENSE_SYMM_H 7 #define MYRAMATH_DENSE_SYMM_H 14 #include <myramath/MYRAMATH_EXPORT.h> 20 template<
class Number>
class Matrix;
21 template<
class Number>
class MatrixRange;
22 template<
class Number>
class CMatrixRange;
23 template<
class Number>
class CLowerMatrixRange;
26 MYRAMATH_EXPORT
void symm_inplace(
char side,
char uplo,
const MatrixRange<NumberS>& C,
const CMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta);
28 MYRAMATH_EXPORT
void symm_inplace(
char side,
char uplo,
const MatrixRange<NumberD>& C,
const CMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta);
29 MYRAMATH_EXPORT
void symm_inplace(
char side,
char uplo,
const MatrixRange<NumberC>& C,
const CMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta);
30 MYRAMATH_EXPORT
void symm_inplace(
char side,
char uplo,
const MatrixRange<NumberZ>& C,
const CMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta);
34 MYRAMATH_EXPORT Matrix<NumberS> symm(
char side,
char uplo,
const CMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha = 1);
36 MYRAMATH_EXPORT Matrix<NumberD> symm(
char side,
char uplo,
const CMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha = 1);
37 MYRAMATH_EXPORT Matrix<NumberC> symm(
char side,
char uplo,
const CMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha = 1);
38 MYRAMATH_EXPORT Matrix<NumberZ> symm(
char side,
char uplo,
const CMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha = 1);
42 MYRAMATH_EXPORT
void symm_inplace(
char side,
const MatrixRange<NumberS>& C,
const CLowerMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta);
44 MYRAMATH_EXPORT
void symm_inplace(
char side,
const MatrixRange<NumberD>& C,
const CLowerMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta);
45 MYRAMATH_EXPORT
void symm_inplace(
char side,
const MatrixRange<NumberC>& C,
const CLowerMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta);
46 MYRAMATH_EXPORT
void symm_inplace(
char side,
const MatrixRange<NumberZ>& C,
const CLowerMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta);
50 MYRAMATH_EXPORT Matrix<NumberS> symm(
char side,
const CLowerMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha = 1);
52 MYRAMATH_EXPORT Matrix<NumberD> symm(
char side,
const CLowerMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha = 1);
53 MYRAMATH_EXPORT Matrix<NumberC> symm(
char side,
const CLowerMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha = 1);
54 MYRAMATH_EXPORT Matrix<NumberZ> symm(
char side,
const CLowerMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha = 1);
Various utility functions/classes related to scalar Number types.