On Jul 11, 2:46 pm, SherjilOzair <[email protected]> wrote:
> For those who've not read my latest blog, I'm working on implementing
> a new structure for the matrices module of sympy.
> I faced many decision problems while doing so, like what should be
> named what and what should be where.
>
> Should matrix and linear algebra be separated ?
>
> I'm +1 for minimal code in the matrix class and most of the
> code(factorizations, solves) outside the class.
>
> What all functionality have we or should we *promise* to the users of
> sympy ? That is, what is the public API ?
>
> Since you guys have been using sympy matrices for a long time, it
> would be best if you could reply back with what do you expect the
> matrix module to behave like ?
>
> One thing that I'm promising is user indifference to internal
> representation, i.e. the user can ignore the representation of the
> matrix to be chosen and matrix class will figure out the
> representation, and there will be seamless conversion between the
> matrix internals. An algorithm that works on dense matrix would even
> work on sparse matrices without the user explicitly doing any
> conversions.
> The user will still be able to override and choose the repr himself my
> a 'repr' kwarg like Matrix(..., repr='dense').
>
> I plan to put only essential functionalities in the main class. Other
> functionalities will be put in a separate file matrixtools.py or
> matrixutils.py.
> For example, jacobian does not belong to the class, it belongs to
> specialmatrices.py, and should be in the linalg. namespace as
> linalg.jacobian
> I've encountered many stuff like this like this in the matrices.py
> file.
>
> so, once again the questions are,
> What do you expect from the matrix module ?
> What should be the public API ?
> What functionality should be given special status to reside inside the
> class ?

I think we should do it like numpy and prefer for example lu_solve(A,
b) over A.lu_solve(b). On the other hand, we have usually both in
sympy.

Vinzent

-- 
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.

Reply via email to