On Fri, May 22, 2020 at 04:07:47PM -0700, Jonathan wrote: > Emmanuel, > > Thanks, that is one of the places I was starting. It turns out that doesn't > quite pick up the necessary stuff from the `Expr` type. I have had better > luck extending the base type `Expr`. It was not hard to get the arithmetic > parts (+, -, /,*, pow) working. I'm still looking for/working on a robust > way of extending all the SymPy functions to operate on both the lhs and the > rhs. > > The idea here is not to use solve, but allow students to use it to aid them > in doing algebra without making silly errors. We still need them to decide > on all the steps themselves. This also lets them include units in > calculations in a way that is familiar to physical scientists. > > Anyway, my hope is to get some inspiration from how it is done in Sagemath. > > Although my preference is to use Sagemath because of the inherent power, > this application needs to play nice with *conda and pip installs. So I
Conda does have Sagemath available. Not 100% sure how it works on Windows, though. We're planning for this year to get Sagemath pip-installable too. > think it has to be an extension of SymPy rather than trying to convince > people to install the other tools they are using in a Sagemath environment. > > I'm definitely thankful for any suggestions people have. > > Jonathan > On Friday, May 22, 2020 at 11:54:19 AM UTC-5, Emmanuel Charpentier wrote: > > > > Well, you might consider working on the expressions <lef-hend > > part>-<right-hand part>. A quick test with Sympy: > > > > Python 3.8.3 (default, May 14 2020, 11:03:12) > > [GCC 9.3.0] on linux > > Type "help", "copyright", "credits" or "license" for more information. > > >>> python.el: native completion setup loaded > > >>> from sympy import * > > >>> p,V,n,R,T=symbols("p,V,n,R,T") > > >>> Ex1=p*V-n*R*T > > >>> Ex1 > > -R*T*n + V*p > > >>> Ex1/V > > (-R*T*n + V*p)/V > > >>> solve(Ex1,p) > > [R*T*n/V] > > > > But Sympy *has* the Eq operator, which allows you to build, store and use > > symbolic equations : > > > > >>> Eq1=Eq(p*V, n*R*T) > > >>> Eq1 > > Eq(V*p, R*T*n) > > >>> solve(Eq1,p) > > [R*T*n/V] > > > > OTOH, Sage isn't *that* much heavier than Sympy... > > > > HTH, > > > > Le jeudi 21 mai 2020 15:30:42 UTC+2, Jonathan a écrit : > >> > >> Dear All, > >> > >> I have a use case where I need something lighter weight than the whole of > >> Sagemath. I think SymPy + the ability to handle math on symbolic equations > >> as Sagemath does it might be enough. Thus I wanted to see if I could > >> extract from Sagemath the code supporting math on symbolic expressions and > >> overlay that on SymPy or at least use that as a template. Can somebody > >> please point me to the place to start looking in the codebase? > >> > >> To make sure people understand what I am interested in, here is a simple > >> example of the ability I would like to extract: > >> >>>eq1 = p*V==n*R*T > >> >>>eq1 > >> p*V=n*R*T > >> >>>eq2=eq1/V > >> >>>eq2 > >> p=n*R*T/V > >> > >> Thanks, > >> Jonathan > >> > > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-devel/f8fcb045-450d-49fa-b05f-501407083544%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/20200523001452.GA3765%40hilbert.lan.
signature.asc
Description: PGP signature