Add support for triangular products with evaluators

This commit is contained in:
Gael Guennebaud
2013-12-07 17:17:47 +01:00
parent 8d8acc3ab4
commit 2ca0ccd2f2
5 changed files with 137 additions and 24 deletions

View File

@@ -451,5 +451,10 @@ void test_evaluators()
C.triangularView<Upper>().swap(D.triangularView<Upper>());
swap_using_evaluator(B.triangularView<Upper>(), A.triangularView<Upper>());
VERIFY(B.isApprox(C) && "swap_using_evaluator(B.triangularView<Upper>(), A.triangularView<Upper>())");
VERIFY_IS_APPROX_EVALUATOR2(B, prod(A.triangularView<Upper>(),A), MatrixXd(A.triangularView<Upper>()*A));
B.col(0).noalias() = prod( (2.1 * A.adjoint()).triangularView<UnitUpper>() , (A.row(0)).adjoint() );
}
}