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.

Reply via email to