Home | History | Annotate | Download | only in test

Lines Matching refs:QR

12 #include <Eigen/QR>
94 template<typename MatrixType> void qr()
107 ColPivHouseholderQR<MatrixType> qr(m1);
108 VERIFY_IS_EQUAL(rank, qr.rank());
109 VERIFY_IS_EQUAL(cols - qr.rank(), qr.dimensionOfKernel());
110 VERIFY(!qr.isInjective());
111 VERIFY(!qr.isInvertible());
112 VERIFY(!qr.isSurjective());
114 MatrixQType q = qr.householderQ();
117 MatrixType r = qr.matrixQR().template triangularView<Upper>();
118 MatrixType c = q * r * qr.colsPermutation().inverse();
142 m2 = qr.solve(m3);
149 qr.compute(m1);
150 } while(!qr.isInvertible());
151 MatrixType m1_inv = qr.inverse();
153 m2 = qr.solve(m3);
168 ColPivHouseholderQR<Matrix<Scalar,Rows,Cols> > qr(m1);
169 VERIFY_IS_EQUAL(rank, qr.rank());
170 VERIFY_IS_EQUAL(Cols - qr.rank(), qr.dimensionOfKernel());
171 VERIFY_IS_EQUAL(qr.isInjective(), (rank == Rows));
172 VERIFY_IS_EQUAL(qr.isSurjective(), (rank == Cols));
173 VERIFY_IS_EQUAL(qr.isInvertible(), (qr.isInjective() && qr.isSurjective()));
175 Matrix<Scalar,Rows,Cols> r = qr.matrixQR().template triangularView<Upper>();
176 Matrix<Scalar,Rows,Cols> c = qr.householderQ() * r * qr.colsPermutation().inverse();
182 m2 = qr.solve(m3);
207 // for rank-revealing QR. See
231 ColPivHouseholderQR<MatrixType> qr(m1);
232 MatrixType r = qr.matrixQR().template triangularView<Upper>();
244 std::cout << "Failure at i=" << i << ", rank=" << qr.rank()
270 ColPivHouseholderQR<MatrixType> qr(m1);
272 m2 = qr.solve(m3);
279 m3 = qr.householderQ(); // get a unitary
281 qr.compute(m1);
282 VERIFY_IS_APPROX(absdet, qr.absDeterminant());
283 VERIFY_IS_APPROX(log(absdet), qr.logAbsDeterminant());
290 ColPivHouseholderQR<MatrixType> qr;
291 VERIFY_RAISES_ASSERT(qr.matrixQR())
292 VERIFY_RAISES_ASSERT(qr.solve(tmp))
293 VERIFY_RAISES_ASSERT(qr.householderQ())
294 VERIFY_RAISES_ASSERT(qr.dimensionOfKernel())
295 VERIFY_RAISES_ASSERT(qr.isInjective())
296 VERIFY_RAISES_ASSERT(qr.isSurjective())
297 VERIFY_RAISES_ASSERT(qr.isInvertible())
298 VERIFY_RAISES_ASSERT(qr.inverse())
299 VERIFY_RAISES_ASSERT(qr.absDeterminant())
300 VERIFY_RAISES_ASSERT(qr.logAbsDeterminant())
306 CALL_SUBTEST_1( qr<MatrixXf>() );
307 CALL_SUBTEST_2( qr<MatrixXd>() );
308 CALL_SUBTEST_3( qr<MatrixXcd>() );