MyraMath
lqt.h
Go to the documentation of this file.
1 // ========================================================================= //
2 // This file is part of MyraMath, copyright (c) 2014-2019 by Ryan A Chilton //
3 // and distributed by MyraCore, LLC. See LICENSE.txt for license terms. //
4 // ========================================================================= //
5 
6 #ifndef MYRAMATH_DENSE_LQT_H
7 #define MYRAMATH_DENSE_LQT_H
8 
15 #include <myramath/MYRAMATH_EXPORT.h>
17 
18 #include <myramath/dense/Matrix.h>
19 
20 namespace myra {
21 
22 // Forward declarations.
23 template<class Number> class CMatrixRange;
24 template<class Number> class MatrixRange;
25 template<class Number> class CVectorRange;
26 
28 MYRAMATH_EXPORT void lqt_inplace(const CMatrixRange<NumberS>& V, const CVectorRange<NumberS>& tau, const MatrixRange<NumberS>& T);
30 MYRAMATH_EXPORT void lqt_inplace(const CMatrixRange<NumberD>& V, const CVectorRange<NumberD>& tau, const MatrixRange<NumberD>& T);
31 MYRAMATH_EXPORT void lqt_inplace(const CMatrixRange<NumberC>& V, const CVectorRange<NumberC>& tau, const MatrixRange<NumberC>& T);
32 MYRAMATH_EXPORT void lqt_inplace(const CMatrixRange<NumberZ>& V, const CVectorRange<NumberZ>& tau, const MatrixRange<NumberZ>& T);
34 
36 MYRAMATH_EXPORT void lqt_inplace(const MatrixRange<NumberS>& V, const CVectorRange<NumberS>& tau);
38 MYRAMATH_EXPORT void lqt_inplace(const MatrixRange<NumberD>& V, const CVectorRange<NumberD>& tau);
39 MYRAMATH_EXPORT void lqt_inplace(const MatrixRange<NumberC>& V, const CVectorRange<NumberC>& tau);
40 MYRAMATH_EXPORT void lqt_inplace(const MatrixRange<NumberZ>& V, const CVectorRange<NumberZ>& tau);
42 
44 MYRAMATH_EXPORT Matrix<NumberS> lqt(const CMatrixRange<NumberS>& V, const CVectorRange<NumberS>& tau);
46 MYRAMATH_EXPORT Matrix<NumberD> lqt(const CMatrixRange<NumberD>& V, const CVectorRange<NumberD>& tau);
47 MYRAMATH_EXPORT Matrix<NumberC> lqt(const CMatrixRange<NumberC>& V, const CVectorRange<NumberC>& tau);
48 MYRAMATH_EXPORT Matrix<NumberZ> lqt(const CMatrixRange<NumberZ>& V, const CVectorRange<NumberZ>& tau);
50 
51 } // namespace
52 
53 #endif
Definition: syntax.dox:1
Various utility functions/classes related to scalar Number types.
General purpose dense matrix container, O(i*j) storage.