35 #ifndef _BLAZE_MATH_LAPACK_CLAPACK_GESVDX_H_ 36 #define _BLAZE_MATH_LAPACK_CLAPACK_GESVDX_H_ 56 #if !defined(INTEL_MKL_VERSION) || (INTEL_MKL_VERSION < 20170000) 59 void sgesvdx_(
char* jobu,
char* jobv,
char* range,
int* m,
int* n,
float* A,
int* lda,
60 float* vl,
float* vu,
int* il,
int* iu,
int* ns,
float* s,
float* U,
int* ldu,
61 float* V,
int* ldv,
float* work,
int* lwork,
int* iwork,
int* info,
63 void dgesvdx_(
char* jobu,
char* jobv,
char* range,
int* m,
int* n,
double* A,
int* lda,
64 double* vl,
double* vu,
int* il,
int* iu,
int* ns,
double* s,
double* U,
int* ldu,
65 double* V,
int* ldv,
double* work,
int* lwork,
int* iwork,
int* info,
67 void cgesvdx_(
char* jobu,
char* jobv,
char* range,
int* m,
int* n,
float* A,
int* lda,
68 float* vl,
float* vu,
int* il,
int* iu,
int* ns,
float* s,
float* U,
int* ldu,
69 float* V,
int* ldv,
float* work,
int* lwork,
float* rwork,
int* iwork,
int* info,
71 void zgesvdx_(
char* jobu,
char* jobv,
char* range,
int* m,
int* n,
double* A,
int* lda,
72 double* vl,
double* vu,
int* il,
int* iu,
int* ns,
double* s,
double* U,
int* ldu,
73 double* V,
int* ldv,
double* work,
int* lwork,
double* rwork,
int* iwork,
int* info,
95 void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
float* A,
int lda,
96 float vl,
float vu,
int il,
int iu,
int* ns,
97 float* s,
float* U,
int ldu,
float* V,
int ldv,
98 float* work,
int lwork,
int* iwork,
int* info );
100 void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
double* A,
int lda,
101 double vl,
double vu,
int il,
int iu,
int* ns,
102 double* s,
double* U,
int ldu,
double* V,
int ldv,
103 double* work,
int lwork,
int* iwork,
int* info );
105 void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<float>* A,
int lda,
106 float vl,
float vu,
int il,
int iu,
int* ns,
107 float* s, complex<float>* U,
int ldu, complex<float>* V,
int ldv,
108 complex<float>* work,
int lwork,
float* rwork,
int* iwork,
int* info );
110 void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<double>* A,
int lda,
111 double vl,
double vu,
int il,
int iu,
int* ns,
112 double* s, complex<double>* U,
int ldu, complex<double>* V,
int ldv,
113 complex<double>* work,
int lwork,
double* rwork,
int* iwork,
int* info );
192 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
float* A,
int lda,
193 float vl,
float vu,
int il,
int iu,
int* ns,
194 float* s,
float* U,
int ldu,
float* V,
int ldv,
195 float* work,
int lwork,
int* iwork,
int* info )
197 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 204 sgesvdx_( &jobu, &jobv, &range, &m, &n, A, &lda, &vl, &vu, &il, &iu, ns,
205 s, U, &ldu, V, &ldv, work, &lwork, iwork, info,
285 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
double* A,
int lda,
286 double vl,
double vu,
int il,
int iu,
int* ns,
287 double* s,
double* U,
int ldu,
double* V,
int ldv,
288 double* work,
int lwork,
int* iwork,
int* info )
290 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 297 dgesvdx_( &jobu, &jobv, &range, &m, &n, A, &lda, &vl, &vu, &il, &iu, ns,
298 s, U, &ldu, V, &ldv, work, &lwork, iwork, info,
379 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<float>* A,
int lda,
380 float vl,
float vu,
int il,
int iu,
int* ns,
381 float* s, complex<float>* U,
int ldu, complex<float>* V,
int ldv,
382 complex<float>* work,
int lwork,
float* rwork,
int* iwork,
int* info )
386 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 388 using ET = MKL_Complex8;
396 cgesvdx_( &jobu, &jobv, &range, &m, &n, reinterpret_cast<ET*>( A ), &lda,
397 &vl, &vu, &il, &iu, ns, s,
398 reinterpret_cast<ET*>( U ), &ldu, reinterpret_cast<ET*>( V ), &ldv,
399 reinterpret_cast<ET*>( work ), &lwork, rwork, iwork, info,
480 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<double>* A,
int lda,
481 double vl,
double vu,
int il,
int iu,
int* ns,
482 double* s, complex<double>* U,
int ldu, complex<double>* V,
int ldv,
483 complex<double>* work,
int lwork,
double* rwork,
int* iwork,
int* info )
487 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 489 using ET = MKL_Complex16;
497 zgesvdx_( &jobu, &jobv, &range, &m, &n, reinterpret_cast<ET*>( A ), &lda,
498 &vl, &vu, &il, &iu, ns, s,
499 reinterpret_cast<ET*>( U ), &ldu, reinterpret_cast<ET*>( V ), &ldv,
500 reinterpret_cast<ET*>( work ), &lwork, rwork, iwork, info,
Header file for basic type definitions.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
void gesvdx(char jobu, char jobv, char range, int m, int n, float *A, int lda, float vl, float vu, int il, int iu, int *ns, float *s, float *U, int ldu, float *V, int ldv, float *work, int lwork, int *iwork, int *info)
LAPACK kernel for the singular value decomposition (SVD) of the given dense general single precision ...
Definition: gesvdx.h:192
Header file for the complex data type.
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:112
Size type of the Blaze library.