6 #ifndef MYRAMATH_DENSE_DIAG_H 7 #define MYRAMATH_DENSE_DIAG_H 14 #include <myramath/MYRAMATH_EXPORT.h> 20 template<
class Number>
class DiagonalMatrix;
21 template<
class Number>
class CMatrixRange;
22 template<
class Number>
class CLowerMatrixRange;
23 template<
class Number>
class CVectorRange;
26 MYRAMATH_EXPORT DiagonalMatrix<NumberS> diag(
const CMatrixRange<NumberS>& A);
28 MYRAMATH_EXPORT DiagonalMatrix<NumberD> diag(
const CMatrixRange<NumberD>& A);
29 MYRAMATH_EXPORT DiagonalMatrix<NumberC> diag(
const CMatrixRange<NumberC>& A);
30 MYRAMATH_EXPORT DiagonalMatrix<NumberZ> diag(
const CMatrixRange<NumberZ>& A);
34 MYRAMATH_EXPORT DiagonalMatrix<NumberS> diag(
const CLowerMatrixRange<NumberS>& A);
36 MYRAMATH_EXPORT DiagonalMatrix<NumberD> diag(
const CLowerMatrixRange<NumberD>& A);
37 MYRAMATH_EXPORT DiagonalMatrix<NumberC> diag(
const CLowerMatrixRange<NumberC>& A);
38 MYRAMATH_EXPORT DiagonalMatrix<NumberZ> diag(
const CLowerMatrixRange<NumberZ>& A);
42 MYRAMATH_EXPORT DiagonalMatrix<NumberS> diag(
const CVectorRange<NumberS>& x);
44 MYRAMATH_EXPORT DiagonalMatrix<NumberD> diag(
const CVectorRange<NumberD>& x);
45 MYRAMATH_EXPORT DiagonalMatrix<NumberC> diag(
const CVectorRange<NumberC>& x);
46 MYRAMATH_EXPORT DiagonalMatrix<NumberZ> diag(
const CVectorRange<NumberZ>& x);
Various utility functions/classes related to scalar Number types.