Hello everyone, I was trying to fix an error which arises due to the missing attributes in MutableMatrix. Eg Matrix.eye(3).is_Piecewise fails but S(Matrix.eye(3)).is_Piecewise returns false which doesn't mean that S() turns it into an ImmutableMatrix.
These are attributes which are initialized as False in Basic class. is_Atom = False is_Symbol = False is_Dummy = False is_Wild = False is_Function = False is_Add = False is_Mul = False is_Pow = False is_Number = False is_Float = False is_Rational = False is_Integer = False is_NumberSymbol = False is_Order = False is_Derivative = False is_Piecewise = False is_Poly = False is_AlgebraicNumber = False is_Relational = False is_Equality = False is_Boolean = False is_Not = False is_Matrix = False One of the solutions which Christopher Smith suggested was to define a BasicBase class in basic.py and migrate these attributes to that class. All other classes will be derived from this BasicBase class. I have implemented BasicBase class and made MatrixBase class to derive the same. It worked well! Due to this change we may need to derive all other classes form this BasicBase class. We may also need to write a corresponding tests for the same for *everything* in SymPy all together may be a huge task. What's your opinion about this change? Do you have a better solution for the same? -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.