Hi, On 2 June 2011 06:27, SherjilOzair <[email protected]> wrote:
> scipy.sparse implements a dtype kwarg argument, but which currently > cannot take in arbitrary unknown types though. > Comparing two entities from two very different libraries may be misleading, because SciPy has different needs and SymPy has different. > 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. > I'm not sure where you are going with this. In sympy.polys (and specifically domains submodule) there is everything (well, almost) that you need to start working on matrices. We ask you not to reinvent the wheel, but to use the framework that is already in SymPy, report bugs and issues, and, if necessary, improve it. In another thread I asked you to start with something simple, mainly with making solve_linear_system() aware of sympy.polys.domains. This way you should be able to quickly learn how to interact with domains and ground types, and what are the possible issues, and why this is needed at all. In some very old local branch I did this exercise my self. Until this is done (I mean until you use the framework for something practical), all of the discussions will be purely theoretical. > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/sympy?hl=en. > > Mateusz -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
