|
Size: 11370
Comment:
|
← Revision 132 as of 2022-04-07 03:39:53 ⇥
Size: 0
Comment: outdated
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| = Final Pynac Switchover Push for Sage-4.0 = See also http://trac.sagemath.org/sage_trac/ticket/5930 <<TableOfContents>> == sqrt(2)^2 == {{{ sage: sqrt(x)^2 x sage: sqrt(2)^2 sqrt(2)^2 wstein@sage:~$ ginsh ginsh - GiNaC Interactive Shell (ginac V1.4.1) ... > sqrt(2)^2; 2 }}} Fix at http://sage.math.washington.edu/home/robertwb/patches/pynac-sqrt.patch == sqrt(16) == {{{ sage: sqrt(SR(16)) sqrt(16) sage: 27^(1/3) 27^(1/3) $ ginsh > sqrt(16); 4 > 27 ^ (1/3); 3 }}} Fix at http://sage.math.washington.edu/home/robertwb/patches/pynac-pow.patch however {{{ sage: sqrt(27) sqrt(27) }}} refuses to be simplified (despite the code to do so being executed). == pynac gcd broken == {{{ sage: var('n,x') (n, x) sage: g= (n+1)/x^n - n/x^n sage: g.collect_common_factors() /home/wstein/build/sage-3.4.2-symbolics/local/bin/sage-sage: line 198: 29952 Segmentation fault sage-ipython "$@" -i }}} Since the change in the definition of gcd of rational numbers in Sage, the gcd in pynac doesn't terminate in some cases. This can crash Sage as above. A quick fix might be to change sage.symbolic.pynac.py_gcd to handle gcd of rationals as before. AFAIK, collect_common_factors() is the only function we expose to the user that calls gcd() in pynac. -- burcin == Number Fields == * _pow_ in number_field_element and _rational_ has some hacks since the Pynac library will cause infinite recursions. == Formal Derivatives == * Handling of fderivatives so that we can convert to Maxima. * Mike has a patch that does this modulo pickling: http://wstein.org/home/mhansen/fderiv.patch == Doctest Grunt Work == * There's a lot of "grunt work" to be done to fix doctests to work with the new output format. In each case somebody has to verify that the two things are equal. == Massive Speed Regressions == * The massive speed regressions, making pynac symbolics *slower* than Maxima for some benchmarks. == I = sqrt(-1) == * The current handling of I as a wrapper around a number field element is a bit awkward since (I+2)*x can't be expanded as I+2 is "atomic". This also means that I.imag() returns 1.0 instead of 1. This causes issues in algebraic. Idea to solve this: {{{ Mike: I think what we want is just a QQ*I ring which automatically goes to SR when you do arithmetic with anything outside of it. me: ok. You suggested that before, and it makes some sense. Can't we just make a quadratic number field, and enhance it a tiny spec. Mike: I think if we had that, then everything should work out. Sent at 11:31 AM on Thursday me: That sounds easy enough, and it would be super fast, since quadratic fields are very very fast. Mike: We just don't have an exact way to work with complex numbers. me: robertwb could whip it out, as he wrote quadratic fields, etc. Mike: Yep For RR we have QQ, but we don't have quite an analogue for CC. }}} * Robert Bradshaw is going to work on this. * There is now a patch up at http://trac.sagemath.org/sage_trac/ticket/6005 == Doctest status == As of right now -- May 7 at 11:38 am, doing sage -tp 20 devel/sage/sage results in http://sage.math.washington.edu/home/wstein/build/sage-3.4.2-symbolics/test-all.out Nearly all of the errors have to do with sqrt, specifically, {{{ sage: sqrt(SR(16)) sqrt(16) sage: sqrt(16 + x - x) sqrt(16) }}} and {{{ $ grep "CombinatorialFreeModule instance as first argument" /home/wstein/build/sage-3.4.2-symbolics/test-all.out | wc 240 4080 34320 }}} The issue is that ginac treats sqrt(x) as having an ambiguous sign, whereas before we choose a branch. The symbolic sqrt(perfect_square) is used all over in the library, so I think we need to allow this. We should not, however, simplify sqrt(x^2). * mhansen has fixed the failures in misc/ below in his branch. * robertwb is looking at the failures in structure/ and matrix/ * quadratic_forms all pass now * Much weirdness (e.g. the {{{CombinatorialFreeModule.basis}}} error) fixed by http://sage.math.washington.edu/home/robertwb/patches/pynac-sqrt.patch * Some powering issues fixed in http://sage.math.washington.edu/home/robertwb/patches/pynac-pow.patch * sage -tp 20 devel/sage/sage (May 8, 6am) at http://sage.math.washington.edu/home/robertwb/sage-3.4.2-symbolics/annotated.log (annotated) {{{ Of 499 failed doctests: 216 were equal 89 were not equal 194 were incomparable. }}} {{{ The following tests failed: sage -t devel/sage/sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py # 2 doctests failed sage -t devel/sage/sage/quadratic_forms/quadratic_form__ternary_Tornaria.py # 2 doctests failed sage -t devel/sage/sage/quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py # 3 doctests failed sage -t devel/sage/sage/quadratic_forms/special_values.py # 8 doctests failed sage -t devel/sage/sage/misc/parser.pyx # 9 doctests failed sage -t devel/sage/sage/misc/prandom.py # 1 doctests failed sage -t devel/sage/sage/misc/preparser.py # 2 doctests failed sage -t devel/sage/sage/misc/citation.pyx # 1 doctests failed sage -t devel/sage/sage/numerical/optimize.py # 3 doctests failed sage -t devel/sage/sage/misc/functional.py # 8 doctests failed sage -t devel/sage/sage/modules/vector_real_double_dense.pyx # 7 doctests failed sage -t devel/sage/sage/matrix/matrix1.pyx # 0 doctests failed sage -t devel/sage/sage/matrix/tests.py # 1 doctests failed sage -t devel/sage/sage/rings/real_mpfi.pyx # 34 doctests failed sage -t devel/sage/sage/rings/arith.py # 10 doctests failed sage -t devel/sage/sage/databases/database.py # 1 doctests failed sage -t devel/sage/sage/rings/rational_field.py # 4 doctests failed sage -t devel/sage/sage/rings/integer.pyx # 2 doctests failed sage -t devel/sage/sage/rings/complex_double.pyx # 5 doctests failed sage -t devel/sage/sage/rings/complex_number.pyx # 2 doctests failed sage -t devel/sage/sage/matrix/matrix_symbolic_dense.pyx # 19 doctests failed sage -t devel/sage/sage/rings/complex_interval.pyx # 1 doctests failed sage -t devel/sage/sage/rings/infinity.py # Segfault sage -t devel/sage/sage/rings/real_lazy.pyx # 3 doctests failed sage -t devel/sage/sage/rings/power_series_ring.py # 1 doctests failed sage -t devel/sage/sage/rings/complex_interval_field.py # 1 doctests failed sage -t devel/sage/sage/rings/real_double.pyx # 2 doctests failed sage -t devel/sage/sage/rings/rational.pyx # 12 doctests failed sage -t devel/sage/sage/rings/real_mpfr.pyx # 5 doctests failed sage -t devel/sage/sage/rings/number_field/number_field_base.pyx # 8 doctests failed sage -t devel/sage/sage/rings/number_field/number_field_element.pyx # 4 doctests failed sage -t devel/sage/sage/rings/polynomial/polynomial_element.pyx # 3 doctests failed sage -t devel/sage/sage/matrix/matrix2.pyx # 3 doctests failed sage -t devel/sage/sage/structure/element.pyx # 2 doctests failed sage -t devel/sage/sage/structure/parent.pyx # 1 doctests failed sage -t devel/sage/sage/structure/sage_object.pyx # 1 doctests failed sage -t devel/sage/sage/gsl/dft.py # 1 doctests failed sage -t devel/sage/sage/tests/book_stein_ent.py # 8 doctests failed sage -t devel/sage/sage/combinat/species/series.py # 1 doctests failed sage -t devel/sage/sage/calculus/test_sympy.py # 15 doctests failed sage -t devel/sage/sage/calculus/var.pyx # 11 doctests failed sage -t devel/sage/sage/calculus/functions.py # 6 doctests failed sage -t devel/sage/sage/calculus/functional.py # 32 doctests failed sage -t devel/sage/sage/calculus/tests.py # 40 doctests failed sage -t devel/sage/sage/plot/line.py # 2 doctests failed sage -t devel/sage/sage/plot/density_plot.py # 3 doctests failed sage -t devel/sage/sage/plot/complex_plot.pyx # 4 doctests failed sage -t devel/sage/sage/plot/plot_field.py # 1 doctests failed sage -t devel/sage/sage/interfaces/gp.py # 2 doctests failed sage -t devel/sage/sage/plot/contour_plot.py # 11 doctests failed sage -t devel/sage/sage/plot/plot3d/transform.pyx # 1 doctests failed sage -t devel/sage/sage/interfaces/expect.py # 1 doctests failed sage -t devel/sage/sage/interfaces/qepcad.py # 29 doctests failed sage -t devel/sage/sage/calculus/calculus.py # 98 doctests failed sage -t devel/sage/sage/interfaces/maxima.py # 14 doctests failed sage -t devel/sage/sage/algebras/quatalg/quaternion_algebra.py # 1 doctests failed sage -t devel/sage/sage/graphs/graph_list.py # 2 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/lseries_ell.py # 13 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/padic_lseries.py # 101 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/ell_egros.py # 8 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/constructor.py # 8 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/padics.py # 25 doctests failed sage -t devel/sage/sage/schemes/plane_curves/affine_curve.py # 1 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/ell_modular_symbols.py # 66 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/ell_generic.py # 13 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/sha_tate.py # 41 doctests failed sage -t devel/sage/sage/plot/plot3d/parametric_plot3d.py # 4 doctests failed sage -t devel/sage/sage/graphs/graph.py # 3 doctests failed sage -t devel/sage/sage/ext/fast_eval.pyx # 1 doctests failed sage -t devel/sage/sage/coding/code_bounds.py # 2 doctests failed sage -t devel/sage/sage/sets/set.py # 2 doctests failed sage -t devel/sage/sage/functions/hyperbolic.py # 11 doctests failed sage -t devel/sage/sage/functions/other.py # 26 doctests failed sage -t devel/sage/sage/functions/log.py # 13 doctests failed sage -t devel/sage/sage/functions/functions.py # 15 doctests failed sage -t devel/sage/sage/functions/special.py # 12 doctests failed sage -t devel/sage/sage/functions/orthogonal_polys.py # 8 doctests failed sage -t devel/sage/sage/functions/trig.py # 22 doctests failed sage -t devel/sage/sage/symbolic/function.pyx # 4 doctests failed sage -t devel/sage/sage/symbolic/ring.pyx # 8 doctests failed sage -t devel/sage/sage/symbolic/callable.py # 2 doctests failed sage -t devel/sage/sage/symbolic/constants.py # 29 doctests failed sage -t devel/sage/sage/symbolic/expression_conversions.py # 1 doctests failed sage -t devel/sage/sage/ext/fast_callable.pyx # 3 doctests failed sage -t devel/sage/sage/schemes/elliptic_curves/ell_rational_field.py # 34 doctests failed sage -t devel/sage/sage/symbolic/expression.pyx # 136 doctests failed sage -t devel/sage/sage/calculus/desolvers.py # 0 doctests failed sage -t devel/sage/sage/calculus/wester.py # 37 doctests failed sage -t devel/sage/sage/calculus/equations.py # 0 doctests failed sage -t devel/sage/sage/plot/plot.py # 0 doctests failed sage -t devel/sage/sage/functions/piecewise.py # 6 doctests failed ---------------------------------------------------------------------- Total time for all tests: 734.9 seconds }}} |
