Home | History | Annotate | Download | only in SVD

Lines Matching full:matrix

33  * \param MatrixType the type of the matrix of which we are computing the SVD decomposition
60 typedef Matrix<Scalar, RowsAtCompileTime, RowsAtCompileTime,
63 typedef Matrix<Scalar, ColsAtCompileTime, ColsAtCompileTime,
69 typedef Matrix<Scalar, Dynamic, Dynamic> MatrixX;
70 typedef Matrix<RealScalar, Dynamic, Dynamic> MatrixXr;
71 typedef Matrix<RealScalar, Dynamic, 1> VectorType;
97 /** \brief Constructor performing the decomposition of given matrix.
99 * \param matrix the matrix to decompose
104 * Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not
107 BDCSVD(const MatrixType& matrix, unsigned int computationOptions = 0)
111 compute(matrix, computationOptions);
117 /** \brief Method performing the decomposition of given matrix using custom options.
119 * \param matrix the matrix to decompose
124 * Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not
127 SVDBase<MatrixType>& compute(const MatrixType& matrix, unsigned int computationOptions);
129 /** \brief Method performing the decomposition of given matrix using current options.
131 * \param matrix the matrix to decompose
135 SVDBase<MatrixType>& compute(const MatrixType& matrix)
137 return compute(matrix, this->m_computationOptions);
216 // Methode to allocate ans initialize matrix and attributs
254 SVDBase<Matrix<int, Dynamic, Dynamic> >&
255 BDCSVD<Matrix<int, Dynamic, Dynamic> >::compute(const MatrixType& matrix, unsigned int computationOptions) {
256 allocate(matrix.rows(), matrix.cols(), computationOptions);
258 m_computed = Matrix<int, Dynamic, Dynamic>::Zero(rows(), cols());
262 if (this->m_computeFullU) this->m_matrixU = Matrix<int, Dynamic, Dynamic>::Zero(rows(), rows());
263 if (this->m_computeFullV) this->m_matrixV = Matrix<int, Dynamic, Dynamic>::Zero(cols(), cols());
272 BDCSVD<MatrixType>::compute(const MatrixType& matrix, unsigned int computationOptions)
274 allocate(matrix.rows(), matrix.cols(), computationOptions);
277 //**** step 1 Bidiagonalization isTranspose = (matrix.cols()>matrix.rows()) ;
279 if (isTranspose) copy = matrix.adjoint();
280 else copy = matrix;
352 // The divide algorithm is done "in place", we are always working on subsets of the same matrix. The divide methods takes as argument the
358 //@param firstRowW : The Index of the first row of the matrix W that we are to change. (see the reference paper section 1 for more information on W)
479 // the line below do the deflation of the matrix for the third part of the algorithm
481 // the third part of the algorithm is a fast SVD on the matrix m_computed which works thanks to the deflation