Macaulay2 Engine
Loading...
Searching...
No Matches

◆ SVD()

template<typename T>
bool MutableMat< T >::SVD ( MutableMatrix * Sigma,
MutableMatrix * U,
MutableMatrix * Vt,
bool use_divide_and_conquer ) const
virtual

Implements MutableMatrix.

Definition at line 337 of file mutablemat-imp.hpp.

341{
343 T* U2 = U->coerce<T>();
344 T* Vt2 = Vt->coerce<T>();
345 if (Sigma2 == 0 || U2 == 0 || Vt2 == 0)
346 throw exc::engine_error("expected matrices of the same type");
347 int strategy = (use_divide_and_conquer ? 1 : 0);
348 return MatrixOps::SVD(mat, *Sigma2, *U2, *Vt2, strategy);
349}
MatT * coerce()
Definition mat.hpp:151
bool SVD(const Mat &A, Mat2 &Sigma, Mat &U, Mat &Vt, int strategy)

References MutableMatrix::coerce(), mat, MutableMatrix::MutableMatrix(), MatrixOps::SVD(), and T.