35#ifndef _BLAZE_MATH_LAPACK_CLAPACK_GESVDX_H_
36#define _BLAZE_MATH_LAPACK_CLAPACK_GESVDX_H_
57#if !defined(INTEL_MKL_VERSION) || (INTEL_MKL_VERSION < 20170000)
116 double* A,
blas_int_t lda,
double vl,
double vu,
220#if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000)
227 sgesvdx_( &jobu, &jobv, &range, &m, &n, A, &lda, &vl, &vu, &il, &iu, ns,
228 s, U, &ldu, V, &ldv, work, &lwork, iwork, info
229#
if !defined(INTEL_MKL_VERSION) || (INTEL_MKL_VERSION < 20170000)
312 double* A,
blas_int_t lda,
double vl,
double vu,
318#if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000)
325 dgesvdx_( &jobu, &jobv, &range, &m, &n, A, &lda, &vl, &vu, &il, &iu, ns,
326 s, U, &ldu, V, &ldv, work, &lwork, iwork, info
327#
if !defined(INTEL_MKL_VERSION) || (INTEL_MKL_VERSION < 20170000)
411 complex<float>* A,
blas_int_t lda,
float vl,
float vu,
414 complex<float>* work,
blas_int_t lwork,
float* rwork,
419#if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000)
422 using ET = MKL_Complex8;
430 cgesvdx_( &jobu, &jobv, &range, &m, &n,
reinterpret_cast<ET*
>( A ), &lda,
431 &vl, &vu, &il, &iu, ns, s,
432 reinterpret_cast<ET*
>( U ), &ldu,
reinterpret_cast<ET*
>( V ), &ldv,
433 reinterpret_cast<ET*
>( work ), &lwork, rwork, iwork, info
434#
if !defined(INTEL_MKL_VERSION) || (INTEL_MKL_VERSION < 20170000)
518 complex<double>* A,
blas_int_t lda,
double vl,
double vu,
521 complex<double>* work,
blas_int_t lwork,
double* rwork,
526#if defined(INTEL_MKL_VERSION) && (INTEL_MKL_VERSION >= 20170000)
529 using ET = MKL_Complex16;
537 zgesvdx_( &jobu, &jobv, &range, &m, &n,
reinterpret_cast<ET*
>( A ), &lda,
538 &vl, &vu, &il, &iu, ns, s,
539 reinterpret_cast<ET*
>( U ), &ldu,
reinterpret_cast<ET*
>( V ), &ldv,
540 reinterpret_cast<ET*
>( work ), &lwork, rwork, iwork, info
541#
if !defined(INTEL_MKL_VERSION) || (INTEL_MKL_VERSION < 20170000)
Header file for the complex data type.
Complex data type of the Blaze library.
size_t gesvdx(DenseMatrix< MT1, SO > &A, DenseMatrix< MT2, SO > &U, DenseVector< VT, TF > &s, DenseMatrix< MT3, SO > &V, ST low, ST upp)
LAPACK kernel for the singular value decomposition (SVD) of the given dense general matrix.
Definition: gesvdx.h:2031
int32_t blas_int_t
Signed integer type used in the BLAS/LAPACK wrapper functions.
Definition: Types.h:64
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.
Definition: StaticAssert.h:112
size_t fortran_charlen_t
Type of the hidden arguments of character type within a Fortran forward declaration.
Definition: Types.h:186
Header file for basic BLAS type definitions.
Header file for basic type definitions.