35 #ifndef _BLAZE_MATH_DENSE_SVD_H_ 36 #define _BLAZE_MATH_DENSE_SVD_H_ 67 template<
typename MT,
bool SO,
typename VT,
bool TF >
68 inline void svd(
const DenseMatrix<MT,SO>& A, DenseVector<VT,TF>& s );
70 template<
typename MT1,
bool SO,
typename VT,
bool TF,
typename MT2,
typename MT3 >
71 inline void svd(
const DenseMatrix<MT1,SO>& A, DenseMatrix<MT2,SO>& U,
72 DenseVector<VT,TF>& s, DenseMatrix<MT3,SO>& V );
74 template<
typename MT,
bool SO,
typename VT,
bool TF,
typename ST >
75 inline size_t svd(
const DenseMatrix<MT,SO>& A, DenseVector<VT,TF>& s, ST low, ST upp );
77 template<
typename MT1,
bool SO,
typename VT,
bool TF,
typename MT2,
typename MT3,
typename ST >
78 inline size_t svd(
const DenseMatrix<MT1,SO>& A, DenseMatrix<MT2,SO>& U,
79 DenseVector<VT,TF>& s, DenseMatrix<MT3,SO>& V, ST low, ST upp );
131 template<
typename MT
157 if( !IsContiguous_v<VT> ) {
221 template<
typename MT1
262 gesdd( Atmp, Utmp, stmp, Vtmp,
'S' );
264 if( !IsContiguous_v<MT2> ) {
268 if( !IsContiguous_v<VT> ) {
272 if( !IsContiguous_v<MT3> ) {
341 template<
typename MT
368 const auto num =
gesvdx( Atmp, stmp, low, upp );
370 if( !IsContiguous_v<VT> ) {
457 template<
typename MT1
501 const auto num =
gesvdx( Atmp, Utmp, stmp, Vtmp, low, upp );
503 if( !IsContiguous_v<MT2> ) {
507 if( !IsContiguous_v<VT> ) {
511 if( !IsContiguous_v<MT3> ) {
Constraint on the data type.
#define BLAZE_CONSTRAINT_MUST_HAVE_MUTABLE_DATA_ACCESS(T)
Constraint on the data type.In case the given data type T does not provide low-level data access to m...
Definition: MutableDataAccess.h:61
typename If< Condition, T1, T2 >::Type If_t
Auxiliary alias declaration for the If class template.The If_t alias declaration provides a convenien...
Definition: If.h:109
typename T::ResultType ResultType_t
Alias declaration for nested ResultType type definitions.The ResultType_t alias declaration provides ...
Definition: Aliases.h:390
#define BLAZE_CONSTRAINT_MUST_NOT_BE_COMPUTATION_TYPE(T)
Constraint on the data type.In case the given data type T is a computational expression (i...
Definition: Computation.h:81
Header file for the LAPACK singular value decomposition functions (gesvdx)
Header file for the DenseVector base class.
Constraint on the data type.
#define BLAZE_CONSTRAINT_MUST_NOT_BE_ADAPTOR_TYPE(T)
Constraint on the data type.In case the given data type T is an adaptor type (as for instance LowerMa...
Definition: Adaptor.h:81
Base class for dense matrices.The DenseMatrix class is a base class for all dense matrix classes...
Definition: DenseMatrix.h:80
typename T::ElementType ElementType_t
Alias declaration for nested ElementType type definitions.The ElementType_t alias declaration provide...
Definition: Aliases.h:170
Constraint on the data type.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the If class template.
Header file for the DenseMatrix base class.
Base class for N-dimensional dense vectors.The DenseVector class is a base class for all arbitrarily ...
Definition: DenseVector.h:76
void gesdd(char jobz, int m, int n, float *A, int lda, 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: gesdd.h:165
Header file for the RemoveAdaptor type trait.
Constraint on the data type.
void svd(const DenseMatrix< MT, SO > &A, DenseVector< VT, TF > &s)
Singular value decomposition (SVD) of the given dense general matrix.
Definition: SVD.h:135
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 IsContiguous type trait.
#define BLAZE_CONSTRAINT_MUST_BE_BLAS_COMPATIBLE_TYPE(T)
Constraint on the data type.In case the given data type T is not a BLAS compatible data type (i...
Definition: BLASCompatible.h:61
#define BLAZE_CONSTRAINT_MUST_BE_BUILTIN_TYPE(T)
Constraint on the data type.In case the given data type T is not a built-in data type, a compilation error is created.
Definition: Builtin.h:60
Header file for the LAPACK singular value decomposition functions (gesdd)