Differences between revisions 10 and 11
Revision 10 as of 2009-05-07 22:55:38
Size: 8956
Editor: robertwb
Comment:
Revision 11 as of 2009-05-07 23:45:19
Size: 9128
Editor: was
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:

== 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
}}}

Final Pynac Switchover Push for Sage-4.0

See also http://trac.sagemath.org/sage_trac/ticket/5930

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

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.

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.

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

* mhansen has fixed the failures in misc/ below in his branch. * robertwb is looking at the failures in structure/ and matrix/

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