35#ifndef _BLAZE_MATH_LAPACK_CLAPACK_GESVD_H_
36#define _BLAZE_MATH_LAPACK_CLAPACK_GESVD_H_
57#if !defined(INTEL_MKL_VERSION)
183#if defined(INTEL_MKL_VERSION)
187 sgesvd_( &jobu, &jobv, &m, &n, A, &lda, s, U, &ldu, V, &ldv, work, &lwork, info
188#
if !defined(INTEL_MKL_VERSION)
262#if defined(INTEL_MKL_VERSION)
266 dgesvd_( &jobu, &jobv, &m, &n, A, &lda, s, U, &ldu, V, &ldv, work, &lwork, info
267#
if !defined(INTEL_MKL_VERSION)
340 complex<float>* V,
blas_int_t ldv, complex<float>* work,
345#if defined(INTEL_MKL_VERSION)
348 using ET = MKL_Complex8;
353 cgesvd_( &jobu, &jobv, &m, &n,
reinterpret_cast<ET*
>( A ), &lda, s,
354 reinterpret_cast<ET*
>( U ), &ldu,
reinterpret_cast<ET*
>( V ), &ldv,
355 reinterpret_cast<ET*
>( work ), &lwork, rwork, info
356#
if !defined(INTEL_MKL_VERSION)
429 complex<double>* V,
blas_int_t ldv, complex<double>* work,
434#if defined(INTEL_MKL_VERSION)
437 using ET = MKL_Complex16;
442 zgesvd_( &jobu, &jobv, &m, &n,
reinterpret_cast<ET*
>( A ), &lda, s,
443 reinterpret_cast<ET*
>( U ), &ldu,
reinterpret_cast<ET*
>( V ), &ldv,
444 reinterpret_cast<ET*
>( work ), &lwork, rwork, info
445#
if !defined(INTEL_MKL_VERSION)
Header file for the complex data type.
Complex data type of the Blaze library.
void gesvd(DenseMatrix< MT1, SO > &A, DenseMatrix< MT2, SO > &U, DenseVector< VT, TF > &s, DenseMatrix< MT3, SO > &V, char jobu, char jobv)
LAPACK kernel for the singular value decomposition (SVD) of the given dense general matrix.
Definition: gesvd.h:1170
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.