> So something will need to be added to the order of operations handler... any idea on how to start on this? Is that an error from *decorators.py*?
This is fixed in Python and is not something we can change. My opinion is that overloading the operators like this at all is a bad idea in Python. I'd rather not have them there at all. Jason moorepants.info +01 530-601-9791 On Tue, Oct 20, 2015 at 5:02 PM, Justin <[email protected]> wrote: > Hi, > > >> Something I'd really like to see changed in the vector module, is the >> dependence of these operators on the coordinate system. That is, you define >> the *grad, curl, div* operators for every coordinate system. This is not >> necessary, because *base_scalar*s and *base_vector*s all contain a >> reference to their coordinate system instance. >> >> In SymPy, remember to access to parameters passed to the constructor with >> *obj.args* >> > > So I did some playing around here and found that when a vector is > constructed with VectorAdd or VectorMul the system reference is lost in > obj.arg as you mentioned. It's still there, just buried in tuples of > BaseScalar and BaseVector instances. Should we add a system property to > the classes for basis dependent classes (basisindependent.py). > > >> They both check out. Next, something will have to be done for dot >>> products to check: >>> >> > Dot products are fine... granted one puts parenthesis around them. For > example: > > >>> r + r * dr & dr > > TypeError: r cannot be interpreted correctly > > > >>> r + r * (dr & dr) > > 2 * spherical_r > > > So something will need to be added to the order of operations handler... > any idea on how to start on this? Is that an error from *decorators.py*? > > >> 3) grad(fg) --> laplacian(fg) = f laplacian(g) + 2 * grad(f) (dot) >>> grad(g) + g laplacian(f) >>> >> > Whoops! > > >> 4) curl(curl(A)) = grad(div(A)) - laplacian(A) >>> >> >> Did you write some code? Did you post it on github? >> > > Following Jason's post I fetched the branch from your repo and started > doing testing. I haven't done much coding; I did add the laplacian to > *functions.py. > *Should I push to you on a different branch or stop, fork and continue? > > >> I'll see if I can get a hold of him and see where he is at (or, if you >> (*Upabjojr >>> <https://github.com/Upabjojr>) *keep up with posts, message me on here). >>> >> >> Hello there! >> > > Hi back! > > So, I think for now I will focus on adding a system property to the > BasisDependent(Add)Mul classes and then debug the order of operations > issue. Let me know how you would like to handle the push (it should be > fine to push to you because I'm on a different branch and will have to > submit a pull request to you anyways). > > > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/a43cffe0-c8f1-4654-8c3b-ac319a0a66ad%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/a43cffe0-c8f1-4654-8c3b-ac319a0a66ad%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAP7f1AhXKJkmYW7v%3Drw_aD4oXpMjG0LkgDQ50Xxd4SvKMzDTYw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
