Lines Matching refs:svd
76 void allocate(const JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd) in allocate() argument
78 if (svd.rows() != m_qr.rows() || svd.cols() != m_qr.cols()) in allocate()
81 ::new (&m_qr) QRType(svd.rows(), svd.cols()); in allocate()
83 if (svd.m_computeFullU) m_workspace.resize(svd.rows()); in allocate()
86 bool run(JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix) in run() argument
91 …svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.cols(),matrix.cols()).template triangularView<… in run()
92 if(svd.m_computeFullU) m_qr.matrixQ().evalTo(svd.m_matrixU, m_workspace); in run()
93 if(svd.computeV()) svd.m_matrixV = m_qr.colsPermutation(); in run()
122 void allocate(const JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd) in allocate() argument
124 if (svd.cols() != m_qr.rows() || svd.rows() != m_qr.cols()) in allocate()
127 ::new (&m_qr) QRType(svd.cols(), svd.rows()); in allocate()
129 m_adjoint.resize(svd.cols(), svd.rows()); in allocate()
130 if (svd.m_computeFullV) m_workspace.resize(svd.cols()); in allocate()
133 bool run(JacobiSVD<MatrixType, FullPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix) in run() argument
139 …svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.rows(),matrix.rows()).template triangularView<… in run()
140 if(svd.m_computeFullV) m_qr.matrixQ().evalTo(svd.m_matrixV, m_workspace); in run()
141 if(svd.computeU()) svd.m_matrixU = m_qr.colsPermutation(); in run()
159 void allocate(const JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd) in allocate() argument
161 if (svd.rows() != m_qr.rows() || svd.cols() != m_qr.cols()) in allocate()
164 ::new (&m_qr) QRType(svd.rows(), svd.cols()); in allocate()
166 if (svd.m_computeFullU) m_workspace.resize(svd.rows()); in allocate()
167 else if (svd.m_computeThinU) m_workspace.resize(svd.cols()); in allocate()
170 bool run(JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix) in run() argument
175 …svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.cols(),matrix.cols()).template triangularView<… in run()
176 if(svd.m_computeFullU) m_qr.householderQ().evalTo(svd.m_matrixU, m_workspace); in run()
177 else if(svd.m_computeThinU) in run()
179 svd.m_matrixU.setIdentity(matrix.rows(), matrix.cols()); in run()
180 m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixU, m_workspace); in run()
182 if(svd.computeV()) svd.m_matrixV = m_qr.colsPermutation(); in run()
213 void allocate(const JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd) in allocate() argument
215 if (svd.cols() != m_qr.rows() || svd.rows() != m_qr.cols()) in allocate()
218 ::new (&m_qr) QRType(svd.cols(), svd.rows()); in allocate()
220 if (svd.m_computeFullV) m_workspace.resize(svd.cols()); in allocate()
221 else if (svd.m_computeThinV) m_workspace.resize(svd.rows()); in allocate()
222 m_adjoint.resize(svd.cols(), svd.rows()); in allocate()
225 bool run(JacobiSVD<MatrixType, ColPivHouseholderQRPreconditioner>& svd, const MatrixType& matrix) in run() argument
232 …svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.rows(),matrix.rows()).template triangularView<… in run()
233 if(svd.m_computeFullV) m_qr.householderQ().evalTo(svd.m_matrixV, m_workspace); in run()
234 else if(svd.m_computeThinV) in run()
236 svd.m_matrixV.setIdentity(matrix.cols(), matrix.rows()); in run()
237 m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixV, m_workspace); in run()
239 if(svd.computeU()) svd.m_matrixU = m_qr.colsPermutation(); in run()
258 void allocate(const JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd) in allocate() argument
260 if (svd.rows() != m_qr.rows() || svd.cols() != m_qr.cols()) in allocate()
263 ::new (&m_qr) QRType(svd.rows(), svd.cols()); in allocate()
265 if (svd.m_computeFullU) m_workspace.resize(svd.rows()); in allocate()
266 else if (svd.m_computeThinU) m_workspace.resize(svd.cols()); in allocate()
269 bool run(JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd, const MatrixType& matrix) in run() argument
274 …svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.cols(),matrix.cols()).template triangularView<… in run()
275 if(svd.m_computeFullU) m_qr.householderQ().evalTo(svd.m_matrixU, m_workspace); in run()
276 else if(svd.m_computeThinU) in run()
278 svd.m_matrixU.setIdentity(matrix.rows(), matrix.cols()); in run()
279 m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixU, m_workspace); in run()
281 if(svd.computeV()) svd.m_matrixV.setIdentity(matrix.cols(), matrix.cols()); in run()
309 void allocate(const JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd) in allocate() argument
311 if (svd.cols() != m_qr.rows() || svd.rows() != m_qr.cols()) in allocate()
314 ::new (&m_qr) QRType(svd.cols(), svd.rows()); in allocate()
316 if (svd.m_computeFullV) m_workspace.resize(svd.cols()); in allocate()
317 else if (svd.m_computeThinV) m_workspace.resize(svd.rows()); in allocate()
318 m_adjoint.resize(svd.cols(), svd.rows()); in allocate()
321 bool run(JacobiSVD<MatrixType, HouseholderQRPreconditioner>& svd, const MatrixType& matrix) in run() argument
328 …svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.rows(),matrix.rows()).template triangularView<… in run()
329 if(svd.m_computeFullV) m_qr.householderQ().evalTo(svd.m_matrixV, m_workspace); in run()
330 else if(svd.m_computeThinV) in run()
332 svd.m_matrixV.setIdentity(matrix.cols(), matrix.rows()); in run()
333 m_qr.householderQ().applyThisOnTheLeft(svd.m_matrixV, m_workspace); in run()
335 if(svd.computeU()) svd.m_matrixU.setIdentity(matrix.rows(), matrix.rows()); in run()
367 …static bool run(typename SVD::WorkMatrixType& work_matrix, SVD& svd, Index p, Index q, RealScalar&…
388 if(svd.computeU()) svd.m_matrixU.col(p) *= conj(z);
394 if(svd.computeU()) svd.m_matrixU.col(q) *= conj(z);
403 if(svd.computeU()) svd.m_matrixU.applyOnTheRight(p,q,rot.adjoint());
408 if(svd.computeV()) svd.m_matrixV.col(q) *= z;
414 if(svd.computeU()) svd.m_matrixU.col(q) *= conj(z);