Differences between revisions 2 and 3
Revision 2 as of 2009-04-12 14:30:16
Size: 3697
Editor: BurcinErocal
Comment: add _polynomial_ info #5763
Revision 3 as of 2022-04-07 03:39:10
Size: 0
Editor: mkoeppe
Comment: outdated
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== TODO list for symbolics backend switch to pynac ==

=== default symbolics -> pynac patch ===
 * sqrt, etc. convert to SR
 * matrix class for SR
 * default x is SymbolicVariable
 * function()
 * clear_vars()
 * sage/calculus/functional.py stuff expects SymbolicExpressions

 * `CallableSymbolicExpressionRing` check=True ?

 * variable name is not a valid Python identifier!

 {{{
sage/calculus/calculus.py :6391,6395
}}}

=== no support in sage.symbolics.expression ===

 * no `.polynomial()` [[http://trac.sagemath.org/sage_trac/ticket/5763|Trac ticket #5763]] by Nick Alexander

  number field creation doesn't handle pynac expressions?
 {{{
sage/rings/number_field/number_field_rel.py
sage/rings/number_field/number_field.py
sage/rings/polynomial/multi_polynomial_element.py
sage/rings/polynomial/polynomial_singular_interface.py
sage/rings/polynomial/multi_polynomial_libsingular.pyx
}}}

 * no `.roots()` method
 {{{
sage/rings/polynomial/polynomial_element.pyx :3691
}}}

 * no `.gradient()` method
 {{{
sage/modules/free_module_element.pyx :1953
}}}

 * `.derivative()` without explicit variable
 {{{
sage/calculus/functions.py :37,43,52,56,60,64
}}}

 * call with unnamed arguments
 {{{
sage/ext/fast_eval.pyx
sage/ext/fast_callable.pyx
sage/gsl/integration.pyx :163
sage/numerical/optimize.py :199,316,320,483
lots in sage/plot
}}}

 * no `._fast_callable_()`
 {{{
sage/ext/fast_callable.pyx
}}}

 * no `._fast_float_()`
 {{{
sage/numerical/optimize.py :473
}}}

 * no `.limit()`
 {{{
sage/interfaces/maxima.py :426
}}}

 * no support for `.integrate()`
 {{{
sage/interfaces/maxima.py :588,594,598,604
}}}

 * no support for `.assume()` or `.forget()`

 should `sage.symbolic.expression.Expression` have methods called `.assume()` and
 `.forget()`?
 {{{
sage/interfaces/maxima.py :593,603
}}}

 * no support for `.nintegral()`
 {{{
sage/gsl/integration.pyx :161
}}}
 * no simplify:
  * `.simplify()`
  * `.simplify_log()`
  * `.simplify_trig()`
  * `.simplify_exp()`
  * `.simplify_radical()`
  * `.simplify_full()`
  * `.simplify_rational()`
  * and the aliases

 * no pretty printing (`.display2d()`)

 * no `.real()` (deprecate, and refer to `.real_part()`?)
 * no `.imag()` (deprecate, and refer to `.imag_part()`?)

 * `__float__` ???
 {{{
sage/calculus/wester.py :400,401,409
}}}

 * no `.taylor()` (`.series()`?)
 {{{
sage/calculus/wester.py :593
}}}

 * no `.power_series()`
 {{{
sage/calculus/wester.py :594
}}}

 * no `.hessian()`
 {{{
sage/calculus/functions.py :117
}}}

 * no `.solve()`

 * `.variables()` should return tuple

 * no `.find_root()`

 * no `._sympy_()`

 * no `.laplace()`

 * no `.inverse_laplace()`

 * no `.partial_fraction()` (deprecate and rename to .partial_fraction_decomposition()?)

 * no `.number_of_arguments()` (there is `.nargs()`)

 * no `._maxima_init()`
 * no `._mathematica_init()`

=== others ===

sage/rings/power_series_ring.py
sage/rings/arith.py

 * coercion?
sage/rings/polynomial/multi_polynomial_ring.py :270

 * possible bug in pynac
sage/rings/polynomial/polynomial_ring.py

 * I, sqrt(2), etc.
sage/rings/polynomial/polynomial_element.pyx

 * ???
sage/schemes/elliptic_curves/constructor.py

 * desolve expects old symbolics objects



sage/structure/coerce_maps.pyx

 * callable symbolic expression `.derivative()` tried to be intelligent
 {{{
sage/modules/free_module_element.pyx :1961
}}}

 * maxima matrices don't play well
 {{{
sage/matrix/matrix_symbolic_dense.pyx
sage/calculus/tests.py
}}}

sage/interfaces/qepcad.py

sage/gsl/integration.pyx