ormrq.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_LAPACK_CLAPACK_ORMRQ_H_
36 #define _BLAZE_MATH_LAPACK_CLAPACK_ORMRQ_H_
37 
38 
39 //=================================================================================================
40 //
41 // LAPACK FORWARD DECLARATIONS
42 //
43 //=================================================================================================
44 
45 //*************************************************************************************************
47 extern "C" {
48 
49 void sormrq_( char* side, char* trans, int* m, int* n, int* k, float* A, int* lda, float* tau, float* C, int* ldc, float* work, int* lwork, int* info );
50 void dormrq_( char* side, char* trans, int* m, int* n, int* k, double* A, int* lda, double* tau, double* C, int* ldc, double* work, int* lwork, int* info );
51 
52 }
54 //*************************************************************************************************
55 
56 
57 
58 
59 namespace blaze {
60 
61 //=================================================================================================
62 //
63 // LAPACK FUNCTIONS TO MULTIPLY Q FROM A RQ DECOMPOSITION WITH A MATRIX (ORMRQ)
64 //
65 //=================================================================================================
66 
67 //*************************************************************************************************
70 inline void ormrq( char side, char trans, int m, int n, int k, const float* A, int lda,
71  const float* tau, float* C, int ldc, float* work, int lwork, int* info );
72 
73 inline void ormrq( char side, char trans, int m, int n, int k, const double* A, int lda,
74  const double* tau, double* C, int ldc, double* work, int lwork, int* info );
76 //*************************************************************************************************
77 
78 
79 //*************************************************************************************************
125 inline void ormrq( char side, char trans, int m, int n, int k, const float* A, int lda,
126  const float* tau, float* C, int ldc, float* work, int lwork, int* info )
127 {
128  sormrq_( &side, &trans, &m, &n, &k, const_cast<float*>( A ), &lda,
129  const_cast<float*>( tau ), C, &ldc, work, &lwork, info );
130 }
131 //*************************************************************************************************
132 
133 
134 //*************************************************************************************************
180 inline void ormrq( char side, char trans, int m, int n, int k, const double* A, int lda,
181  const double* tau, double* C, int ldc, double* work, int lwork, int* info )
182 {
183  dormrq_( &side, &trans, &m, &n, &k, const_cast<double*>( A ), &lda,
184  const_cast<double*>( tau ), C, &ldc, work, &lwork, info );
185 }
186 //*************************************************************************************************
187 
188 } // namespace blaze
189 
190 #endif
Log level for high-level information.
Definition: LogLevel.h:80
void ormrq(char side, char trans, int m, int n, int k, const float *A, int lda, const float *tau, float *C, int ldc, float *work, int lwork, int *info)
LAPACK kernel for the multiplication of the single precision Q from a RQ decomposition with another m...
Definition: ormrq.h:125
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
const DMatTransExpr< MT,!SO > trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:950