#34537 closed enhancement (fixed)
Upgrade to pari 2.15.2
Reported by: | vdelecroix | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | sage-9.8 |
Component: | number theory | Keywords: | |
Cc: | arojas, gh-collares, cremona | Merged in: | |
Authors: | Bill Allombert, Vincent Delecroix, Antonio Rojas | Reviewers: | Dima Pasechnik, John Cremona |
Report Upstream: | Workaround found; Bug reported upstream. | Work issues: | |
Branch: | e8cfad0 (Commits, GitHub, GitLab) | Commit: | |
Dependencies: | Stopgaps: |
Description (last modified by )
PARI/GP 2.15 is out, and homebrew, gentoo, arch, debian-unstable already have the new version.
- giac does not build, see giac-1.9.0.15p0.log
Attachments (2)
Change History (173)
Changed 5 months ago by
Attachment: | giac-1.9.0.15p0.log added |
---|
comment:1 Changed 5 months ago by
Description: | modified (diff) |
---|
comment:2 Changed 5 months ago by
comment:3 Changed 5 months ago by
a solution
#ifdef __cplusplus # define ANYARG ... #else # define ANYARG #endif
comment:4 Changed 5 months ago by
Authors: | → Bill Allombert, Vincent Delecroix |
---|---|
Branch: | → u/vdelecroix/34537 |
Commit: | → c9fec46d5a07aa12d37937a6193261e96558c1c5 |
Changed 5 months ago by
Attachment: | testall.log added |
---|
comment:5 Changed 5 months ago by
For the complete log, see testall.log
geometry/polyhedron/backend_normaliz.py # 1 doctest failed geometry/polyhedron/backend_field.py # 2 doctests failed dynamics/arithmetic_dynamics/projective_ds.py # 1 doctest failed arith/misc.py # 4 doctests failed libs/pari/tests.py # 2 doctests failed doctest/forker.py # 1 doctest failed doctest/sources.py # 1 doctest failed modular/cusps_nf.py # 1 doctest failed modular/modform/l_series_gross_zagier.py # 1 doctest failed modular/modsym/p1list_nf.py # 3 doctests failed modular/modform_hecketriangle/hecke_triangle_group_element.py # 1 doctest failed interfaces/genus2reduction.py # 15 doctests failed plot/plot3d/index_face_set.pyx # Timed out modules/free_quadratic_module_integer_symmetric.py # 6 doctests failed lfunctions/pari.py # 1 doctest failed lfunctions/dokchitser.py # 4 doctests failed rings/qqbar.py # 28 doctests failed rings/function_field/function_field.py # 1 doctest failed rings/number_field/selmer_group.py # 1 doctest failed rings/number_field/class_group.py # 3 doctests failed rings/number_field/number_field_ideal_rel.py # 3 doctests failed rings/number_field/bdd_height.py # 1 doctest failed rings/number_field/order.py # 1 doctest failed rings/number_field/S_unit_solver.py # 4 doctests failed rings/number_field/number_field.py # 20 doctests failed rings/number_field/number_field_rel.py # 2 doctests failed rings/number_field/number_field_ideal.py # 1 doctest failed rings/number_field/number_field_element.pyx # 3 doctests failed rings/number_field/galois_group.py # 1 doctest failed rings/finite_rings/finite_field_prime_modn.py # 1 doctest failed rings/finite_rings/residue_field.pyx # 12 doctests failed rings/polynomial/polynomial_quotient_ring.py # 1 doctest failed rings/polynomial/polynomial_element.pyx # 2 doctests failed rings/polynomial/polynomial_number_field.pyx # 1 doctest failed groups/fqf_orthogonal.py # 1 doctest failed groups/matrix_gps/isometries.py # 1 doctest failed schemes/curves/affine_curve.py # 3 doctests failed schemes/plane_conics/con_rational_function_field.py # 3 doctests failed schemes/elliptic_curves/gal_reps_number_field.py # 2 doctests failed schemes/elliptic_curves/ell_rational_field.py # 17 doctests failed schemes/elliptic_curves/isogeny_small_degree.py # 1 doctest failed schemes/elliptic_curves/gp_simon.py # 1 doctest failed schemes/elliptic_curves/modular_parametrization.py # 3 doctests failed schemes/elliptic_curves/BSD.py # 3 doctests failed schemes/elliptic_curves/ell_generic.py # 1 doctest failed schemes/elliptic_curves/heegner.py # 181 doctests failed schemes/elliptic_curves/ell_field.py # 1 doctest failed schemes/elliptic_curves/ell_number_field.py # 6 doctests failed schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py # 4 doctests failed schemes/hyperelliptic_curves/jacobian_generic.py # 10 doctests failed schemes/affine/affine_morphism.py # 1 doctest failed quadratic_forms/binary_qf.py # 25 doctests failed quadratic_forms/quadratic_form__automorphisms.py # 1 doctest failed quadratic_forms/qfsolve.py # 1 doctest failed quadratic_forms/genera/genus.py # 5 doctests failed
comment:6 Changed 5 months ago by
Branch: | u/vdelecroix/34537 → u/arojas/34537 |
---|
comment:7 Changed 5 months ago by
Commit: | c9fec46d5a07aa12d37937a6193261e96558c1c5 → 6a83955cd1c55ddac45539888df233a3c1a885c6 |
---|
Pushed fixes for test failures caused by different choice of generators and syntax changes so we have a clear picture of the actual issues. Remaining failures:
sage -t --long /usr/lib/python3.10/site-packages/sage/quadratic_forms/qfsolve.py # 1 doctest failed sage -t --long /usr/lib/python3.10/site-packages/sage/quadratic_forms/binary_qf.py # 25 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/quadratic_forms/genera/genus.py # 4 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/modular/modform/l_series_gross_zagier.py # 1 doctest failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/plane_conics/con_rational_function_field.py # 3 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/curves/affine_curve.py # 3 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/elliptic_curves/heegner.py # 181 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py # 17 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/elliptic_curves/BSD.py # 3 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/elliptic_curves/modular_parametrization.py # 3 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/elliptic_curves/gp_simon.py # 1 doctest failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/hyperelliptic_curves/jacobian_generic.py # 10 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py # 4 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/modules/free_quadratic_module_integer_symmetric.py # 1 doctest failed sage -t --long /usr/lib/python3.10/site-packages/sage/lfunctions/dokchitser.py # 4 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/groups/fqf_orthogonal.py # 1 doctest failed sage -t --long /usr/lib/python3.10/site-packages/sage/rings/number_field/number_field.py # 11 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/rings/number_field/number_field_element.pyx # 1 doctest failed sage -t --long /usr/lib/python3.10/site-packages/sage/rings/polynomial/polynomial_element.pyx # 2 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/rings/polynomial/polynomial_number_field.pyx # 1 doctest failed sage -t --long /usr/lib/python3.10/site-packages/sage/rings/function_field/function_field.py # 1 doctest failed
New commits:
6a83955 | Adjust tests for pari 2.15
|
comment:8 Changed 5 months ago by
Commit: | 6a83955cd1c55ddac45539888df233a3c1a885c6 → 24e9e51b1a8c4f0c08bc6bc675ec12aca19d705c |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
24e9e51 | Binary quadratic forms are of t_QFB type in pari 2.15
|
comment:9 Changed 5 months ago by
Commit: | 24e9e51b1a8c4f0c08bc6bc675ec12aca19d705c → e9f6662798a513759747e46be5aacd064cd93ab7 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
e9f6662 | Remove qfminimize function from qfsolve.gp, it is unused and conflicts with the builtin qfminimize in gp 2.15
|
comment:10 Changed 5 months ago by
Commit: | e9f6662798a513759747e46be5aacd064cd93ab7 → 72ff8265647ee235dd13abfa4d849af477e1387b |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
72ff826 | Rename custom ellrank function as it conflicts with a native ellrank from gp 2.15
|
comment:11 follow-up: 19 Changed 5 months ago by
Report Upstream: | N/A → Reported upstream. No feedback yet. |
---|
Upstream report for the failures in schemes.curves.affine_curve
and rings.number_field.number_field
:
https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2414
comment:12 Changed 5 months ago by
Commit: | 72ff8265647ee235dd13abfa4d849af477e1387b → 330e7d7e4da66abb7249f8e91a3e36dced209cff |
---|
comment:13 Changed 5 months ago by
Commit: | 330e7d7e4da66abb7249f8e91a3e36dced209cff → b1e967798b77a62b7ca926016ec1eee1b41937f2 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
b1e9677 | Update to 2.15.0 final
|
comment:14 Changed 5 months ago by
Commit: | b1e967798b77a62b7ca926016ec1eee1b41937f2 → da873261689a2dc05ccc8ddd0ed45f56f55962db |
---|
comment:15 Changed 5 months ago by
Commit: | da873261689a2dc05ccc8ddd0ed45f56f55962db → 9fbb8864ffef60eac5a8df28a365811c544fd239 |
---|
comment:16 Changed 5 months ago by
Authors: | Bill Allombert, Vincent Delecroix → Bill Allombert, Vincent Delecroix, Antonio Rojas |
---|---|
Summary: | Prepare for pari 2.15 → Upgrade to pari 2.15 |
Only two remaining issues that are going to need more help from experts:
sage -t --long /usr/lib/python3.10/site-packages/sage/interfaces/genus2reduction.py # 15 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/hyperelliptic_curves/jacobian_generic.py # 10 doctests failed sage -t --long /usr/lib/python3.10/site-packages/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py # 4 doctests failed
These are caused by the changes in gp's genus2red
output from https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=commitdiff;h=a41e4fa95925eae42830217313583efc80628763
Sage's genus2reduction.py
needs to be adapted to those changes.
sage -t --long /usr/lib/python3.10/site-packages/sage/groups/fqf_orthogonal.py # 1 doctest failed
This is a weird issue that involves pari and gap code. Needs further investigation.
comment:17 Changed 5 months ago by
Commit: | 9fbb8864ffef60eac5a8df28a365811c544fd239 → 328f04347598556e018ff8a861af1841c4ed294f |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
328f043 | Fix one more test in docs
|
comment:18 Changed 5 months ago by
Commit: | 328f04347598556e018ff8a861af1841c4ed294f → a019adcdf47f92e66ff85863ff3f5674f0ca6f9d |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
a019adc | Revert "Fix one more test in docs"
|
comment:19 Changed 5 months ago by
Replying to Antonio Rojas:
Upstream report for the failures in
schemes.curves.affine_curve
andrings.number_field.number_field
:https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2414
The bug was fixed upstream, but we may want to keep the workaround. It's not particularly hackish and will allow to use an unpatched system pari 2.15.0
comment:20 Changed 5 months ago by
Description: | modified (diff) |
---|---|
Priority: | major → critical |
comment:21 Changed 5 months ago by
Is this ready to go, or should we put the giac build fix on a separate ticket?
comment:23 Changed 5 months ago by
Dependencies: | → #34586 |
---|
comment:25 follow-up: 26 Changed 4 months ago by
Instead of using the ellQ_ellrank
from Denis Simon script we should be using the ellrank
from PARI/GP (available from version 2.15). Though, the latter only works over rational numbers.
comment:26 follow-up: 27 Changed 4 months ago by
Replying to Vincent Delecroix:
Instead of using the
ellQ_ellrank
from Denis Simon script we should be using theellrank
from PARI/GP (available from version 2.15). Though, the latter only works over rational numbers.
That should go in a follow-up ticket, I think. The branch is already big enough.
comment:27 Changed 4 months ago by
Replying to Antonio Rojas:
Replying to Vincent Delecroix:
Instead of using the
ellQ_ellrank
from Denis Simon script we should be using theellrank
from PARI/GP (available from version 2.15). Though, the latter only works over rational numbers.That should go in a follow-up ticket, I think. The branch is already big enough.
Sure: #34608
comment:29 Changed 4 months ago by
Branch: | u/arojas/34537 → public/34537 |
---|---|
Commit: | a019adcdf47f92e66ff85863ff3f5674f0ca6f9d → eb7db0d7db18cdc6fb0ef3671e99e8bf9fc1f3ff |
comment:30 follow-up: 32 Changed 4 months ago by
The modifications I have done are incompatible with PARI < 2.15. I think it would be simpler to enforce PARI >= 2.15 in the next sage version.
comment:31 Changed 4 months ago by
Commit: | eb7db0d7db18cdc6fb0ef3671e99e8bf9fc1f3ff → 6b250d389f6eb7e13a1c3baa34cedcd12512a320 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
6b250d3 | Merge remote-tracking branch 'origin/develop' into t/34537/public/34537
|
comment:32 Changed 4 months ago by
Replying to Vincent Delecroix:
I think it would be simpler to enforce PARI >= 2.15 in the next sage version.
If done, this would simplify the patch at #33360, which currently chooses from two distinct implementations depending on the PARI version.
comment:33 Changed 4 months ago by
Meanwhile, please see #34496 - to forbid system Pari 2.15 and newer, until we're done here.
comment:34 Changed 4 months ago by
Commit: | 6b250d389f6eb7e13a1c3baa34cedcd12512a320 → 96efc900c50423bc37dad84c6da4e2afe9712785 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
96efc90 | Re-fix test that was moved to a different file in 9.8.beta1
|
comment:35 follow-up: 38 Changed 4 months ago by
This is almost ready, just needs someone to figure out the failure in sage/groups/fqf_orthogonal.py
comment:36 Changed 4 months ago by
The test in fqf_orthogonal.py
does not make much sense as Oq
and OL
are different groups.
comment:37 Changed 4 months ago by
Commit: | 96efc900c50423bc37dad84c6da4e2afe9712785 → 48ea610d2f4fca63dbeccd0ba575d458097267e2 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
48ea610 | fix doctest if fqf_orthogonal
|
comment:38 Changed 4 months ago by
Replying to Antonio Rojas:
This is almost ready, just needs someone to figure out the failure in
sage/groups/fqf_orthogonal.py
OK, from a closer look it looks like this is just caused by a different choice of generators for the orthogonal group. Replacing
sage: assert Oq(OL.0) == Oq(OL.0.matrix())
with
sage: assert Oq(OL.1) == Oq(OL.1.matrix())
gives the same failure with pari 2.13. So, even though this looks like an actual issue, it is not a regression from the pari update, it just happened to work by chance before due to a different matrix being tested. I think we should just flag this as known bug and proceed with this.
New commits:
48ea610 | fix doctest if fqf_orthogonal
|
comment:39 Changed 4 months ago by
I pushed a "fix" in 48ea610. I do not think there is anything deep about generators that is tested here. Otherwise this should have been documented!
comment:40 Changed 4 months ago by
Dependencies: | #34586 |
---|---|
Status: | new → needs_review |
comment:41 Changed 4 months ago by
Antonio, if you don't like my last commit feel free to replace with "known bug".
comment:42 follow-up: 44 Changed 4 months ago by
Status: | needs_review → needs_info |
---|
Should we enforce pari 2.15 at configure step?
comment:43 Changed 4 months ago by
Commit: | 48ea610d2f4fca63dbeccd0ba575d458097267e2 → b38f58826ab47308d6cf581ec16ec871439ea776 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
b38f588 | Require pari>=2.15, remove old bug test
|
comment:44 Changed 4 months ago by
Report Upstream: | Reported upstream. No feedback yet. → Workaround found; Bug reported upstream. |
---|---|
Status: | needs_info → needs_review |
Replying to Vincent Delecroix:
Should we enforce pari 2.15 at configure step?
Was just doing that. Since there are backwards-incompatible changes, we should
comment:45 Changed 4 months ago by
Dependencies: | → #34496 |
---|
comment:46 follow-up: 49 Changed 4 months ago by
Also m4_pushdef([SAGE_PARI_MINVER],["134912"])
is not right. This is pari 2.15.0, but without a patch it won't work. So this has to be a bigger value.
comment:47 Changed 4 months ago by
Commit: | b38f58826ab47308d6cf581ec16ec871439ea776 → b8ef29c1dd8f6e005e575d32bae4e58229cf3e42 |
---|
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
8641cfe | Add workaround for PARI bug#2414
|
074848c | Another workaround for PARI bug#2414
|
fc53487 | Filter out gp warnings that break parsing output in dokchitser.py
|
6be8431 | Fix one more test in docs
|
281cf7b | Revert "Fix one more test in docs"
|
51ea7c3 | fix call to pari genus2red
|
2112c7e | fix doc associated to genus 2 reduction
|
04a1730 | Re-fix test that was moved to a different file in 9.8.beta1
|
f0365f3 | fix doctest if fqf_orthogonal
|
b8ef29c | Require pari>=2.15, remove old bug test
|
comment:48 Changed 4 months ago by
I've rebased over the branch of #34496 and bumped SAGE_PARI_MIN/MAXVER accordingly.
comment:49 Changed 4 months ago by
Replying to Dima Pasechnik:
Also
m4_pushdef([SAGE_PARI_MINVER],["134912"])
is not right. This is pari 2.15.0, but without a patch it won't work. So this has to be a bigger value.
Which patch? This works fine with plain 2.15.0
comment:50 Changed 4 months ago by
Commit: | b8ef29c1dd8f6e005e575d32bae4e58229cf3e42 → 2823bff46e12d48226db0326e270f02336c005bc |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
2823bff | correct minimal version of pari
|
comment:51 Changed 4 months ago by
OK, right, I didn't pay attention. It's giac's patch, not pari's. Fixed.
comment:52 Changed 4 months ago by
Status: | needs_review → needs_work |
---|
Looks like the force push reverted part of the 9.8.beta1 rebase. The changes in sage/geometry/polyhedron/backend_normaliz.py
shouldn't be there, and the pycodestyle changes from #34522 in src/sage/lfunctions/pari.py
are missing.
comment:53 Changed 4 months ago by
Commit: | 2823bff46e12d48226db0326e270f02336c005bc → 1e86aa26790d84bf066eca67f98a60a8aa3d4d3a |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
1e86aa2 | Fix 9.8.beta1 rebase
|
comment:54 Changed 4 months ago by
Status: | needs_work → needs_review |
---|
comment:56 Changed 4 months ago by
Reviewers: | → Dima Pasechnik |
---|
I suppose this needs a round of testing on GH Actions.
comment:57 follow-up: 58 Changed 4 months ago by
I've started https://github.com/sagemath/sagetrac-mirror/actions/runs/3164081241 I see the CI has been refactored, not sure how to run more tests.
comment:58 Changed 4 months ago by
Replying to Dima Pasechnik:
I've started https://github.com/sagemath/sagetrac-mirror/actions/runs/3164081241 I see the CI has been refactored, not sure how to run more tests.
Use https://github.com/sagemath/sagetrac-mirror/actions/workflows/ci-linux.yml?query=branch%3Apublic%2F34537 and push "Run workflow"
or https://github.com/sagemath/sagetrac-mirror/actions/workflows/ci-macos.yml?query=branch%3Apublic%2F34537 and push "Run workflow"
comment:59 Changed 4 months ago by
started
https://github.com/sagemath/sagetrac-mirror/actions/runs/3167926282
and
https://github.com/sagemath/sagetrac-mirror/actions/runs/3167930205
By the way, with such urls as you provided, it's not sufficent to just push "Run workflow", as this widget still has "develop" as a branch to run - so the branch still had to manually selected.
comment:61 Changed 4 months ago by
Status: | needs_review → positive_review |
---|
there were errors with many CI runs on macOS, but I think it's not because of this. LGTM
comment:62 Changed 4 months ago by
Status: | positive_review → needs_info |
---|
I spoke too soon. While Sage tests all pass, some of giac's selftests fail
[giac-1.9.0.15p0] make check-TESTS [giac-1.9.0.15p0] PASS: chk_partfrac [giac-1.9.0.15p0] PASS: chk_factor [giac-1.9.0.15p0] PASS: chk_integrate [giac-1.9.0.15p0] PASS: chk_geo [giac-1.9.0.15p0] FAIL: chk_fhan2 [giac-1.9.0.15p0] PASS: chk_cas [giac-1.9.0.15p0] PASS: chk_fhan3 [giac-1.9.0.15p0] FAIL: chk_fhan4 [giac-1.9.0.15p0] PASS: chk_xavier [giac-1.9.0.15p0] PASS: chk_morley_demo [giac-1.9.0.15p0] FAIL: chk_fhan6 [giac-1.9.0.15p0] PASS: chk_limit [giac-1.9.0.15p0] FAIL: chk_fhan8 [giac-1.9.0.15p0] PASS: chk_fhan5 [giac-1.9.0.15p0] PASS: chk_fhan0 [giac-1.9.0.15p0] PASS: chk_normalize [giac-1.9.0.15p0] FAIL: chk_fhan13 [giac-1.9.0.15p0] FAIL: chk_fhan12 [giac-1.9.0.15p0] PASS: chk_fhan14 [giac-1.9.0.15p0] PASS: chk_fhan1 [giac-1.9.0.15p0] PASS: chk_fhan15 [giac-1.9.0.15p0] FAIL: chk_fhan11 [giac-1.9.0.15p0] PASS: chk_fhan17 [giac-1.9.0.15p0] PASS: chk_fhan16 [giac-1.9.0.15p0] PASS: chk_fhan20 [giac-1.9.0.15p0] PASS: chk_fhan19 [giac-1.9.0.15p0] PASS: chk_fhan21 [giac-1.9.0.15p0] FAIL: chk_fhan9 [giac-1.9.0.15p0] PASS: chk_fhan18 [giac-1.9.0.15p0] PASS: chk_fhan7 [giac-1.9.0.15p0] ============================================================================ [giac-1.9.0.15p0] Testsuite summary for giac 1.9.0 [giac-1.9.0.15p0] ============================================================================ [giac-1.9.0.15p0] # TOTAL: 30 [giac-1.9.0.15p0] # PASS: 22 [giac-1.9.0.15p0] # SKIP: 0 [giac-1.9.0.15p0] # XFAIL: 0 [giac-1.9.0.15p0] # FAIL: 8 [giac-1.9.0.15p0] # XPASS: 0
hopefully it's just formatting, but needs investigation
comment:63 Changed 4 months ago by
I'm seeing just one failure, which is a segfault
*** the thread stack overflows ! current stack size: 1024000 (0.977 Mbytes) [hint] set 'threadsizemax' to a nonzero value in your GPRC *** matdet: Warning: increasing stack size to 2048000. *** at top-level: matdet([-10,-7,6,-7,1,4,-1,-2,-2,-5,1,7,-6,7,- *** ^---------------------------------------------- *** matdet: the thread stack overflows ! current stack size: 1024000 (0.977 Mbytes) [hint] set 'threadsizemax' to a nonzero value in your GPRC Error in PARI subsystem ./chk_fhan4: line 3: 21708 Segmentation fault (core dumped) ../src/icas TP04-sol.cas > TP04.tst
caused by the garbage collection changes in https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=commitdiff;h=259f62c17c101c380cfed56d303304a13e21ec1e
comment:64 Changed 4 months ago by
I see this segfault too. Does setting threadsizemax
in ~/.gprc
help?
comment:65 Changed 4 months ago by
Dima, as noted at https://trac.sagemath.org/ticket/32785#comment:7, it is not new that giac
fails its test suite, at least on OS X machines. On Intel (old version of giac
and pari
):
PASS: chk_partfrac PASS: chk_fhan3 PASS: chk_factor FAIL: chk_fhan2 PASS: chk_geo PASS: chk_integrate PASS: chk_fhan0 PASS: chk_cas PASS: chk_fhan5 PASS: chk_fhan13 PASS: chk_fhan12 PASS: chk_fhan14 PASS: chk_fhan15 PASS: chk_fhan17 PASS: chk_fhan6 PASS: chk_fhan19 PASS: chk_fhan16 PASS: chk_fhan20 PASS: chk_fhan21 FAIL: chk_fhan9 PASS: chk_fhan18 PASS: chk_fhan7 PASS: chk_xavier PASS: chk_morley_demo PASS: chk_limit PASS: chk_fhan11 PASS: chk_fhan8 PASS: chk_fhan4 PASS: chk_fhan1 PASS: chk_normalize
I'll try on an m2 machine later, to see what failures I get.
comment:67 follow-up: 68 Changed 4 months ago by
By the way, should #34496 really be a dependency, or is the point of this ticket to be able to bypass the problem of building with the newest pari
?
comment:68 Changed 4 months ago by
Replying to John Palmieri:
By the way, should #34496 really be a dependency, or is the point of this ticket to be able to bypass the problem of building with the newest
pari
?
#34496 added a useful tweak to spkg-configure of pari, and so we build up on it.
comment:69 Changed 4 months ago by
I'm not going to be able to check test suite failures with the old pari
/giac
on Apple M2 until Friday.
comment:70 Changed 4 months ago by
Cc: | gh-collares added |
---|
comment:71 Changed 4 months ago by
On Apple M2, the old pari and the old giac give these results in giac's test suite:
make check-TESTS PASS: chk_partfrac PASS: chk_factor PASS: chk_integrate PASS: chk_geo PASS: chk_cas PASS: chk_limit FAIL: chk_fhan2 PASS: chk_xavier PASS: chk_morley_demo PASS: chk_fhan3 PASS: chk_normalize FAIL: chk_fhan4 FAIL: chk_fhan6 FAIL: chk_fhan8 PASS: chk_fhan5 PASS: chk_fhan0 FAIL: chk_fhan13 FAIL: chk_fhan12 PASS: chk_fhan1 PASS: chk_fhan14 PASS: chk_fhan15 FAIL: chk_fhan11 PASS: chk_fhan17 PASS: chk_fhan16 PASS: chk_fhan20 PASS: chk_fhan19 PASS: chk_fhan21 FAIL: chk_fhan9 PASS: chk_fhan18 PASS: chk_fhan7
comment:72 Changed 4 months ago by
Looks like the same failures that Dima saw, so not a regression. I don't think it should be an obstacle to this ticket.
comment:73 Changed 4 months ago by
Status: | needs_info → positive_review |
---|
OK, thanks. Back to positive.
comment:74 follow-up: 75 Changed 4 months ago by
Status: | positive_review → needs_work |
---|
The cypari testsuite fails on OSX (intel), worked before
Successfully installed cypari2-2.1.2 real 1m45.872s user 1m35.524s sys 0m9.197s Copying package files from temporary location /Users/buildbot-sage/worker/sage_git/build/local/var/lib/sage/venv-python3.10.5/var/tmp/sage/build/cypari-2.1.2/inst to /Users/buildbot-sage/worker/sage_git/build/local/var/lib/sage/venv-python3.10.5 Running the test suite for cypari-2.1.2... ulimit -s 8192; python3 -u tests/rundoctest.py ================================================================================ Testing cypari2.closure ********************************************************************** File "/Users/buildbot-sage/worker/sage_git/build/local/var/lib/sage/venv-python3.10.5/lib/python3.10/site-packages/cypari2/closure.cpython-310-darwin.so", line ?, in cypari2.closure.__test__.objtoclosure (line 145) Failed example: mul([1], [2]) Differences (ndiff with -expected +actual): Traceback (most recent call last): - ... - PariError: call_python: forbidden multiplication t_VEC (1 elts) * t_VEC (1 elts) + File "/Users/buildbot-sage/worker/sage_git/build/local/var/lib/sage/venv-python3.10.5/lib/python3.10/doctest.py", line 1350, in __run + exec(compile(example.source, filename, "single", + File "<doctest cypari2.closure.__test__.objtoclosure (line 145)[18]>", line 1, in <module> + mul([1], [2]) + File "cypari2/gen.pyx", line 4110, in cypari2.gen.Gen.__call__ + sig_on() + File "cypari2/handle_error.pyx", line 213, in cypari2.handle_error._pari_err_handle + raise PariError(errnum, pari_error_string, clone_gen_noclear(E)) + PariError: call_python: incorrect type in qfbcomp (t_VEC) ********************************************************************** File "/Users/buildbot-sage/worker/sage_git/build/local/var/lib/sage/venv-python3.10.5/lib/python3.10/site-packages/cypari2/closure.cpython-310-darwin.so", line ?, in cypari2.closure.objtoclosure Failed example: mul([1], [2]) Differences (ndiff with -expected +actual): Traceback (most recent call last): - ... - PariError: call_python: forbidden multiplication t_VEC (1 elts) * t_VEC (1 elts) + File "/Users/buildbot-sage/worker/sage_git/build/local/var/lib/sage/venv-python3.10.5/lib/python3.10/doctest.py", line 1350, in __run + exec(compile(example.source, filename, "single", + File "<doctest cypari2.closure.objtoclosure[18]>", line 1, in <module> + mul([1], [2]) + File "cypari2/gen.pyx", line 4110, in cypari2.gen.Gen.__call__ + sig_on() + File "cypari2/handle_error.pyx", line 213, in cypari2.handle_error._pari_err_handle + raise PariError(errnum, pari_error_string, clone_gen_noclear(E)) + PariError: call_python: incorrect type in qfbcomp (t_VEC) **********************************************************************
comment:75 Changed 4 months ago by
Replying to Volker Braun:
The cypari testsuite fails on OSX (intel), worked before
...
The error message indeed changed in PARI 2.15. Should that really block this ticket? Otherwise, we do have to upgrade cypari2 at the same time.
comment:76 Changed 4 months ago by
The (cy)pari testsuite is generally pretty solid so I'd hate to have to permanently disable it on the buildbot
comment:77 follow-up: 78 Changed 4 months ago by
Here is an explanation for the cypari error: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020456#10
comment:78 Changed 4 months ago by
Replying to Tobias Hansen:
Here is an explanation for the cypari error: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020456#10
report to upstream: https://github.com/sagemath/cypari2/issues/122
comment:79 Changed 3 months ago by
I have cypari2 pass all tests on pari-2.15 using
- patch on pari: https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=commit;h=9c4bcd3f497f30f757c8eecadc9b45b33754a540 (just remove the first hunk patching the file
CHANGES
since it will not apply otherwise) - patch on cypari2: https://github.com/sagemath/cypari2/pull/123
comment:80 follow-up: 81 Changed 3 months ago by
Summary: | Upgrade to pari 2.15 → Upgrade to pari 2.15.1 |
---|
pari 2.15.1 is out, see https://pari.math.u-bordeaux.fr/archives/pari-announce-22/msg00002.html
comment:81 Changed 3 months ago by
Replying to Dima Pasechnik:
pari 2.15.1 is out, see https://pari.math.u-bordeaux.fr/archives/pari-announce-22/msg00002.html
Pari 2.15.1 includes the fix I cherry picked in my last comment.
The current HEAD of cypari2 already fied testsuite passes on pari 2.15, and Vincent said he will do a release soon.
It would be very nice if this can be merged for 9.8.
comment:82 follow-up: 83 Changed 3 months ago by
Also, giac 1.9.0.29 builds fine against 2.15 without patching.
comment:83 follow-up: 85 Changed 3 months ago by
Replying to Antonio Rojas:
Also, giac 1.9.0.29 builds fine against 2.15 without patching.
do you want giac updated here, or on another ticket?
comment:85 Changed 3 months ago by
Replying to Dima Pasechnik:
do you want giac updated here, or on another ticket?
I don't personally mind, was just pointing out the possibility of updating giac instead of patching. Can this go back to needs_review now?
comment:86 Changed 3 months ago by
Status: | needs_work → needs_review |
---|
comment:87 Changed 2 months ago by
The title of the ticket says that we're upgrading to 2.15.1, but the branch only goes to 2.15.0.
comment:88 Changed 2 months ago by
Oh, right, I tested with Homebrew's pari, and Gentoo's pari (they are both 2.15.1), and forgot to bump this branch.
comment:89 Changed 2 months ago by
Branch: | public/34537 → u/dimpase/packages/pari2151 |
---|---|
Commit: | 1e86aa26790d84bf066eca67f98a60a8aa3d4d3a → 364f6d1ae19d7cd620a4151e1a51d2e4223c1441 |
Dependencies: | #34496, #33878 |
OK, readly now
Last 10 new commits:
c901802 | Fix one more test in docs
|
eea5ce7 | Revert "Fix one more test in docs"
|
3898bbf | fix call to pari genus2red
|
42a21a1 | fix doc associated to genus 2 reduction
|
d656b23 | Re-fix test that was moved to a different file in 9.8.beta1
|
d9c283e | fix doctest if fqf_orthogonal
|
29c80f6 | Require pari>=2.15, remove old bug test
|
9aa2be6 | correct minimal version of pari
|
69ff502 | Fix 9.8.beta1 rebase
|
364f6d1 | bump version to 2.15.1
|
comment:91 Changed 2 months ago by
On OS X Intel, the basic functionality is there (i.e., Sage builds and make ptestlong
works), but the test suite for pari hangs. I see this in the log file, with no changes in more than an hour:
: gp-sta * Testing addprimes gp-sta..TIME= 8 gp-dyn..TIME= 8 * Testing agm gp-sta..TIME= 65 gp-dyn..TIME= 59 * Testing algebras gp-sta..TIME= 1490 gp-dyn..TIME= 1481 * Testing alggroup gp-sta..TIME= 661 gp-dyn..TIME= 651 * Testing alghasse gp-sta..TIME= 2701 gp-dyn..TIME= 2523 * Testing alglattices gp-sta..TIME= 1153 gp-dyn..TIME= 1150 * Testing algsplit gp-sta..TIME= 946 gp-dyn..TIME= 1139 * Testing analyz gp-sta..TIME= 22 gp-dyn..TIME= 20 * Testing apply gp-sta..TIME= 1 gp-dyn..TIME= 1 * Testing arith gp-sta..TIME= 0 gp-dyn..TIME= 0 * Testing asymp gp-sta..TIME= 129 gp-dyn..TIME= 117 * Testing aurifeuille gp-sta..TIME= 1 gp-dyn..TIME= 1 * Testing bbhnf gp-sta..TIME= 959 gp-dyn..TIME= 918 * Testing bern gp-sta..TIME=13627 gp-dyn..TIME=13270 * Testing bessel gp-sta..TIME= 177 gp-dyn..TIME= 170 * Testing bestappr gp-sta..TIME= 1 gp-dyn..TIME= 1 * Testing binomial gp-sta..TIME= 240 gp-dyn..TIME= 243 * Testing bit gp-sta..TIME= 1 gp-dyn..TIME= 1 * Testing bnf gp-sta..TIME=31168 gp-dyn..TIME=31762 * Testing bnfisintnorm gp-sta..TIME= 504 gp-dyn..TIME= 506 * Testing bnflog
This is after running export SAGE_CHECK=yes
and make pari
.
comment:92 Changed 2 months ago by
I seem to get the same thing with the previous version of pari
. I'm trying again and I will update later.
comment:93 Changed 2 months ago by
perhaps upstream does not test with macOS at all, or perhaps only with old versions, and not 13.0 ?
comment:94 Changed 2 months ago by
Right, I get the same with the previous version of pari
, so this failure should not hold up this ticket.
comment:95 Changed 2 months ago by
On Apple Silicon, both the old and new pari
pass their test suites.
comment:96 Changed 2 months ago by
Many of the changes in doctests look fine to me, but I can't vouch for all of them. Can other people check them? (One example is the change in sage/schemes/elliptic_curves/ell_field.py, although there are others. Looks plausible but I don't know the details.)
comment:98 Changed 2 months ago by
Replying to Dima Pasechnik:
John C., can you have a look ?
Sorry, only jut noticed this -- will do today.
comment:99 Changed 2 months ago by
genus2reduction: makes sense for our doctests to just have y2 = ... since these reductions are not unique. The most important thing is for the minimal discriminant to be correct which we do check.
cusps_nf: OK
lfunctions/*: OK
libs/pari/tests: OK
S_unit_solver: OK
number_field/*: OK
polynomial/*: OK
QQbar: looks reasonable, would take ages to rigorously check everything
elliptic_curves/ ell_field: OK (the two fields are isomorphic) ell_generic: OK (0 is displayed differently)
ell_number_field: (1) the first simon_two_descent test in the diffs is strange as E is defined by EllipticCurve?(K, '37') where K is a number field; the resulting curve is the one with label '37a1'. Would you believe tat I had never noticed that the function parse_cremona_label() was happy both to have the curve number default to 1 (which I knew) and also the isogeny class letter code default to 'a'? Fine, it is documented, but one day I'll change that '37' to '37a1' to be less obscure. (2) the different matrices are OK since the rows/cols will be permuted if the curves in the class are sorted differently; the docstring (written by me) says "The curves in the class are sorted first by CM discriminant (then lexicographically using a-invariants)" which can lead to differences, either because the field generator changes or because the choice of minimal reduced model (and hence the a-invariants) is not deterministic. One day I'll implement the LMFDB way of sorting curves in the class.
The rest of the elliptic curves stuff is fine.
Note that we no longer need, and could deprecate, the simon_two_descent() method for curves over QQ, since the pari ellrank() function will always be better (being a C implementation with a lot of extra geatures of the same underlying theory). But this is *not* the case for that methof for curves over number fields, at present. And for a similar reason the rank() method for elliptic curves over Q (and related methods such as gens()) should definitely now have an 'algorithm=pari' option now which calls ellrank(). It's also probably true that it should be the default, for curves not in the database, as it is extremely good (=fast and good at finding generators). But not on this ticket.
I looked at mst of the files, and all the ones where I thought my expertise would be helpful. Looks good!
comment:100 follow-up: 101 Changed 2 months ago by
Reviewers: | Dima Pasechnik → Dima Pasechnik, John Cremona |
---|---|
Status: | needs_review → positive_review |
Thanks John, I take your long review as OK.
comment:101 Changed 2 months ago by
comment:102 Changed 7 weeks ago by
Status: | positive_review → needs_work |
---|
There are a bunch of numerical noise issues on 32-bit:
********************************************************************** File "src/sage/calculus/calculus.py", line 242, in sage.calculus.calculus Failed example: float(z) Expected: 4.646783762432936 Got: 4.646783762432935 ********************************************************************** File "src/sage/calculus/calculus.py", line 772, in sage.calculus.calculus.? Failed example: float(f) Expected: -480.0 Got: -2336.0 ********************************************************************** File "src/sage/calculus/calculus.py", line 784, in sage.calculus.calculus.? Failed example: f.nintegrate(x,0,1) Expected: (-480.0000000000001, 5.32907051820075...e-12, 21, 0) Got: (-831.9999999999999, 9.237055564881304e-12, 21, 0) ********************************************************************** 2 items had failures: 1 of 118 in sage.calculus.calculus 2 of 15 in sage.calculus.calculus.? [457 tests, 3 failures, 19.44 s] ********************************************************************** File "src/sage/calculus/wester.py", line 283, in sage.calculus.wester Failed example: float(a) Expected: 1.1368683772...e-13 Got: 0.0 ********************************************************************** 1 item had failures: 1 of 202 in sage.calculus.wester [201 tests, 1 failure, 2.45 s] ********************************************************************** File "src/sage/categories/finite_coxeter_groups.py", line 705, in sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.permutahedron Failed example: W.permutahedron() Exception raised: Traceback (most recent call last): File "/var/lib/buildbot/worker/sage_git/build/src/sage/doctest/forker.py", line 695, in _run self.compile_and_execute(example, compiler, test.globs) File "/var/lib/buildbot/worker/sage_git/build/src/sage/doctest/forker.py", line 1093, in compile_and_execute exec(compiled, globs) File "<doctest sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.permutahedron[1]>", line 1, in <module> W.permutahedron() File "/var/lib/buildbot/worker/sage_git/build/src/sage/categories/finite_coxeter_groups.py", line 755, in permutahedron return Polyhedron(vertices=vertices, base_ring=base_ring) File "/var/lib/buildbot/worker/sage_git/build/src/sage/geometry/polyhedron/constructor.py", line 759, in Polyhedron return parent(Vrep, Hrep, convert=convert, verbose=verbose, mutable=mutable) File "sage/structure/parent.pyx", line 898, in sage.structure.parent.Parent.__call__ return mor._call_with_args(x, args, kwds) File "sage/structure/coerce_maps.pyx", line 180, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args raise File "sage/structure/coerce_maps.pyx", line 175, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args return C._element_constructor(x, *args, **kwds) File "/var/lib/buildbot/worker/sage_git/build/src/sage/geometry/polyhedron/parent.py", line 684, in _element_constructor_ return self.element_class(self, Vrep, Hrep, **kwds) File "/var/lib/buildbot/worker/sage_git/build/src/sage/geometry/polyhedron/backend_cdd_rdf.py", line 98, in __init__ Polyhedron_cdd.__init__(self, parent, Vrep, Hrep, **kwds) File "/var/lib/buildbot/worker/sage_git/build/src/sage/geometry/polyhedron/base0.py", line 174, in __init__ self._init_from_Vrepresentation(vertices, rays, lines, **kwds) File "/var/lib/buildbot/worker/sage_git/build/src/sage/geometry/polyhedron/backend_cdd.py", line 65, in _init_from_Vrepresentation s = self._run_cdd(s, '--repall', verbose=verbose) File "/var/lib/buildbot/worker/sage_git/build/src/sage/geometry/polyhedron/backend_cdd.py", line 172, in _run_cdd raise ValueError(ans.strip()) ValueError: *Error: Numerical inconsistency is found. Use the GMP exact arithmetic. ********************************************************************** 1 item had failures: 1 of 6 in sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.permutahedron [151 tests, 1 failure, 4.74 s] ********************************************************************** File "src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx", line 219, in sage.dynamics.complex_dynamics.mandel_julia_helper.? Failed example: fast_external_ray(0,S=1,D=1) Expected: [(100.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), (9.51254777713729174697578576623132297117784691109499464854806785133621315075854778426714908, 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)] Got: [(100.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000), (9.51254777713729032775694689466896914675974929808733306327787458869355202130788654602053071, 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)] ********************************************************************** File "src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx", line 229, in sage.dynamics.complex_dynamics.mandel_julia_helper.? Failed example: fast_external_ray(1/3,S=1,D=1) Expected: [(-49.9999999999999786837179271969944238662719726562500000000000000000000000000000000000000000, 86.6025403784438765342201804742217063903808593750000000000000000000000000000000000000000000), (-5.50628047023173006234970878097113901879832542655926629309001652388544528575532346900138516, 8.64947510053972513843999918917106032664030380426885745306040284140385975750462108180377187)] Got: [(-49.9999999999999786837179271969944238662719726562500000000000000000000000000000000000000000, 86.6025403784438765342201804742217063903808593750000000000000000000000000000000000000000000), (-5.50628047023172980317558651097220813419960642675275525034690583138202683104446159128356526, 8.64947510053972416699388454766038069022656677613412868926274778156654918224636699020909555)] ********************************************************************** File "src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx", line 238, in sage.dynamics.complex_dynamics.mandel_julia_helper.? Failed example: fast_external_ray(0.75234,S=1,D=1) Expected: [(1.47021239172637052661229972727596759796142578125000000000000000000000000000000000000000000, -99.9891917935294287644865107722580432891845703125000000000000000000000000000000000000000000), (-0.352790406744857508500937144524776555433184352559852962308757189778284058275081335121601384, -9.98646630765023514178761177926164047797465369576787921409326037870837930920646860774032363)] Got: [(1.47021239172637052661229972727596759796142578125000000000000000000000000000000000000000000, -99.9891917935294287644865107722580432891845703125000000000000000000000000000000000000000000), (-0.352790406744857531982226711825539675074733886273844201352581335945053660908669195067107961, -9.98646630765023371851343140849138176796542428333725755653082848714206880231557255794864137)] ********************************************************************** 1 item had failures: 3 of 42 in sage.dynamics.complex_dynamics.mandel_julia_helper.? [43 tests, 3 failures, 5.81 s] ********************************************************************** File "src/sage/functions/log.py", line 45, in sage.functions.log.Function_exp Failed example: exp(float(2.5)) Expected: 12.182493960703473 Got: 12.182493960703475 ********************************************************************** File "src/sage/functions/log.py", line 47, in sage.functions.log.Function_exp Failed example: exp(RDF('2.5')) Expected: 12.182493960703473 Got: 12.182493960703475 ********************************************************************** 1 item had failures: 2 of 41 in sage.functions.log.Function_exp [281 tests, 2 failures, 4.10 s] ********************************************************************** File "src/sage/functions/trig.py", line 608, in sage.functions.trig.Function_arccos.__init__ Failed example: acos(complex(1,1)) Expected: (0.9045568943023814-1.0612750619050357j) Got: (0.9045568943023815-1.0612750619050357j) ********************************************************************** 1 item had failures: 1 of 18 in sage.functions.trig.Function_arccos.__init__ [261 tests, 1 failure, 2.37 s] ********************************************************************** File "src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py", line 2384, in sage.geometry.hyperbolic_space.hyperbolic_geodesic.HyperbolicGeodesicHM._plot_vertices Failed example: g._plot_vertices(5) Expected: [(4.0, -4.0, 5.744562...), (1.363213..., -1.637073..., 2.353372...), (0.138568..., -0.969980..., 1.400022...), (-0.942533..., -1.307681..., 1.896945...), (-3.0, -3.0, 4.358898...)] Got: [(4.0, -4.0, 5.744562646538029), (1.3632131724692087, -1.6370738298435317, 2.3533722353151303), (0.1385685838744788, -0.9699800871213657, 1.4000223647674161), (-0.942533854284406, -1.3076813974501604, 1.8969450977056255), (-3.0, -3.000000000000014, 4.35889894354068)] ********************************************************************** 1 item had failures: 1 of 6 in sage.geometry.hyperbolic_space.hyperbolic_geodesic.HyperbolicGeodesicHM._plot_vertices [447 tests, 1 failure, 8.67 s] ********************************************************************** File "src/sage/interacts/test_jupyter.rst", line 120, in sage.interacts.test_jupyter Failed example: test(interacts.calculus.newton_method) Expected: ...Interactive function <function newton_method at ...> with 7 widgets title: HTMLText(value='<h2>Newton method</h2>') f: EvalText(value='x^2 - 2', description='f', layout=Layout(max_width='81em')) c: IntSlider(value=6, description='Start ($x$)', max=10, min=-10) d: IntSlider(value=3, description='$10^{-d}$ precision', max=16, min=1) maxn: IntSlider(value=10, description='max iterations', max=15) interval: IntRangeSlider(value=(0, 6), description='Interval', max=10, min=-10) list_steps: Checkbox(value=False, description='List steps') \(\text{Precision } 2h = 0.001\) \({c = }1.4142141576301823\) \({f(c) = }1.6836416460996873 \times 10^{-06}\) \(6 \text{ iterations}\) Got: <CSI-2K> <CSI-2K> \(\text{Precision } 2h = 0.0010000000000000002\) \({c = }1.4142141576301823\) \({f(c) = }1.6836416460996873 \times 10^{-06}\) \(6 \text{ iterations}\) Interactive function <function newton_method at 0xa6a181d8> with 7 widgets title: HTMLText(value='<h2>Newton method</h2>') f: EvalText(value='x^2 - 2', description='f', layout=Layout(max_width='81em')) c: IntSlider(value=6, description='Start ($x$)', max=10, min=-10) d: IntSlider(value=3, description='$10^{-d}$ precision', max=16, min=1) maxn: IntSlider(value=10, description='max iterations', max=15) interval: IntRangeSlider(value=(0, 6), description='Interval', max=10, min=-10) list_steps: Checkbox(value=False, description='List steps') \(\text{Precision } 2h = 0.0010000000000000002\) \({c = }1.4142141576301823\) \({f(c) = }1.6836416460996873 \times 10^{-06}\) \(6 \text{ iterations}\) ********************************************************************** 1 item had failures: 1 of 30 in sage.interacts.test_jupyter [29 tests, 1 failure, 70.30 s] ********************************************************************** File "src/sage/matrix/matrix_double_dense.pyx", line 1624, in sage.matrix.matrix_double_dense.Matrix_double_dense.right_eigenvectors Failed example: spectrum[3] # tol 1e-13 Expected: (-1.0, [(1.0, -0.5, 2.0, 0.5)], 1) Got: (-1.0000000000000828, [(1.0, -0.4999999999999238, 1.9999999999997218, 0.4999999999999161)], 1) Tolerance exceeded in 3 of 6: -0.5 vs -0.4999999999999238, tolerance 2e-13 > 1e-13 2.0 vs 1.9999999999997218, tolerance 2e-13 > 1e-13 0.5 vs 0.4999999999999161, tolerance 2e-13 > 1e-13 ********************************************************************** 1 item had failures: 1 of 24 in sage.matrix.matrix_double_dense.Matrix_double_dense.right_eigenvectors [611 tests, 1 failure, 0.92 s] ********************************************************************** File "src/sage/matrix/matrix_symbolic_dense.pyx", line 441, in sage.matrix.matrix_symbolic_dense.Matrix_symbolic_dense.exp Failed example: exp(matrix(SR, [[1.2, 5.6], [3,4]])).change_ring(RDF) # rel tol 1e-15 Expected: [ 346.5574872980695 661.7345909344504] [354.50067371488416 677.4247827652946] Got: [346.55748729806896 661.7345909344492] [354.50067371488353 677.4247827652937] Tolerance exceeded in 4 of 4: 346.5574872980695 vs 346.55748729806896, tolerance 2e-15 > 1e-15 661.7345909344504 vs 661.7345909344492, tolerance 2e-15 > 1e-15 354.50067371488416 vs 354.50067371488353, tolerance 2e-15 > 1e-15 677.4247827652946 vs 677.4247827652937, tolerance 2e-15 > 1e-15 ********************************************************************** 1 item had failures: 1 of 17 in sage.matrix.matrix_symbolic_dense.Matrix_symbolic_dense.exp [224 tests, 1 failure, 5.48 s] ********************************************************************** File "src/sage/modules/free_module_element.pyx", line 1687, in sage.modules.free_module_element.FreeModuleElement.norm Failed example: v.norm(5) Expected: 3.077384885394063 Got: 3.0773848853940633 ********************************************************************** 1 item had failures: 1 of 24 in sage.modules.free_module_element.FreeModuleElement.norm [1081 tests, 1 failure, 5.08 s] ********************************************************************** File "src/sage/modules/vector_real_double_dense.pyx", line 7, in sage.modules.vector_real_double_dense Failed example: v Expected: (1.0, 3.141592653589793, 1.414213562373095) Got: (1.0, 3.141592653589793, 1.4142135623730951) ********************************************************************** File "src/sage/modules/vector_real_double_dense.pyx", line 14, in sage.modules.vector_real_double_dense Failed example: v Expected: (5.0, 3.141592653589793, 1.414213562373095) Got: (5.0, 3.141592653589793, 1.4142135623730951) ********************************************************************** 1 item had failures: 2 of 8 in sage.modules.vector_real_double_dense [19 tests, 2 failures, 10.89 s] ********************************************************************** File "src/sage/rings/complex_double.pyx", line 1136, in sage.rings.complex_double.ComplexDoubleElement._latex_ Failed example: z._latex_() Expected: '-6.443164690985956 \\times 10^{34} - 6.113241307762409 \\times 10^{34}i' Got: '-6.443164690985963 \\times 10^{34} - 6.113241307762415 \\times 10^{34}i' ********************************************************************** File "src/sage/rings/complex_double.pyx", line 1685, in sage.rings.complex_double.ComplexDoubleElement._pow_ Failed example: CDF(-0.26319743704743886) ^ -2 Expected: 14.435661446561994 Got: 14.435661446561992 ********************************************************************** File "src/sage/rings/complex_double.pyx", line 1936, in sage.rings.complex_double.ComplexDoubleElement.arccos Failed example: CDF(1,1).arccos() Expected: 0.9045568943023814 - 1.0612750619050357*I Got: 0.9045568943023815 - 1.0612750619050357*I ********************************************************************** File "src/sage/rings/complex_double.pyx", line 2115, in sage.rings.complex_double.ComplexDoubleElement.arccosh Failed example: CDF(1,1).arccosh() Expected: 1.0612750619050357 + 0.9045568943023814*I Got: 1.0612750619050357 + 0.9045568943023815*I ********************************************************************** 4 items had failures: 1 of 4 in sage.rings.complex_double.ComplexDoubleElement._latex_ 1 of 19 in sage.rings.complex_double.ComplexDoubleElement._pow_ 1 of 2 in sage.rings.complex_double.ComplexDoubleElement.arccos 1 of 2 in sage.rings.complex_double.ComplexDoubleElement.arccosh [341 tests, 4 failures, 0.27 s] ********************************************************************** File "src/sage/rings/complex_mpc.pyx", line 1524, in sage.rings.complex_mpc.MPComplexNumber.__abs__ Failed example: float(sqrt(2^2 + 1^1)) Expected: 2.23606797749979 Got: 2.2360679774997894 ********************************************************************** 1 item had failures: 1 of 10 in sage.rings.complex_mpc.MPComplexNumber.__abs__ [410 tests, 1 failure, 0.21 s] ********************************************************************** File "src/sage/rings/complex_mpfr.pyx", line 1885, in sage.rings.complex_mpfr.ComplexNumber.__abs__ Failed example: float(sqrt(2^2 + 1^1)) Expected: 2.23606797749979 Got: 2.2360679774997894 ********************************************************************** 1 item had failures: 1 of 9 in sage.rings.complex_mpfr.ComplexNumber.__abs__ [539 tests, 1 failure, 1.78 s] ********************************************************************** File "src/sage/rings/number_field/number_field_element.pyx", line 1640, in sage.rings.number_field.number_field_element.NumberFieldElement.is_norm Failed example: t = (-a).is_norm(L, element=True); t Expected: (True, -b^3 - 1) Got: (True, b^3 - 1) ********************************************************************** File "src/sage/rings/number_field/number_field_element.pyx", line 1755, in sage.rings.number_field.number_field_element.NumberFieldElement._rnfisnorm Failed example: t = (-a)._rnfisnorm(L); t Expected: (-b^3 - 1, 1) Got: (b^3 - 1, 1) ********************************************************************** File "src/sage/rings/number_field/number_field_element.pyx", line 1759, in sage.rings.number_field.number_field_element.NumberFieldElement._rnfisnorm Failed example: t = K(3)._rnfisnorm(L); t Expected: (b^3 + a*b^2 + a^2*b - 1, 3*a^2 - 3*a + 6) Got: (-b^3 + a*b^2 - a^2*b - 1, 3*a^2 - 3*a + 6) ********************************************************************** 2 items had failures: 2 of 27 in sage.rings.number_field.number_field_element.NumberFieldElement._rnfisnorm 1 of 28 in sage.rings.number_field.number_field_element.NumberFieldElement.is_norm [1168 tests, 3 failures, 14.02 s] doctest:warning File "/var/lib/buildbot/worker/sage_git/build/local/var/lib/sage/venv-python3.10.8/lib/python3.10/threading.py", line 973, in _bootstrap self._bootstrap_inner() File "/var/lib/buildbot/worker/sage_git/build/local/var/lib/sage/venv-python3.10.8/lib/python3.10/threading.py", line 1002, in _bootstrap_inner self._set_tstate_lock() File "/var/lib/buildbot/worker/sage_git/build/local/var/lib/sage/venv-python3.10.8/lib/python3.10/threading.py", line 991, in _set_tstate_lock self._tstate_lock = _set_sentinel() File "/var/lib/buildbot/worker/sage_git/build/local/var/lib/sage/venv-python3.10.8/lib/python3.10/warnings.py", line 109, in _showwarnmsg sw(msg.message, msg.category, msg.filename, msg.lineno, : RuntimeWarning: cypari2 leaked 4032445012 bytes on the PARI stack ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 154, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_int Failed example: base._pow_int(2^57) Expected: 78962960182680.42 Got: 78962960182680.27 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 156, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_int Failed example: base._pow_int(2^57 + 1) Expected: 78962960182680.42 Got: 78962960182680.27 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 170, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_int Failed example: base._pow_int(2^57) Expected: 78962960182680.42 Got: 78962960182680.27 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 172, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_int Failed example: base._pow_int(2^57 + 1) Expected: -78962960182680.42 Got: -78962960182680.27 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 195, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_long Failed example: base ^ (2^57) Expected: 78962960182680.42 Got: 78962960182680.27 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 197, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_long Failed example: base ^ RDF(2^57) Expected: 78962960182680.42 Got: 78962960182680.27 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 384, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp Failed example: a = r.exp(); a Expected: 106588847274864.47 Got: 106588847274864.22 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 392, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp Failed example: r.exp() Expected: 9.381844588498685e-15 Got: 9.381844588498707e-15 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 418, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp2 Failed example: r.exp2() Expected: 4294967295.9999967 Got: 4294967296.0 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 424, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp2 Failed example: r.exp2() Expected: 1.8911724825302065e-10 Got: 1.8911724825302072e-10 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 445, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp10 Failed example: r.exp10() Expected: 1.0000000000000069e+32 Got: 1.0000000000000062e+32 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 451, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp10 Failed example: r.exp10() Expected: 5.011872336272702e-33 Got: 5.011872336272695e-33 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 651, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.acosh Failed example: i = q.cosh(); i Expected: 2.5091784786580567 Got: 2.509178478658056 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 665, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.arcsinh Failed example: i = q.sinh(); i Expected: 2.3012989023072947 Got: 2.3012989023072943 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 679, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.arctanh Failed example: i = q.tanh(); i Expected: 0.9171523356672744 Got: 0.9171523356672743 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 681, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.arctanh Failed example: i.arctanh() - q # rel tol 1 Expected: 4.440892098500626e-16 Got: -4.440892098500626e-16 Tolerance exceeded: 4.440892098500626e-16 vs -4.440892098500626e-16, tolerance 3e0 > 1e0 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 692, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.sech Failed example: RDF(pi).sech() Expected: 0.08626673833405443 Got: 0.08626673833405446 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 694, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.sech Failed example: CDF(pi).sech() Expected: 0.08626673833405443 Got: 0.08626673833405446 ********************************************************************** File "src/sage/rings/real_double_element_gsl.pyx", line 705, in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.csch Failed example: RDF(pi).csch() Expected: 0.08658953753004694 Got: 0.08658953753004697 ********************************************************************** 10 items had failures: 4 of 23 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_int 2 of 8 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl._pow_long 1 of 4 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.acosh 1 of 4 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.arcsinh 2 of 4 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.arctanh 1 of 3 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.csch 2 of 9 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp 2 of 7 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp10 2 of 7 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.exp2 2 of 3 in sage.rings.real_double_element_gsl.RealDoubleElement_gsl.sech [145 tests, 19 failures, 0.06 s] ********************************************************************** File "src/sage/stats/hmm/hmm.pyx", line 596, in sage.stats.hmm.hmm.DiscreteHiddenMarkovModel._forward_scale Failed example: m._forward_scale(stats.IntList([0,1]*10)) Expected: -14.378663512219454 Got: -14.378663512219456 ********************************************************************** File "src/sage/stats/hmm/hmm.pyx", line 601, in sage.stats.hmm.hmm.DiscreteHiddenMarkovModel._forward_scale Failed example: m.log_likelihood(stats.IntList([0,1]*10)) Expected: -14.378663512219454 Got: -14.378663512219456 ********************************************************************** 1 item had failures: 2 of 8 in sage.stats.hmm.hmm.DiscreteHiddenMarkovModel._forward_scale [121 tests, 2 failures, 0.67 s] ********************************************************************** File "src/sage/structure/element.pyx", line 2016, in sage.structure.element.Element.__pow__ Failed example: complex(1,2)**(1/2) Expected: (1.272019649514069+0.786151377757423...j) Got: (1.2720196495140692+0.7861513777574234j) ********************************************************************** 1 item had failures: 1 of 24 in sage.structure.element.Element.__pow__ [756 tests, 1 failure, 12.71 s] ********************************************************************** File "src/sage/symbolic/expression.pyx", line 1659, in sage.symbolic.expression.Expression._convert Failed example: f._convert({'parent':RDF}) Expected: -1.40006081533995 Got: -1.4000608153399503 ********************************************************************** File "src/sage/symbolic/expression.pyx", line 7581, in sage.symbolic.expression.Expression.polynomial Failed example: f.polynomial(CDF) # abs tol 5e-16 Expected: 54.598150033144236*x^4 - 20.085536923187668*I*x^3 - 7.38905609893065*x^2 + 2.718281828459045*I*x + 1.0 Got: 54.598150033144236*x^4 - 20.08553692318767*I*x^3 - 7.38905609893065*x^2 + 2.718281828459045*I*x + 1.0 Tolerance exceeded in 1 of 8: - 20.085536923187668 vs - 20.08553692318767, tolerance 3e-15 > 5e-16 ********************************************************************** 2 items had failures: 1 of 18 in sage.symbolic.expression.Expression._convert 1 of 31 in sage.symbolic.expression.Expression.polynomial [3077 tests, 2 failures, 38.85 s] ********************************************************************** File "src/sage_setup/autogen/interpreters/specs/cdf.py", line 57, in sage_setup.autogen.interpreters.specs.cdf.CDFInterpreter.__init__ Failed example: f(CDF(1+2j)) # rel tol 4e-16 Expected: -10391778.999999996 + 3349659.499999962*I Got: -10391779.000000013 + 3349659.4999999646*I Tolerance exceeded in 2 of 2: -10391778.999999996 vs -10391779.000000013, tolerance 2e-15 > 4e-16 + 3349659.499999962 vs + 3349659.4999999646, tolerance 8e-16 > 4e-16 ********************************************************************** 1 item had failures: 1 of 20 in sage_setup.autogen.interpreters.specs.cdf.CDFInterpreter.__init__ [19 tests, 1 failure, 0.08 s] ---------------------------------------------------------------------- sage -t --long --random-seed=0 src/sage/calculus/calculus.py # 3 doctests failed sage -t --long --random-seed=0 src/sage/calculus/wester.py # 1 doctest failed sage -t --long --random-seed=0 src/sage/categories/finite_coxeter_groups.py # 1 doctest failed sage -t --long --random-seed=0 src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx # 3 doctests failed sage -t --long --random-seed=0 src/sage/functions/log.py # 2 doctests failed sage -t --long --random-seed=0 src/sage/functions/trig.py # 1 doctest failed sage -t --long --random-seed=0 src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py # 1 doctest failed sage -t --long --random-seed=0 src/sage/interacts/test_jupyter.rst # 1 doctest failed sage -t --long --random-seed=0 src/sage/matrix/matrix_double_dense.pyx # 1 doctest failed sage -t --long --random-seed=0 src/sage/matrix/matrix_symbolic_dense.pyx # 1 doctest failed sage -t --long --random-seed=0 src/sage/modules/free_module_element.pyx # 1 doctest failed sage -t --long --random-seed=0 src/sage/modules/vector_real_double_dense.pyx # 2 doctests failed sage -t --long --random-seed=0 src/sage/rings/complex_double.pyx # 4 doctests failed sage -t --long --random-seed=0 src/sage/rings/complex_mpc.pyx # 1 doctest failed sage -t --long --random-seed=0 src/sage/rings/complex_mpfr.pyx # 1 doctest failed sage -t --long --random-seed=0 src/sage/rings/number_field/number_field_element.pyx # 3 doctests failed sage -t --long --random-seed=0 src/sage/rings/real_double_element_gsl.pyx # 19 doctests failed sage -t --long --random-seed=0 src/sage/stats/hmm/hmm.pyx # 2 doctests failed sage -t --long --random-seed=0 src/sage/structure/element.pyx # 1 doctest failed sage -t --long --random-seed=0 src/sage/symbolic/expression.pyx # 2 doctests failed sage -t --long --random-seed=0 src/sage_setup/autogen/interpreters/specs/cdf.py # 1 doctest failed ---------------------------------------------------------------------- Total time for all tests: 7092.1 seconds cpu time: 12138.2 seconds cumulative wall time: 12442.3 seconds
Full log: http://build.sagemath.org/#/builders/47/builds/14/steps/14/logs/stdio
comment:103 follow-up: 107 Changed 7 weeks ago by
Many of these numerical noises do not involve PARI/GP at all!
comment:104 Changed 7 weeks ago by
Indeed, e.g.
File "src/sage/calculus/calculus.py", line 772, in sage.calculus.calculus.? Failed example: float(f) Expected: -480.0 Got: -2336.0
and ensuing error in this file have nothing to do with Pari. Are we still supporting 32-bit seriously? Indeed, these 32-bit errors should have been caught elsewhere.
I wonder whether Pari 2.15.1 passes its selftests on 32-bit, too.
comment:105 Changed 7 weeks ago by
Fix: https://github.com/void-linux/void-packages/blob/master/srcpkgs/pari/patches/float32.patch
All tests pass on void linux i686 (using that patch on pari).
comment:106 Changed 7 weeks ago by
BTW, I've just submitted a report upstream to the pari bug tracker, which I had neglected to do before.
comment:107 follow-up: 108 Changed 7 weeks ago by
Replying to Vincent Delecroix:
Many of these numerical noises do not involve PARI/GP at all!
tests run fine without this ticket tho...
comment:108 follow-up: 109 Changed 7 weeks ago by
Replying to Volker Braun:
Replying to Vincent Delecroix:
Many of these numerical noises do not involve PARI/GP at all!
tests run fine without this ticket tho...
The offending Pari commit, reverted by Gonzalo's patch, is not in 2.13.3, but is in 2.15.1. Maybe it flips FPU switches somewhere...
comment:109 Changed 7 weeks ago by
Replying to Dima Pasechnik:
Replying to Volker Braun:
Replying to Vincent Delecroix:
Many of these numerical noises do not involve PARI/GP at all!
tests run fine without this ticket tho...
The offending Pari commit, reverted by Gonzalo's patch, is not in 2.13.3, but is in 2.15.1. Maybe it flips FPU switches somewhere...
Precisely. The 387 fpu has a switch to choose between 64-bit (double) and 80-bit (long double) arithmetic. The problem is that transcendental functions depend on 80 bit arithmetic to give accurate 64 bit results 🤦♂️
Just linking to pari (without even initializing it) will affect a program, as demonstrated in the test program in my commit message (https://github.com/void-linux/void-packages/blob/master/srcpkgs/pari/patches/float32.patch).
Maybe it is possible to override the -mpc64 setting in pari library by explicitly adding -mpc80 to the linking step of sage. Or adding code in sage init to explicitly initialize the FPU to a safe mode.
Be warned that removing the -mpc64
flag in pari might result in some numerical differences on pari itself due to 80 bit precission. In void linux we compile pari with -ffloat-store
which avoids this issue.
comment:111 Changed 7 weeks ago by
should we proceed with the Gonzalo's patch ?
the upstream is clearly wrong in applying this change unconditionally, IMHO
comment:112 Changed 6 weeks ago by
Upstream provided a fix on https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2435, let's test it.
comment:113 Changed 6 weeks ago by
Commit: | 364f6d1ae19d7cd620a4151e1a51d2e4223c1441 → 847cc1a8322ba4546a6e7ceeef6a8642c270bf79 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
847cc1a | try out 32-bit fix from upstream
|
comment:114 follow-up: 115 Changed 6 weeks ago by
Status: | needs_work → needs_review |
---|
32-bit-capable, please try this out
comment:115 Changed 6 weeks ago by
Replying to Dima Pasechnik:
32-bit-capable, please try this out
I found an old laptop, last seriously used in 2008, it has ubuntu 10.04 installed (!) and a working Sage 4.7. Must be 32-bit. I wonder how much work it would be to get it into a state in which I could try building a new Sage (for testing things like this)?
comment:116 follow-up: 117 Changed 6 weeks ago by
probably ubuntu 10 is way too old even for stand alone Pari - but you can try (building/testing Pari 2.15)
comment:117 Changed 6 weeks ago by
Replying to Dima Pasechnik:
probably ubuntu 10 is way too old even for stand alone Pari - but you can try (building/testing Pari 2.15)
Sorry, it kept on crashing when I tried to install anything. I'm not sure it's worth it.
comment:118 Changed 5 weeks ago by
Commit: | 847cc1a8322ba4546a6e7ceeef6a8642c270bf79 → e3e74ef7d2b54a96118a53427b43ef6515b72859 |
---|
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
ce306b2 | Revert "Fix one more test in docs"
|
a795cf1 | fix call to pari genus2red
|
66d09f6 | fix doc associated to genus 2 reduction
|
c974999 | Re-fix test that was moved to a different file in 9.8.beta1
|
9d2dcd4 | fix doctest if fqf_orthogonal
|
0cb6ba9 | Require pari>=2.15, remove old bug test
|
72d8024 | correct minimal version of pari
|
21851db | Fix 9.8.beta1 rebase
|
0bfcb1e | bump version to 2.15.1
|
e3e74ef | try out 32-bit fix from upstream
|
comment:120 Changed 5 weeks ago by
debian-buster-i386-minimal
(https://github.com/mkoeppe/sage/actions/runs/3813720548/jobs/6501916887):
sage -t --random-seed=304199016987563679993262730039611175926 src/sage/parallel/decorate.py # 1 doctest failed sage -t --random-seed=304199016987563679993262730039611175926 src/sage/rings/number_field/number_field_element.pyx # 3 doctests failed sage -t --random-seed=304199016987563679993262730039611175926 src/sage/rings/number_field/number_field_ideal_rel.py # 1 doctest failed sage -t --random-seed=304199016987563679993262730039611175926 src/sage/rings/qqbar.py # 7 doctests failed
comment:121 Changed 5 weeks ago by
Status: | needs_review → needs_work |
---|
comment:122 Changed 5 weeks ago by
these seem to be different failures than these from the previous try. This one is a red herring, I think.
2023-01-02T17:09:28.9130459Z File "src/sage/parallel/decorate.py", line 560, in sage.parallel.decorate.fork 2023-01-02T17:09:28.9130748Z Failed example: 2023-01-02T17:09:28.9131128Z print("this works"); g() # optional - sage.misc.cython 2023-01-02T17:09:28.9131402Z Expected: 2023-01-02T17:09:28.9131605Z this works... 2023-01-02T17:09:28.9131801Z <BLANKLINE> 2023-01-02T17:09:28.9132181Z ------------------------------------------------------------------------ 2023-01-02T17:09:28.9132477Z Unhandled SIG... 2023-01-02T17:09:28.9132841Z ------------------------------------------------------------------------ 2023-01-02T17:09:28.9133153Z 'NO DATA' 2023-01-02T17:09:28.9133348Z Got: 2023-01-02T17:09:28.9133525Z this works 2023-01-02T17:09:28.9133893Z ------------------------------------------------------------------------ 2023-01-02T17:09:28.9134535Z /sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/cysignals/signals.cpython-311-i386-linux-gnu.so(+0x5bb2)[0xf6365bb2] ...
but the rest look as if something has changed with signs handling somewhere in Pari
2023-01-02T17:17:20.0394427Z sage -t --random-seed=304199016987563679993262730039611175926 src/sage/rings/number_field/number_field_element.pyx 2023-01-02T17:17:20.0394753Z ********************************************************************** 2023-01-02T17:17:20.0395167Z File "src/sage/rings/number_field/number_field_element.pyx", line 1640, in sage.rings.number_field.number_field_element.NumberFieldElement.is_norm 2023-01-02T17:17:20.0395544Z Failed example: 2023-01-02T17:17:20.0395830Z t = (-a).is_norm(L, element=True); t 2023-01-02T17:17:20.0396038Z Expected: 2023-01-02T17:17:20.0396266Z (True, -b^3 - 1) 2023-01-02T17:17:20.0396463Z Got: 2023-01-02T17:17:20.0396660Z (True, b^3 - 1) 2023-01-02T17:17:20.0396885Z ********************************************************************** 2023-01-02T17:17:20.0397311Z File "src/sage/rings/number_field/number_field_element.pyx", line 1755, in sage.rings.number_field.number_field_element.NumberFieldElement._rnfisnorm 2023-01-02T17:17:20.0397686Z Failed example: 2023-01-02T17:17:20.0397930Z t = (-a)._rnfisnorm(L); t 2023-01-02T17:17:20.0398136Z Expected: 2023-01-02T17:17:20.0398350Z (-b^3 - 1, 1) 2023-01-02T17:17:20.0398518Z Got: 2023-01-02T17:17:20.0398724Z (b^3 - 1, 1) 2023-01-02T17:17:20.0398951Z ********************************************************************** 2023-01-02T17:17:20.0399351Z File "src/sage/rings/number_field/number_field_element.pyx", line 1759, in sage.rings.number_field.number_field_element.NumberFieldElement._rnfisnorm 2023-01-02T17:17:20.0399721Z Failed example: 2023-01-02T17:17:20.0399929Z t = K(3)._rnfisnorm(L); t 2023-01-02T17:17:20.0400120Z Expected: 2023-01-02T17:17:20.0400394Z (b^3 + a*b^2 + a^2*b - 1, 3*a^2 - 3*a + 6) 2023-01-02T17:17:20.0400605Z Got: 2023-01-02T17:17:20.0400854Z (-b^3 + a*b^2 - a^2*b - 1, 3*a^2 - 3*a + 6) 2023-01-02T17:17:20.0401102Z ********************************************************************** 2023-01-02T17:17:20.0401331Z 2 items had failures: 2023-01-02T17:17:20.0401638Z 2 of 27 in sage.rings.number_field.number_field_element.NumberFieldElement._rnfisnorm 2023-01-02T17:17:20.0402059Z 1 of 28 in sage.rings.number_field.number_field_element.NumberFieldElement.is_norm 2023-01-02T17:17:20.0402383Z [1167 tests, 3 failures, 20.14 s]
again something with the norm of algebraic numbers:
2023-01-02T17:17:20.0407122Z File "src/sage/rings/number_field/number_field_ideal_rel.py", line 221, in sage.rings.number_field.number_field_ideal_rel.NumberFieldFractionalIdeal_rel._from_absolute_ideal 2023-01-02T17:17:20.0407519Z Failed example: 2023-01-02T17:17:20.0407730Z J.absolute_ideal() 2023-01-02T17:17:20.0407934Z Expected: 2023-01-02T17:17:20.0408389Z Fractional ideal (22584817, -1473/812911*a^5 + 8695/4877466*a^4 - 1308209/4877466*a^3 + 117415/443406*a^2 - 22963264/2438733*a - 13721081784272/2438733) 2023-01-02T17:17:20.0408653Z Got: 2023-01-02T17:17:20.0409104Z Fractional ideal (22584817, -4417/2438733*a^5 - 2867/1625822*a^4 - 1307249/4877466*a^3 - 112151/443406*a^2 - 22904674/2438733*a - 13720435234111/2438733) 2023-01-02T17:17:20.0409412Z ********************************************************************** 2023-01-02T17:17:20.0409620Z 1 item had failures: 2023-01-02T17:17:20.0409977Z 1 of 9 in sage.rings.number_field.number_field_ideal_rel.NumberFieldFractionalIdeal_rel._from_absolute_ideal 2023-01-02T17:17:20.0410331Z [233 tests, 1 failure, 1.43 s]
no idea about these:
2023-01-02T17:21:09.2828507Z sage -t --random-seed=304199016987563679993262730039611175926 src/sage/rings/qqbar.py 2023-01-02T17:21:09.2828799Z ********************************************************************** 2023-01-02T17:21:09.2829146Z File "src/sage/rings/qqbar.py", line 2659, in sage.rings.qqbar.number_field_elements_from_algebraics 2023-01-02T17:21:09.2829457Z Failed example: 2023-01-02T17:21:09.2829646Z nf 2023-01-02T17:21:09.2829813Z Expected: 2023-01-02T17:21:09.2830162Z Number Field in a with defining polynomial y^24 - 6*y^23 ...- 9*y^2 + 1 2023-01-02T17:21:09.2830444Z with a = 0.2598679? + 0.0572892?*I 2023-01-02T17:21:09.2830630Z Got: 2023-01-02T17:21:09.2831197Z Number Field in a with defining polynomial y^24 - 9*y^22 + 135*y^20 - 720*y^18 + 1821*y^16 - 3015*y^14 + 3974*y^12 - 3015*y^10 + 1821*y^8 - 720*y^6 + 135*y^4 - 9*y^2 + 1 with a = -0.2368370943? - 0.2078201084?*I 2023-01-02T17:21:09.2831560Z ********************************************************************** 2023-01-02T17:21:09.2831903Z File "src/sage/rings/qqbar.py", line 7860, in sage.rings.qqbar.ANExtensionElement.neg 2023-01-02T17:21:09.2832200Z Failed example: 2023-01-02T17:21:09.2832395Z b.neg(a) 2023-01-02T17:21:09.2832582Z Expected: 2023-01-02T17:21:09.2832974Z -1/3*a^3 + 1/3*a^2 - a - 1 where a^4 - 2*a^3 + a^2 + 6*a + 3 = 0 and a in 1.724744871391589? + 1.573132184970987?*I 2023-01-02T17:21:09.2833232Z Got: 2023-01-02T17:21:09.2833631Z 1/3*a^3 - 2/3*a^2 + 4/3*a - 2 where a^4 - 2*a^3 + a^2 - 6*a + 9 = 0 and a in -0.7247448713915890? - 1.573132184970987?*I 2023-01-02T17:21:09.2833921Z ********************************************************************** 2023-01-02T17:21:09.2834264Z File "src/sage/rings/qqbar.py", line 7862, in sage.rings.qqbar.ANExtensionElement.neg 2023-01-02T17:21:09.2834937Z Failed example: 2023-01-02T17:21:09.2835139Z b.neg("ham spam and eggs") 2023-01-02T17:21:09.2835348Z Expected: 2023-01-02T17:21:09.2835750Z -1/3*a^3 + 1/3*a^2 - a - 1 where a^4 - 2*a^3 + a^2 + 6*a + 3 = 0 and a in 1.724744871391589? + 1.573132184970987?*I 2023-01-02T17:21:09.2836007Z Got: 2023-01-02T17:21:09.2836389Z 1/3*a^3 - 2/3*a^2 + 4/3*a - 2 where a^4 - 2*a^3 + a^2 - 6*a + 9 = 0 and a in -0.7247448713915890? - 1.573132184970987?*I 2023-01-02T17:21:09.2836797Z ********************************************************************** 2023-01-02T17:21:09.2837156Z File "src/sage/rings/qqbar.py", line 7878, in sage.rings.qqbar.ANExtensionElement.invert 2023-01-02T17:21:09.2837461Z Failed example: 2023-01-02T17:21:09.2837663Z b.invert(a) 2023-01-02T17:21:09.2837853Z Expected: 2023-01-02T17:21:09.2838246Z -7/3*a^3 + 19/3*a^2 - 7*a - 9 where a^4 - 2*a^3 + a^2 + 6*a + 3 = 0 and a in 1.724744871391589? + 1.573132184970987?*I 2023-01-02T17:21:09.2838506Z Got: 2023-01-02T17:21:09.2838904Z 7/3*a^3 - 2/3*a^2 + 4/3*a - 12 where a^4 - 2*a^3 + a^2 - 6*a + 9 = 0 and a in -0.7247448713915890? - 1.573132184970987?*I 2023-01-02T17:21:09.2839200Z ********************************************************************** 2023-01-02T17:21:09.2839543Z File "src/sage/rings/qqbar.py", line 7880, in sage.rings.qqbar.ANExtensionElement.invert 2023-01-02T17:21:09.2839859Z Failed example: 2023-01-02T17:21:09.2840082Z b.invert("ham spam and eggs") 2023-01-02T17:21:09.2840282Z Expected: 2023-01-02T17:21:09.2840681Z -7/3*a^3 + 19/3*a^2 - 7*a - 9 where a^4 - 2*a^3 + a^2 + 6*a + 3 = 0 and a in 1.724744871391589? + 1.573132184970987?*I 2023-01-02T17:21:09.2840934Z Got: 2023-01-02T17:21:09.2841314Z 7/3*a^3 - 2/3*a^2 + 4/3*a - 12 where a^4 - 2*a^3 + a^2 - 6*a + 9 = 0 and a in -0.7247448713915890? - 1.573132184970987?*I 2023-01-02T17:21:09.2841607Z ********************************************************************** 2023-01-02T17:21:09.2841966Z File "src/sage/rings/qqbar.py", line 7896, in sage.rings.qqbar.ANExtensionElement.conjugate 2023-01-02T17:21:09.2842292Z Failed example: 2023-01-02T17:21:09.2842477Z b.conjugate(a) 2023-01-02T17:21:09.2842672Z Expected: 2023-01-02T17:21:09.2843064Z 1/3*a^3 - 1/3*a^2 + a + 1 where a^4 - 2*a^3 + a^2 + 6*a + 3 = 0 and a in 1.724744871391589? - 1.573132184970987?*I 2023-01-02T17:21:09.2843299Z Got: 2023-01-02T17:21:09.2843696Z -1/3*a^3 + 2/3*a^2 - 4/3*a + 2 where a^4 - 2*a^3 + a^2 - 6*a + 9 = 0 and a in -0.7247448713915890? + 1.573132184970987?*I 2023-01-02T17:21:09.2843990Z ********************************************************************** 2023-01-02T17:21:27.9889948Z File "src/sage/rings/qqbar.py", line 7898, in sage.rings.qqbar.ANExtensionElement.conjugate 2023-01-02T17:21:27.9890654Z Failed example: 2023-01-02T17:21:28.0009431Z b.conjugate("ham spam and eggs") 2023-01-02T17:21:28.0009680Z Expected: 2023-01-02T17:21:28.0010307Z 1/3*a^3 - 1/3*a^2 + a + 1 where a^4 - 2*a^3 + a^2 + 6*a + 3 = 0 and a in 1.724744871391589? - 1.573132184970987?*I 2023-01-02T17:21:28.0010587Z Got: 2023-01-02T17:21:28.0010978Z -1/3*a^3 + 2/3*a^2 - 4/3*a + 2 where a^4 - 2*a^3 + a^2 - 6*a + 9 = 0 and a in -0.7247448713915890? + 1.573132184970987?*I 2023-01-02T17:21:28.0011281Z ********************************************************************** 2023-01-02T17:21:28.0011508Z 4 items had failures: 2023-01-02T17:21:28.0011797Z 2 of 7 in sage.rings.qqbar.ANExtensionElement.conjugate 2023-01-02T17:21:28.0012179Z 2 of 7 in sage.rings.qqbar.ANExtensionElement.invert 2023-01-02T17:21:28.0012532Z 2 of 7 in sage.rings.qqbar.ANExtensionElement.neg 2023-01-02T17:21:28.0012881Z 1 of 60 in sage.rings.qqbar.number_field_elements_from_algebraics 2023-01-02T17:21:28.0013161Z [1629 tests, 7 failures, 31.12 s]
comment:123 Changed 5 weeks ago by
I will check the number field norms diffs (which are probably fine, the solution to Norm(x)=y is not unique, and if the relaive degree is even then Norm(-1)=1 so Norm(-x)=Norm(x)).
I'll also ook at the QQbar ones.
comment:124 Changed 5 weeks ago by
src/sage/rings/number_field/number_field_element.pyx: OK
src/sage/rings/number_field/number_field_ideal_rel.py: it is a bad test. The abolute ideal is an ideal in (the ring of integers of) the absolue field, whose generators are xepressed in terms of a generator of that field, whose name is displayed as 'a' as no names= paramater was given, but a has another meaning and this is confusing. Also the absolute field does not have a unique generator. I think it is simplest not to test how the abolute ideal looks at all.
QQbar next...
comment:125 Changed 5 weeks ago by
src/sage/rings/qqbar.py:
l.2659: I would not display the nf at all, the generator is not unique and each generator has 24 complex embeddings. Or you could put
sage: nf.is_isomorphic(NumberField(x^24 + 27*x^22 + 291*x^20 + 1548*x^18 + 4893*x^16 + 9657*x^14 + 12110*x^12 + 9657*x^10 + 4893*x^8 + 1548*x^6 + 291* ....: x^4 + 27*x^2 + 1,'b')) True
l.7860: a terrible test of a weird function. The method neg()
takes a parameter n which is not used (but is not optional), in the test a is used for the parameter (confusing), and -- worse -- the a which appears in the putput has nothing to do with the identifier a, it is a name chosen internally for some generator.
I think these three methods (neg, invert, conjugate) need attention. The docstring for conjugate()
wrongly says it returns the negation, a cut-and-paste error.
Years ago I spent a while improving the doctests in this >8000-line file but gave up after doing quite a lot!
I am willing to make a branch fixing all these except the first one (src/sage/parallel/decorate.py). Should I base that on u/dimpase/packages/pari2151 ?
comment:126 follow-up: 127 Changed 5 weeks ago by
Thanks for stepping in, John. Apparently Pari itself has not been changed in https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2435 - besides dropping the questionable compiler switch.
Yes, please base your branch (much appreciated!) on the ticket branch.
comment:127 Changed 5 weeks ago by
Replying to Dima Pasechnik:
Thanks for stepping in, John. Apparently Pari itself has not been changed in https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2435 - besides dropping the questionable compiler switch.
Yes, please base your branch (much appreciated!) on the ticket branch.
OK, building now...
comment:128 follow-up: 129 Changed 5 weeks ago by
@dimpase, to avoid these errors:
make --no-print-directory pari-SAGE_LOCAL-no-deps [pari-2.15.2-pre1] Attempting to download package pari-2.15.2-pre1.tar.gz from mirrors [pari-2.15.2-pre1] https://www.mirrorservice.org/sites/www.sagemath.org/spkg/upstream/pari/pari-2.15.2-pre1.tar.gz [pari-2.15.2-pre1] [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] [pari-2.15.2-pre1] ERROR [transfer|run:135]: [Errno 404] Not Found: '//www.mirrorservice.org/sites/www.sagemath.org/spkg/upstream/pari/pari-2.15.2-pre1.tar.gz'
what should I do? Put that tarball into my local upstream/ ?
comment:129 Changed 5 weeks ago by
Replying to John Cremona:
@dimpase, to avoid these errors:
make --no-print-directory pari-SAGE_LOCAL-no-deps [pari-2.15.2-pre1] Attempting to download package pari-2.15.2-pre1.tar.gz from mirrors [pari-2.15.2-pre1] https://www.mirrorservice.org/sites/www.sagemath.org/spkg/upstream/pari/pari-2.15.2-pre1.tar.gz [pari-2.15.2-pre1] [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] [pari-2.15.2-pre1] ERROR [transfer|run:135]: [Errno 404] Not Found: '//www.mirrorservice.org/sites/www.sagemath.org/spkg/upstream/pari/pari-2.15.2-pre1.tar.gz'what should I do? Put that tarball into my local upstream/ ?
these errors are OK - but indeed, you can put the tarball into upstream/ to avoid chasing it down.
I also usually edit the mirror list to have just one entry - then these go quick
$ cat upstream/mirror_list ['https://www.mirrorservice.org/sites/www.sagemath.org/']
comment:130 Changed 5 weeks ago by
Thanks, that is working. When I saw those errors I assumed that nothing would work, not realising that after these failures it somehow knew to get it from https://pari.math.u-bordeaux.fr/pub/pari/snapshots/pari-2.15.2-pre1.tar.gz
comment:131 Changed 5 weeks ago by
checksums.ini file has upstream-url field,used to fetch upstream tarball, if it can't be found in the mirrors. This is the default since a recent beta, to always try doing so.
comment:132 Changed 5 weeks ago by
With Dima's branch I get no test failures in the 4 files listed above. Were those test failures on a 32-bit machine? Otherwise I'm not sure what to do now.
comment:133 Changed 5 weeks ago by
please change the ticket branch to your branch, and set it to needs review. It will get tested by bots then.
comment:135 follow-up: 136 Changed 5 weeks ago by
John, anyhow, if you post an improved as you outlined above branch, we can test it on GitHub actions.
comment:136 Changed 5 weeks ago by
Replying to Dima Pasechnik:
John, anyhow, if you post an improved as you outlined above branch, we can test it on GitHub actions.
OK -- so I will revise those tests which fail on 32-bit to make them work better with regard to non-deterministic outputs.
comment:137 Changed 5 weeks ago by
Branch: | u/dimpase/packages/pari2151 → u/cremona/34537 |
---|---|
Commit: | e3e74ef7d2b54a96118a53427b43ef6515b72859 → 936448968028539453d666e4811fa3e50bd29cce |
Status: | needs_work → needs_review |
I changed all the problematic tests (except for the first one using @fork) in such a way that they test what they should without being affected by non-unique output. I have only tested this on a 64-bit machine.
New commits:
7fe2fc9 | #34537: make number_field_element tests more robust
|
852f355 | #34537: make number_field_ideal_rel tests more robust
|
9364489 | #34537: make qqbar tests more robust
|
comment:138 Changed 5 weeks ago by
On 32bit (using FROM_DOCKER_REPOSITORY=ghcr.io/mkoeppe/sage/ FROM_DOCKER_TAG=9.5-107571-ga6e51e5bfe tox -e docker-debian-buster-i386-minimal-incremental
):
./sage -tp --long src/sage/rings All tests passed!
comment:139 Changed 5 weeks ago by
Can I as a reviewer give this a positive review? The changes I made we're almost all to do tests.
comment:142 Changed 4 weeks ago by
Status: | positive_review → needs_work |
---|
a bit too early - we need to set the URL for the tarball top the released 2.15.2, not to this snapshot (they should be equal though)
comment:143 Changed 4 weeks ago by
Summary: | Upgrade to pari 2.15.1 → Upgrade to pari 2.15.2 |
---|
comment:144 Changed 4 weeks ago by
Branch: | u/cremona/34537 → u/dimpase/packages/pari/2.15.2 |
---|---|
Commit: | 936448968028539453d666e4811fa3e50bd29cce → 9e858c38130e3a6dec8c3ebdee8af5a6e652e8aa |
Status: | needs_work → positive_review |
purely mechanic change of the identical, but differently named, tarball
New commits:
9e858c3 | use the released 2.15.2 tarball
|
comment:145 Changed 4 weeks ago by
With commit 9364489 (and some other tickets merged), I see the following on fedora-37-minimal
(https://github.com/mkoeppe/sage/actions/runs/3853109922/jobs/6586249291)
sage -t --random-seed=307282812518142614549559529759942029026 src/sage/schemes/elliptic_curves/hom_frobenius.py ********************************************************************** File "src/sage/schemes/elliptic_curves/hom_frobenius.py", line 461, in sage.schemes.elliptic_curves.hom_frobenius.EllipticCurveHom_frobenius.dual Failed example: p in (2,3) or f.dual().dual() == f Exception raised: Traceback (most recent call last): File "/sage/src/sage/doctest/forker.py", line 695, in _run self.compile_and_execute(example, compiler, test.globs) File "/sage/src/sage/doctest/forker.py", line 1093, in compile_and_execute exec(compiled, globs) File "<doctest sage.schemes.elliptic_curves.hom_frobenius.EllipticCurveHom_frobenius.dual[17]>", line 1, in <module> p in (Integer(2),Integer(3)) or f.dual().dual() == f ^^^^^^^^^^^^^^^^^^^^ File "sage/structure/element.pyx", line 1109, in sage.structure.element.Element.__richcmp__ return (<Element>self)._richcmp_(other, op) File "sage/categories/morphism.pyx", line 341, in sage.categories.morphism.Morphism._richcmp_ cpdef _richcmp_(self, other, int op): File "/sage/src/sage/schemes/elliptic_curves/hom.py", line 221, in _richcmp_ ret = self._comparison_impl(self, other, op) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/sage/src/sage/schemes/elliptic_curves/hom_composite.py", line 584, in _comparison_impl return compare_via_evaluation(left, right) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/sage/src/sage/schemes/elliptic_curves/hom.py", line 779, in compare_via_evaluation Ps = EE.gens() ^^^^^^^^^ File "sage/misc/cachefunc.pyx", line 2297, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ self.cache = f(self._instance) File "/sage/src/sage/schemes/elliptic_curves/ell_finite_field.py", line 819, in gens card, ords, pts = self.__pari__().ellgroup(flag=1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "cypari2/auto_gen.pxi", line 8027, in cypari2.gen.Gen_base.ellgroup File "cypari2/handle_error.pyx", line 213, in cypari2.handle_error._pari_err_handle cypari2.handle_error.PariError: impossible inverse in Fl_inv: Mod(31, 31) ********************************************************************** 1 item had failures: 1 of 19 in sage.schemes.elliptic_curves.hom_frobenius.EllipticCurveHom_frobenius.dual [117 tests, 1 failure, 13.47 s]
To inspect: docker run -it ghcr.io/mkoeppe/sage/sage-docker-fedora-37-minimal-with-targets-optional:9.5-107758-g45159d349c
comment:146 Changed 4 weeks ago by
This error is caused by some other newly merged patch #33915. I think the author of that (Lorenz Penny) needs to look at this.
It will be a very great pity if the pari upgrade missed this release!
comment:147 follow-up: 148 Changed 4 weeks ago by
Thanks for the pointer! I've opened #34900 for this failure.
comment:148 Changed 4 weeks ago by
comment:149 Changed 3 weeks ago by
Commit: | 9e858c38130e3a6dec8c3ebdee8af5a6e652e8aa → ee4094ff2719e5bec8792151f3847a7fcfe2430c |
---|---|
Status: | positive_review → needs_review |
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:
ee4094f | add patch for Pari bug #2441, cf trac 34900
|
comment:151 Changed 3 weeks ago by
Status: | needs_review → positive_review |
---|
As with #34900 we can trust the upstream patch,
comment:152 Changed 3 weeks ago by
I'm still getting this on 32-bit http://build.sagemath.org/#/builders/47/builds/27
********************************************************************** File "src/sage/schemes/elliptic_curves/ell_number_field.py", line 2297, in sage.schemes.elliptic_curves.ell_number_field.EllipticCurve_number_field.gens Failed example: E.rank(), E.gens(lim3=12) # long time (about 4s) Expected: (1, [(369/25*y^3 + 539/25*y^2 + 1178/25*y + 1718/25 : -29038/125*y^3 - 43003/125*y^2 - 92706/125*y - 137286/125 : 1)]) Got: (1, []) ********************************************************************** File "src/sage/schemes/elliptic_curves/ell_number_field.py", line 2647, in sage.schemes.elliptic_curves.ell_number_field.EllipticCurve_number_field.isogeny_class Failed example: C.matrix() # long time Expected: [1 2 2 4 4 2] [2 1 2 4 2 4] [2 2 1 2 4 4] [4 4 2 1 3 3] [4 2 4 3 1 3] [2 4 4 3 3 1] Got: [1 2 2 2 4 4] [2 1 2 4 4 2] [2 2 1 4 2 4] [2 4 4 1 3 3] [4 4 2 3 1 3] [4 2 4 3 3 1] ********************************************************************** File "src/sage/schemes/elliptic_curves/ell_number_field.py", line 2679, in sage.schemes.elliptic_curves.ell_number_field.EllipticCurve_number_field.isogeny_class Failed example: G.adjacency_matrix() # long time Expected: [0 1 1 0 0 1] [1 0 1 0 1 0] [1 1 0 1 0 0] [0 0 1 0 1 1] [0 1 0 1 0 1] [1 0 0 1 1 0] Got: [0 1 1 1 0 0] [1 0 1 0 0 1] [1 1 0 0 1 0] [1 0 0 0 1 1] [0 0 1 1 0 1] [0 1 0 1 1 0] ********************************************************************** 2 items had failures: 1 of 17 in sage.schemes.elliptic_curves.ell_number_field.EllipticCurve_number_field.gens 2 of 75 in sage.schemes.elliptic_curves.ell_number_field.EllipticCurve_number_field.isogeny_class [843 tests, 3 failures, 236.47 s] ********************************************************************** File "src/sage/schemes/elliptic_curves/isogeny_small_degree.py", line 1208, in sage.schemes.elliptic_curves.isogeny_small_degree.isogenies_13_0 Failed example: [phi.codomain().ainvs() for phi in isogenies_13_0(E)] # long time (4s) Expected: [(0, 0, 20360599/165164973653422080*a^11 - 3643073/41291243413355520*a^10 + 1887439/1146978983704320*a^9 + 5557619461/573489491852160*a^8 - 82824971/11947697746920*a^7 + 1030632647/7965131831280*a^6 - 475752603733/29409717530880*a^5 + 87205112531/7352429382720*a^4 - 43618899433/204234149520*a^3 + 5858744881/12764634345*a^2 - 1858703809/2836585410*a + 2535050171/1418292705, -139861295/2650795873449984*a^11 - 3455957/5664093746688*a^10 - 345310571/50976843720192*a^9 - 500530795/118001953056*a^8 - 12860048113/265504394376*a^7 - 25007420461/44250732396*a^6 + 458134176455/1416023436672*a^5 + 16701880631/9077073312*a^4 + 155941666417/9077073312*a^3 + 3499310115/378211388*a^2 - 736774863/94552847*a - 21954102381/94552847, 8342795944891/198197968384106496*a^11 + 8908625263589/20645621706677760*a^10 + 53130542636623/6881873902225920*a^9 + 376780111042213/114697898370432*a^8 + 614884052146333/15930263662560*a^7 + 3566768133324359/7965131831280*a^6 - 1885593809102545/35291661037056*a^5 - 2443732172026523/3676214691360*a^4 - 9525729503937541/1225404897120*a^3 + 51990274442321/40846829904*a^2 + 67834019370596/4254878115*a + 267603083706812/1418292705), (0, 0, 20360599/165164973653422080*a^11 - 3643073/41291243413355520*a^10 + 1887439/1146978983704320*a^9 + 5557619461/573489491852160*a^8 - 82824971/11947697746920*a^7 + 1030632647/7965131831280*a^6 - 475752603733/29409717530880*a^5 + 87205112531/7352429382720*a^4 - 43618899433/204234149520*a^3 + 5858744881/12764634345*a^2 - 1858703809/2836585410*a + 2535050171/1418292705, -6465569317/1325397936724992*a^11 - 112132307/1960647835392*a^10 - 17075412917/25488421860096*a^9 - 207832519229/531008788752*a^8 - 1218275067617/265504394376*a^7 - 9513766502551/177002929584*a^6 + 4297077855437/708011718336*a^5 + 354485975837/4538536656*a^4 + 4199379308059/4538536656*a^3 - 30841577919/189105694*a^2 - 181916484042/94552847*a - 2135779171614/94552847, -1316873026840277/34172063514501120*a^11 - 18637401045099413/41291243413355520*a^10 - 36382234917217247/6881873902225920*a^9 - 61142238484016213/19775499719040*a^8 - 576888119306045123/15930263662560*a^7 - 3378443313906256321/7965131831280*a^6 + 326466167429333279/6084769144320*a^5 + 4620083325391594991/7352429382720*a^4 + 9018783894167184149/1225404897120*a^3 - 9206015742300283/7042556880*a^2 - 65141531411426446/4254878115*a - 254321286054666133/1418292705)] Got: [(0, 0, 20360599/165164973653422080*a^11 - 3643073/41291243413355520*a^10 - 101/8789110986240*a^9 + 5557619461/573489491852160*a^8 - 82824971/11947697746920*a^7 - 19487/21127670640*a^6 - 475752603733/29409717530880*a^5 + 87205112531/7352429382720*a^4 + 8349/521670880*a^3 + 5858744881/12764634345*a^2 - 1858703809/2836585410*a + 58759402/48906645, -139861295/2650795873449984*a^11 - 3455957/5664093746688*a^10 - 345310571/50976843720192*a^9 - 500530795/118001953056*a^8 - 12860048113/265504394376*a^7 - 25007420461/44250732396*a^6 + 458134176455/1416023436672*a^5 + 16701880631/9077073312*a^4 + 155941666417/9077073312*a^3 + 3499310115/378211388*a^2 - 736774863/94552847*a - 21954102381/94552847, 579363345221/13763747804451840*a^11 + 371192377511/860234237778240*a^10 + 8855090365657/1146978983704320*a^9 + 5367261541663/1633873196160*a^8 + 614883554332193/15930263662560*a^7 + 30485197378483/68078049840*a^6 - 131000897588387/2450809794240*a^5 - 203628705777949/306351224280*a^4 - 1587619388190379/204234149520*a^3 + 14435069706551/11346341640*a^2 + 7537273048614/472764235*a + 89198980034806/472764235), (0, 0, 20360599/165164973653422080*a^11 - 3643073/41291243413355520*a^10 - 101/8789110986240*a^9 + 5557619461/573489491852160*a^8 - 82824971/11947697746920*a^7 - 19487/21127670640*a^6 - 475752603733/29409717530880*a^5 + 87205112531/7352429382720*a^4 + 8349/521670880*a^3 + 5858744881/12764634345*a^2 - 1858703809/2836585410*a + 58759402/48906645, -6465569317/1325397936724992*a^11 - 112132307/1960647835392*a^10 - 17075412917/25488421860096*a^9 - 207832519229/531008788752*a^8 - 1218275067617/265504394376*a^7 - 9513766502551/177002929584*a^6 + 4297077855437/708011718336*a^5 + 354485975837/4538536656*a^4 + 4199379308059/4538536656*a^3 - 30841577919/189105694*a^2 - 181916484042/94552847*a - 2135779171614/94552847, -132601797212627/3440936951112960*a^11 - 6212467020502021/13763747804451840*a^10 - 1515926454902497/286744745926080*a^9 - 15154913741799637/4901619588480*a^8 - 576888119803859263/15930263662560*a^7 - 86626751639648671/204234149520*a^6 + 16436657569218427/306351224280*a^5 + 1540027900265659087/2450809794240*a^4 + 375782662805915809/51058537380*a^3 - 14831920924677883/11346341640*a^2 - 7237947774817724/472764235*a - 84773764066089509/472764235)] ********************************************************************** 1 item had failures: 1 of 21 in sage.schemes.elliptic_curves.isogeny_small_degree.isogenies_13_0 [307 tests, 1 failure, 56.94 s] ---------------------------------------------------------------------- sage -t --long --random-seed=0 src/sage/schemes/elliptic_curves/ell_number_field.py # 3 doctests failed sage -t --long --random-seed=0 src/sage/schemes/elliptic_curves/isogeny_small_degree.py # 1 doctest failed ----------------------------------------------------------------------
comment:154 Changed 3 weeks ago by
Replying to Dima Pasechnik:
could it be the latest patch?
Possibly. In the first one it's a bit strange that with the same search bound that generator was not found, but any changes in number field implementation can change whether specific number field elements fall inside or outside the bound. The difference in the two matrices will happen of the isogenous curves are sorted differently and this will depend on the models obtained, again dependent on such details. Same with the last one -- I did actually check that the two sets of coefficients define isomorphic curves, i.e. we just have a slightly different model.
It is annoying having to keep these 32-bit differences. What would you like to do this time? For the last one we could just output the number of isogenies, not the coefficients of the codomains. For the first isogeny matrix, I do want to keep that output as it is a great example and the docstring right after it describes the structure of the matrix in detail (and this description is still valid) -- so perhaps, put #random against these two. All I can suggest for the first one is to increase lim3 from 12 to 13, which will not take much longer and might give the generator even on 32-bit.
comment:155 Changed 3 weeks ago by
OK, I'm now going to try a 32-bit docker image of Ubuntu, as in
https://doc.sagemath.org/html/en/developer/portability_testing.html
to run these tests. (docker pull i386/debian
, etc)
Sorry for this never-ending mess.
comment:156 Changed 3 weeks ago by
All I can suggest for the first one is to increase lim3 from 12 to 13, which will not take much longer and might give the generator even on 32-bit.
OK, I was able to reproduce this in Docker. Indeed, increasing lim3 to 13 here gives
sage: E.rank(), E.gens(lim3=13) (1, [(-369/25*y^3 + 539/25*y^2 - 1178/25*y + 1718/25 : -27193/125*y^3 + 39683/125*y^2 - 86816/125*y + 126696/125 : 1)])
instead of
[(369/25*y^3 + 539/25*y^2 + 1178/25*y + 1718/25 : -29038/125*y^3 - 43003/125*y^2 - 92706/125*y - 137286/125 : 1)])
Is it OK?
The 1st coordinate of the point is obtained by changing y
to -y
, but the 2nd seems to be
totally different.
If so, I'm going to do
-
src/sage/schemes/elliptic_curves/ell_number_field.py
a b class EllipticCurve_number_field(EllipticCurve_field): 2294 2294 sage: E = EllipticCurve(K, [1, 0, 5*y^2 + 16, 0, 0]) 2295 2295 sage: E.gens(lim1=1, lim3=1) 2296 2296 [] 2297 sage: E.rank(), E.gens(lim3=12) # long time (about 4s) 2298 (1, 2299 [(369/25*y^3 + 539/25*y^2 + 1178/25*y + 1718/25 : -29038/125*y^3 - 43003/125*y^2 - 92706/125*y - 137286/125 : 1)]) 2297 sage: E.rank() 2298 1 2299 sage: E.gens(lim3=13) # long time (about 4s) 2300 [(... : 1)] 2300 2301 2301 2302 Here is a curve of rank 2:: 2302 2303
comment:157 follow-up: 160 Changed 3 weeks ago by
Almost certainly fine. Negating the point would give just as valid a generator, and the negative has the same X coordinate.
comment:158 Changed 3 weeks ago by
Commit: | ee4094ff2719e5bec8792151f3847a7fcfe2430c → 238f4de34714989b866757523f2a46088dbfb720 |
---|---|
Status: | positive_review → needs_review |
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. This was a forced push. Last 10 new commits:
a318646 | correct minimal version of pari
|
b164a38 | Fix 9.8.beta1 rebase
|
7bef166 | bump version to 2.15.1
|
f61b922 | try out 32-bit fix from upstream
|
77b7786 | #34537: make number_field_element tests more robust
|
37dcd37 | #34537: make number_field_ideal_rel tests more robust
|
52e18fb | #34537: make qqbar tests more robust
|
25e4e41 | use the released 2.15.2 tarball
|
af4f715 | add patch for Pari bug #2441, cf trac 34900
|
238f4de | fixed doctests for elliptic curves on 32-bit
|
comment:159 Changed 3 weeks ago by
rebased and fixed 32-bit tests, mostly as proposed by John - added an extra test checking that the graph arising there is indeed a triangular prism (Sage can do this in 1 line ;-))
comment:160 Changed 3 weeks ago by
Replying to John Cremona:
Almost certainly fine. Negating the point would give just as valid a generator, and the negative has the same X coordinate.
I looked at this more carefully, and it is 100% correct, though whoever wrote this test should have known better than to call the field generator y. Both y and -y are field generators since the field's defining polynomial is x^4+x^2-7
, and the coefficients of the curve are (1, 0, 5*y^2 + 16, 0, 0)
(hence the confusion if you just display the curve as it displays its equation in variables x,y), so replacing y by -y in the coordinates of any point give another point, which explains Dima's observation about the x-coordinates. And my observation also explains the difference in y-coordinates:
sage: P (369/25*y^3 + 539/25*y^2 + 1178/25*y + 1718/25 : -29038/125*y^3 - 43003/125*y^2 - 92706/125*y - 137286/125 : 1) sage: -P (369/25*y^3 + 539/25*y^2 + 1178/25*y + 1718/25 : 27193/125*y^3 + 39683/125*y^2 + 86816/125*y + 126696/125 : 1)
comment:161 Changed 3 weeks ago by
Commit: | 238f4de34714989b866757523f2a46088dbfb720 → c7654e85a763eb42e4c547c4a4627112b850f8c2 |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
c7654e8 | rename the gen, and do basic tests on the found generator
|
comment:162 follow-up: 163 Changed 3 weeks ago by
here I renamed y->t, and added basic sanity checks for the latter test. Positive review?
comment:163 Changed 3 weeks ago by
Replying to Dima Pasechnik:
here I renamed y->t, and added basic sanity checks for the latter test. Positive review?
Yes from me, thanks.
comment:164 Changed 3 weeks ago by
Status: | needs_review → positive_review |
---|
comment:165 Changed 2 weeks ago by
Status: | positive_review → needs_work |
---|
unfortunately upstream found the fix for https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2441 lacking, and proposed another patch.
comment:166 Changed 2 weeks ago by
Commit: | c7654e85a763eb42e4c547c4a4627112b850f8c2 → e8cfad05abf297bd9f762a6f7b688c6e900fc09b |
---|
Branch pushed to git repo; I updated commit sha1. New commits:
e8cfad0 | use different patch from upstream
|
comment:167 Changed 2 weeks ago by
Status: | needs_work → needs_review |
---|
comment:168 Changed 2 weeks ago by
I see that Bill said "The previous patch fixes this example but not other similar ones." after analysing the problem in detail, so certainly we should go with the new patch.
comment:169 Changed 11 days ago by
Status: | needs_review → positive_review |
---|
let's move this. Works on 32 bit, etc.
comment:170 Changed 9 days ago by
Branch: | u/dimpase/packages/pari/2.15.2 → e8cfad05abf297bd9f762a6f7b688c6e900fc09b |
---|---|
Resolution: | → fixed |
Status: | positive_review → closed |
comment:171 Changed 9 days ago by
Commit: | e8cfad05abf297bd9f762a6f7b688c6e900fc09b |
---|
Follow up: #34959 Fix doctest in sage/schemes/elliptic_curves/ell_number_field.py
Indeed, according to Bill Allombert
ANYARG
is gone in PARI/GP 2.15.0.