ormlq.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_LAPACK_CLAPACK_ORMLQ_H_
36 #define _BLAZE_MATH_LAPACK_CLAPACK_ORMLQ_H_
37 
38 
39 //=================================================================================================
40 //
41 // LAPACK FORWARD DECLARATIONS
42 //
43 //=================================================================================================
44 
45 //*************************************************************************************************
47 extern "C" {
48 
49 void sormlq_( 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 dormlq_( 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 LQ DECOMPOSITION WITH A MATRIX (ORMLQ)
64 //
65 //=================================================================================================
66 
67 //*************************************************************************************************
70 inline void ormlq( 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 ormlq( 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 ormlq( 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  sormlq_( &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 ormlq( 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  dormlq_( &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
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
void ormlq(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 LQ decomposition with another m...
Definition: ormlq.h:125
const DMatTransExpr< MT,!SO > trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:950