diff options
Diffstat (limited to 'test/product_selfadjoint.cpp')
-rw-r--r-- | test/product_selfadjoint.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/test/product_selfadjoint.cpp b/test/product_selfadjoint.cpp index 2f3833a02..2027fc8e5 100644 --- a/test/product_selfadjoint.cpp +++ b/test/product_selfadjoint.cpp @@ -53,25 +53,25 @@ template<typename MatrixType> void product_selfadjoint(const MatrixType& m) m1 = (m1.adjoint() + m1).eval(); // rank2 update - m2 = m1.template triangularView<LowerTriangular>(); - m2.template selfadjointView<LowerTriangular>().rankUpdate(v1,v2); - VERIFY_IS_APPROX(m2, (m1 + v1 * v2.adjoint()+ v2 * v1.adjoint()).template triangularView<LowerTriangular>().toDenseMatrix()); + m2 = m1.template triangularView<Lower>(); + m2.template selfadjointView<Lower>().rankUpdate(v1,v2); + VERIFY_IS_APPROX(m2, (m1 + v1 * v2.adjoint()+ v2 * v1.adjoint()).template triangularView<Lower>().toDenseMatrix()); - m2 = m1.template triangularView<UpperTriangular>(); - m2.template selfadjointView<UpperTriangular>().rankUpdate(-v1,s2*v2,s3); - VERIFY_IS_APPROX(m2, (m1 + (-s2*s3) * (v1 * v2.adjoint()+ v2 * v1.adjoint())).template triangularView<UpperTriangular>().toDenseMatrix()); + m2 = m1.template triangularView<Upper>(); + m2.template selfadjointView<Upper>().rankUpdate(-v1,s2*v2,s3); + VERIFY_IS_APPROX(m2, (m1 + (-s2*s3) * (v1 * v2.adjoint()+ v2 * v1.adjoint())).template triangularView<Upper>().toDenseMatrix()); - m2 = m1.template triangularView<UpperTriangular>(); - m2.template selfadjointView<UpperTriangular>().rankUpdate(-r1.adjoint(),r2.adjoint()*s3,s1); - VERIFY_IS_APPROX(m2, (m1 + (-s3*s1) * (r1.adjoint() * r2 + r2.adjoint() * r1)).template triangularView<UpperTriangular>().toDenseMatrix()); + m2 = m1.template triangularView<Upper>(); + m2.template selfadjointView<Upper>().rankUpdate(-r1.adjoint(),r2.adjoint()*s3,s1); + VERIFY_IS_APPROX(m2, (m1 + (-s3*s1) * (r1.adjoint() * r2 + r2.adjoint() * r1)).template triangularView<Upper>().toDenseMatrix()); if (rows>1) { - m2 = m1.template triangularView<LowerTriangular>(); - m2.block(1,1,rows-1,cols-1).template selfadjointView<LowerTriangular>().rankUpdate(v1.tail(rows-1),v2.head(cols-1)); + m2 = m1.template triangularView<Lower>(); + m2.block(1,1,rows-1,cols-1).template selfadjointView<Lower>().rankUpdate(v1.tail(rows-1),v2.head(cols-1)); m3 = m1; m3.block(1,1,rows-1,cols-1) += v1.tail(rows-1) * v2.head(cols-1).adjoint()+ v2.head(cols-1) * v1.tail(rows-1).adjoint(); - VERIFY_IS_APPROX(m2, m3.template triangularView<LowerTriangular>().toDenseMatrix()); + VERIFY_IS_APPROX(m2, m3.template triangularView<Lower>().toDenseMatrix()); } } |