template<typename BSM, int Mode, bool DiagIsTriangular = false>
class Eigen::BlockSparseTriangularView< BSM, Mode, DiagIsTriangular >
Lazy block-level triangular view of a BlockSparseMatrix.
Obtained via BSM::triangularView<Mode>() or BSM::triangularView<Mode, true>() (the latter asserts that the unused triangle of every diagonal block is already zero, enabling faster vectorised products without an explicit triangularView on the block).
By default (DiagIsTriangular = false) diagonal blocks are treated as triangular regardless of what is stored in the unused half: products call block.triangularView<DiagMode>() and eval() zeroes the unused triangle. Set DiagIsTriangular = true to skip that overhead when you can guarantee the unused triangle is already zero.
template<typename BSM, int Mode, bool DiagIsTriangular = false>
template<typename Derived>
Solve T * x = rhs in-place. Requires square blocks. ColMajor Lower: forward sub, diagonal first per column. ColMajor Upper: backward sub, diagonal last per column. RowMajor Lower: forward sub, diagonal last per row. RowMajor Upper: backward sub, diagonal first per row.