6 #ifndef MYRAMATH_DENSE_DIAG_H 7 #define MYRAMATH_DENSE_DIAG_H 14 #include <myramath/utility/detail/LIBPUBLIC.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 LIBPUBLIC DiagonalMatrix<NumberS> diag(
const CMatrixRange<NumberS>& A);
28 LIBPUBLIC DiagonalMatrix<NumberD> diag(
const CMatrixRange<NumberD>& A);
29 LIBPUBLIC DiagonalMatrix<NumberC> diag(
const CMatrixRange<NumberC>& A);
30 LIBPUBLIC DiagonalMatrix<NumberZ> diag(
const CMatrixRange<NumberZ>& A);
34 LIBPUBLIC DiagonalMatrix<NumberS> diag(
const CLowerMatrixRange<NumberS>& A);
36 LIBPUBLIC DiagonalMatrix<NumberD> diag(
const CLowerMatrixRange<NumberD>& A);
37 LIBPUBLIC DiagonalMatrix<NumberC> diag(
const CLowerMatrixRange<NumberC>& A);
38 LIBPUBLIC DiagonalMatrix<NumberZ> diag(
const CLowerMatrixRange<NumberZ>& A);
42 LIBPUBLIC DiagonalMatrix<NumberS> diag(
const CVectorRange<NumberS>& x);
44 LIBPUBLIC DiagonalMatrix<NumberD> diag(
const CVectorRange<NumberD>& x);
45 LIBPUBLIC DiagonalMatrix<NumberC> diag(
const CVectorRange<NumberC>& x);
46 LIBPUBLIC DiagonalMatrix<NumberZ> diag(
const CVectorRange<NumberZ>& x);
Various utility functions/classes related to scalar Number types.