scipy.sparse implements a dtype kwarg argument, but which currently cannot take in arbitrary unknown types though. One thing that can be done about this, is to define an interface for the dtype. It would be taken for granted that it will have +, *, / defined. Checks will be used in algorithms if it has pow, inverse defined or not. The caller will be provided with a dtype function argument in the Matrix constructor.
I list some built-in dtypes that sympy has and can provide. With only these 6 dtypes, Matrix should suffice for 90% of symbolic matrix needs. Possibly, if the caller doesn't want any of these dtypes, then he should specify 'other' in the dtype argument. Int, numeric, can employ addition, multiplication, raising to positive integral power. Rational, numeric, can employ addition, multiplication, division, inverse, raising to integral power. Real, numeric, can employ addition, multiplication, division, inverse, raising to any power. Poly (Or one of its internals), symbolic, to support addition, multiplication, division by scalar, *not* inverse, raising to positive integral power. Rational Function, symbolic, to support addition, multiplication, division by scalar, inverse, raising to integral power. Expr, symbolic, to support addition, multiplication, division by scalar, inverse, raising to all powers. -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.