1619
Comment:
|
← Revision 13 as of 2022-04-07 03:40:16 ⇥
0
outdated
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== TODO list for the pynac interface == ==== "fully get rid of maxima-based symbolic variables" ==== * evaluation * support for _fast_eval * hash is random * pyobject deallocations, memory leaks * print order (William's list) {{{ Now, sage: x^2 + x^4 + x^3 x^2 + x^3 + x^4 sage: a^3*x^10 + x^12 - a^15 x^12 + a^3*x^10 - a^15 So it is printing from lowest to highest degree, like mathematica (or power series), but unlike the standard sage convention (or maple, singular, MATH, etc.): sage: R.<a,x> = QQ[] sage: a^3*x^10 + x^12 - a^15 -a^15 + a^3*x^10 + x^12 sage: singular(a^3*x^10 + x^12 - a^15) -a^15+a^3*x^10+x^12 }}} * 1/gamma(-1) = 0 * collect_common_factors (William's list) {{{ need to be able to do this (from ginsh): > collect_common_factors(x/(x^2 + x)); (1+x)^(-1) }}} * pretty printing (latex() method, a/b instead of a*b^{-1}, etc.) * noncommutative symbols * symbol domains (ginac supports real, complex, integer) * precision for numeric evaluation (evalf, _mpfr_, William's list) {{{ genuine coercions to real field, etc. }}} * pickling (William's list) {{{ Support pickle via the "archive" print mode. }}} * gcd (William's list) {{{ Maybe change SAGE's Ginac to make a call to a cython gcd function, then use singular, since singular's gcd over QQ is much better than ginac's, I think, and ginac *only* does GCD over QQ. Actually, just make everything in normal.cpp be implemented via Singular, probably... }}} * unevaluated expressions? * callable symbolic expressions?? * piecewise expressions, substitution and pattern matching |