So far I knew that eigen does not provide any special optimized operations for triangular or symmetric matrices. And also it does not use any packed storage for those matrices. Both triangular and symmetric matrices are considered as normal matrices. But eigen has the concept of view. But in the documentation of Eigen they mentioned that they perform optimized operations for both symmetric and triangular matrices. And also I don't understand what they mean by The opposite triangular part is never referenced and can be used to store other information
TriangularView gives a view on a triangular part of a dense matrix and allows to perform optimized operations on it. The opposite triangular part is never referenced and can be used to store other information.
They mentioned same thing for symmetric matrices
Just as for triangular matrix, you can reference any triangular part of a square matrix to see it as a selfadjoint matrix and perform special and optimized operations. Again the opposite triangular part is never referenced and can be used to store other information.
So my question is:
Does eigen consider symmetric and triangular matrices as special matrix or does it consider it as normal matrix like any other eigen matrix?
Does Eigen do packed storage or special compact storage?
What does this line mean The opposite triangular part is never referenced and can be used to store other information?
Does eigen perform any optimized operations for both triangular and symmetric matrix?
Although it seems there are 4 questions here but all are closely related. Yes/no answer would be okay for me except Question 3.