Comment #2 on issue 3406 by mrock...@gmail.com: SparseMatrix attribute is incompatible with MatrixBase methods
http://code.google.com/p/sympy/issues/detail?id=3406

I've mentioned this in the PR but I'll mention it here too. ImmutableMatrix also inherits from MatrixBase. Functionality required by ImmutableMatrix should not be moved to MutableMatrix. This is most of MatrixBase. Unfortunately This dependence is not well tested and it would be easy to move functionality out of ImmutableMatrices without triggering a warning from the tests.

Ideally MutableMatrix and ImmutableMatrix should have almost the exact same interface. This is why MatrixBase was created.

The solution (I think) is not to move functionality from MatrixBase into MutableMatrix but to sever the connection between MatrixBase and SparseMatrix and to create a new class, MatrixInterface above both. I.e.

MatrixInterface -> MatrixBase
MatrixInterface -> SparseMatrix
MatrixBase -> MutableMatrix
MatrixBase -> ImmutableMatrix

If you remember please CC me on all pull requests and issues that suggest taking functionality away from MatrixBase and ImmutableMatrix.

--
You received this message because you are subscribed to the Google Groups 
"sympy-patches" group.
To post to this group, send email to sympy-patches@googlegroups.com.
To unsubscribe from this group, send email to 
sympy-patches+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to