35 #ifndef _BLAZE_MATH_LAPACK_CLAPACK_GESVDX_H_ 36 #define _BLAZE_MATH_LAPACK_CLAPACK_GESVDX_H_ 55 #if !defined(INTEL_MKL_VERSION) || (INTEL_MKL_VERSION < 20170000) 58 void sgesvdx_(
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 );
59 void dgesvdx_(
char* jobu,
char* jobv,
char* range,
int* m,
int* n,
double* A,
int* lda,
double* vl,
double* vu,
int* il,
int* iu,
int* ns,
double* s,
double* U,
int* ldu,
double* V,
int* ldv,
double* work,
int* lwork,
int* iwork,
int* info );
60 void cgesvdx_(
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,
float* rwork,
int* iwork,
int* info );
61 void zgesvdx_(
char* jobu,
char* jobv,
char* range,
int* m,
int* n,
double* A,
int* lda,
double* vl,
double* vu,
int* il,
int* iu,
int* ns,
double* s,
double* U,
int* ldu,
double* V,
int* ldv,
double* work,
int* lwork,
double* rwork,
int* iwork,
int* info );
82 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
float* A,
int lda,
83 float vl,
float vu,
int il,
int iu,
int* ns,
84 float* s,
float* U,
int ldu,
float* V,
int ldv,
85 float* work,
int lwork,
int* iwork,
int* info );
87 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
double* A,
int lda,
88 double vl,
double vu,
int il,
int iu,
int* ns,
89 double* s,
double* U,
int ldu,
double* V,
int ldv,
90 double* work,
int lwork,
int* iwork,
int* info );
92 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<float>* A,
int lda,
93 float vl,
float vu,
int il,
int iu,
int* ns,
94 float* s, complex<float>* U,
int ldu, complex<float>* V,
int ldv,
95 complex<float>* work,
int lwork,
float* rwork,
int* iwork,
int* info );
97 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<double>* A,
int lda,
98 double vl,
double vu,
int il,
int iu,
int* ns,
99 double* s, complex<double>* U,
int ldu, complex<double>* V,
int ldv,
100 complex<double>* work,
int lwork,
double* rwork,
int* iwork,
int* info );
179 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
float* A,
int lda,
180 float vl,
float vu,
int il,
int iu,
int* ns,
181 float* s,
float* U,
int ldu,
float* V,
int ldv,
182 float* work,
int lwork,
int* iwork,
int* info )
184 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 191 sgesvdx_( &jobu, &jobv, &range, &m, &n, A, &lda, &vl, &vu, &il, &iu, ns,
192 s, U, &ldu, V, &ldv, work, &lwork, iwork, info );
271 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n,
double* A,
int lda,
272 double vl,
double vu,
int il,
int iu,
int* ns,
273 double* s,
double* U,
int ldu,
double* V,
int ldv,
274 double* work,
int lwork,
int* iwork,
int* info )
276 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 283 dgesvdx_( &jobu, &jobv, &range, &m, &n, A, &lda, &vl, &vu, &il, &iu, ns,
284 s, U, &ldu, V, &ldv, work, &lwork, iwork, info );
364 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<float>* A,
int lda,
365 float vl,
float vu,
int il,
int iu,
int* ns,
366 float* s, complex<float>* U,
int ldu, complex<float>* V,
int ldv,
367 complex<float>* work,
int lwork,
float* rwork,
int* iwork,
int* info )
371 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 373 using ET = MKL_Complex8;
381 cgesvdx_( &jobu, &jobv, &range, &m, &n, reinterpret_cast<ET*>( A ), &lda,
382 &vl, &vu, &il, &iu, ns, s,
383 reinterpret_cast<ET*>( U ), &ldu, reinterpret_cast<ET*>( V ), &ldv,
384 reinterpret_cast<ET*>( work ), &lwork, rwork, iwork, info );
464 inline void gesvdx(
char jobu,
char jobv,
char range,
int m,
int n, complex<double>* A,
int lda,
465 double vl,
double vu,
int il,
int iu,
int* ns,
466 double* s, complex<double>* U,
int ldu, complex<double>* V,
int ldv,
467 complex<double>* work,
int lwork,
double* rwork,
int* iwork,
int* info )
471 #if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000) 473 using ET = MKL_Complex16;
481 zgesvdx_( &jobu, &jobv, &range, &m, &n, reinterpret_cast<ET*>( A ), &lda,
482 &vl, &vu, &il, &iu, ns, s,
483 reinterpret_cast<ET*>( U ), &ldu, reinterpret_cast<ET*>( V ), &ldv,
484 reinterpret_cast<ET*>( work ), &lwork, rwork, iwork, info );
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
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:179
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