On Feb 22, 2:37 am, JamesHDavenport j.h.davenp...@bath.ac.uk wrote:
Canonical form and simplify aren't the same thing (necessarily).
See Carette,J., Understanding Expression Simplification. Proc. ISSAC
2004 (ed. J. Gutierrez), ACM Press, New York, 2004, pp. 72-79.
I don't have access to that
Try
http://www.cas.mcmaster.ca/~carette/publications/simplification.pdf
The real point is that GiNaC's canonical form has different goals from
a 'simplify' command in the sense of minimal complexity.
One really needs to separate the two, and I don;t know how easy that
is with the current design.
So once it comes back to Sage, its internal representation goes back to the
Ginac one.
Doh! So much for a possible workaround involving maxima.
Dox, I was using full_simplify() and also the handful of simplify
methods it invokes. Evaluate a.full_simplify? to see their names.
Nils, trivial
On Feb 21, 9:36 pm, Mark Rahner rah...@alum.mit.edu wrote:
So once it comes back to Sage, its internal representation goes back to the
Ginac one.
My initial problem was the severe obfuscation that resulted when extra
factors added by the canonical form refused to cancel and then
replicated
On Feb 18, 8:24 pm, Mark Rahner rah...@alum.mit.edu wrote:
I appreciate that background info. I hadn't tried invoking maxima
because I read somewhere that simplify() used maxima. I must've been
reading outdated material. As you stated, maxima does the correct
thing. Because Sage can
On Feb 18, 5:24 pm, Mark Rahner rah...@alum.mit.edu wrote:
converts 1/sqrt(5) to 1/5*sqrt(5) so I suspect that this issue can be
traced to the GiNaC canonical form.
Yes, it does so for a very good reason: By simplifying expressions
this way, you're sure to recognize equal expressions. Compare
I appreciate that background info. I hadn't tried invoking maxima
because I read somewhere that simplify() used maxima. I must've been
reading outdated material. As you stated, maxima does the correct
thing. Because Sage can invoke maxima, perhaps I have a work around.
You're right that this
In some previous incarnation, where Sage used Maxima for things like
this, your simplification happened.
(%i1) 1/sqrt(5);
1
(%o1) ---
sqrt(5)
(%i2) sqrt(5)/5;