According to the docs, we are able to create a Symmetric matrix from another matrix that is already stored in memory:
A = eye(3)
B = Symmetric(A)
sizeof(A) # 72 bytes
sizeof(B) # 16 bytes
How to populate a Symmetric matrix directly without having to store a full matrix? In particular, if we could index a Symmetric matrix and have the expected behavior that whenever B[i,j]
is set to b
, B[j,i]
is automatically set to b
, that would be very useful.
I would like to save memory while working with big covariance matrices and also be able to enforce symmetry in the type to dispatch the appropriate LinAlg solvers. Is this a feature that you consider relevant?
B[1,1] # ERROR: not supported