Extend API of TriangularView and SelfAdjointView

Submitted by Christoph Hertzberg @chhtz

Assigned to Nobody

Link to original bugzilla bug (#885)
Version: 3.3 (current stable)

Description

This causes things like the following not to compile:

template<class Derived>
void foo(const Eigen::MatrixBase<Derived>& ) {}

int main() {
Eigen::MatrixXd A;
foo(A.triangularViewEigen::Upper());
}

Also, these classes miss some useful functions, like isZero(), or sum().

Blocking

#1608

Edited by Eigen Bugzilla