Hi,
long time ago I renamed 2DArray as Matrix. Now our Matrix class does
not support any of the Matrix operations
Some Matrix operations are implemented:
- I see in Matrix class #+*, #preMultiplyByArray:, #preMultiplyByMatrix: which are Matrix specific arithmetic (Multiplication of Matrix by Vector and Matrix) in *Collections-arithmetic protocol. Does that mean these API will be removed while renaming ? They don't seem to be used anyway.
- There is also #transposed, which is the transposed matrix operator implemented only for square matrix or an assertion failure is raised. This method is used, it makes sense to have the transposed operator in Matrix class but I don't think it would mean anything on a Array2D class (What does it mean to transpose a 2D Array ?). Is this API going to be removed and all users patched ? Or maybe we rename it to #squareMatrixTransposed in Array2D expressing the intent (interpret the Array2D as a Matrix,��works only on square Matrix). What do you think ?
I think it makes sense to rename from Matrix to Array2D only if we patch first these matrix specific APIs. There are not many we can do it.
Regards,