#7703: S-units, S-class groups, and selmer groups of etale algebras (and number
fields)
-----------------------------+----------------------------------------------
Reporter: rlm | Owner: was
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-4.3.1
Component: number theory | Keywords: number fields selmer groups
Work_issues: | Author: Robert Miller
Upstream: N/A | Reviewer: John Cremona
Merged: |
-----------------------------+----------------------------------------------
Changes (by cremona):
* status: needs_review => needs_work
Comment:
I applied all the following except the first to 4.3.1.alpha1 since I have
not yet built a 4.3.1.alpha2.
1. trac_7616_alt.patch (merged in 4.3.1.alpha0)
2. trac_7595.patch (merged in 4.3.1.alpha2)
3. trac_7595-failures.patch (ditto)
4. trac_7836-CRT.patch (ditto)
5. trac_7703.patch
6. trac_7703-lists.patch
7. trac_7703-nf.patch
The patches applied fine.
I had some test failures in polynomial_quotient_ring which at a glance
look like just whitespace:
{{{
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 649:
sage: S.S_class_group([])
Expected:
[((3/8*xbar^2 + 93/8,
-3/8*a*xbar^2 - 93/8*a, 3/16*xbar^3 - 3/16*xbar^2 + 93/16*xbar -
93/16,
(-1/16*a + 1/8)*xbar^3 + (-1/16*a + 1/8)*xbar^2 + (-31/16*a +
31/8)*xbar - 31/16*a + 31/8),
6,
(1/16*a - 101/16)*xbar^3 + (187/16*a + 65/16)*xbar^2 + (31/16*a -
3131/16)*xbar + 5797/16*a + 2031/16),
((-1/4*xbar^2 - 23/4,
(1/8*a - 1/8)*xbar^2 + 23/8*a - 23/8,
-1/16*xbar^3 + 1/16*xbar^2 - 23/16*xbar + 23/16,
1/16*a*xbar^3 - 1/16*a*xbar^2 + 23/16*a*xbar - 23/16*a),
6,
1/16*xbar^3 + 1/16*xbar^2 + 23/16*xbar + 39/16),
((-5/4*xbar^2 - 115/4,
5/4*a*xbar^2 + 115/4*a,
-5/16*xbar^3 - 5/16*xbar^2 - 115/16*xbar - 115/16,
1/16*a*xbar^3 + 13/16*a*xbar^2 + 23/16*a*xbar + 299/16*a),
2,
5/16*xbar^3 - 33/16*xbar^2 + 115/16*xbar - 743/16)]
Got:
[((3/8*xbar^2 + 93/8, -3/8*a*xbar^2 - 93/8*a, 3/16*xbar^3 -
3/16*xbar^2 + 93/16*xbar - 93/16, (-1/16*a + 1/8)*xbar^3 + (-1/16*a +
1/8)*xbar^2 + (-31/16*a + 31/8)*xbar - 31/16*a + 31/8), 6, (1/16*a -
101/16)*xbar^3 + (187/16*a + 65/16)*xbar^2 + (31/16*a - 3131/16)*xbar +
5797/16*a + 2031/16), ((-1/4*xbar^2 - 23/4, (1/8*a - 1/8)*xbar^2 + 23/8*a
- 23/8, -1/16*xbar^3 - 3/16*xbar^2 - 23/16*xbar - 69/16, 1/16*a*xbar^3 +
(1/16*a - 1/8)*xbar^2 + 23/16*a*xbar + 23/16*a - 23/8), 6, 1/16*xbar^3 +
1/16*xbar^2 + 23/16*xbar + 39/16), ((-5/4*xbar^2 - 115/4, 5/4*a*xbar^2 +
115/4*a, -5/16*xbar^3 - 5/16*xbar^2 - 115/16*xbar - 115/16, 1/16*a*xbar^3
+ 13/16*a*xbar^2 + 23/16*a*xbar + 299/16*a), 2, 5/16*xbar^3 - 33/16*xbar^2
+ 115/16*xbar - 743/16)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 671:
sage: S.S_class_group([K.ideal(a)])
Expected:
[((3/8*xbar^2 + 93/8,
-3/8*a*xbar^2 - 93/8*a,
3/16*xbar^3 - 3/16*xbar^2 + 93/16*xbar - 93/16,
(-1/16*a + 1/8)*xbar^3 + (-1/16*a + 1/8)*xbar^2 + (-31/16*a +
31/8)*xbar - 31/16*a + 31/8),
6,
(1/16*a - 101/16)*xbar^3 + (187/16*a + 65/16)*xbar^2 + (31/16*a -
3131/16)*xbar + 5797/16*a + 2031/16),
((-1/4*xbar^2 - 23/4,
(1/8*a - 1/8)*xbar^2 + 23/8*a - 23/8,
-1/16*xbar^3 + 1/16*xbar^2 - 23/16*xbar + 23/16,
1/16*a*xbar^3 - 1/16*a*xbar^2 + 23/16*a*xbar - 23/16*a),
2,
-1/8*xbar^2 - 15/8)]
Got:
[((3/8*xbar^2 + 93/8, -3/8*a*xbar^2 - 93/8*a, 3/16*xbar^3 -
3/16*xbar^2 + 93/16*xbar - 93/16, (-1/16*a + 1/8)*xbar^3 + (-1/16*a +
1/8)*xbar^2 + (-31/16*a + 31/8)*xbar - 31/16*a + 31/8), 6, (-1/16*a +
101/16)*xbar^3 + (-187/16*a - 69/16)*xbar^2 + (-31/16*a + 3131/16)*xbar -
5797/16*a - 2123/16), ((-1/4*xbar^2 - 23/4, (1/8*a - 1/8)*xbar^2 + 23/8*a
- 23/8, -1/16*xbar^3 - 3/16*xbar^2 - 23/16*xbar - 69/16, 1/16*a*xbar^3 +
(1/16*a - 1/8)*xbar^2 + 23/16*a*xbar + 23/16*a - 23/8), 2, -1/8*xbar^2 -
15/8)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 760:
sage: S.class_group()
Expected:
[((1/12*xbar^2 + 47/12,
1/48*xbar^3 - 1/48*xbar^2 + 47/48*xbar - 47/48),
3,
-1/48*xbar^3 - 5/48*xbar^2 - 47/48*xbar - 187/48),
((-1/12*xbar^2 - 23/12,
-1/48*xbar^3 - 1/48*xbar^2 - 23/48*xbar - 23/48),
5,
-1/48*xbar^3 - 7/48*xbar^2 - 23/48*xbar - 113/48)]
Got:
[((1/12*xbar^2 + 47/12, 1/48*xbar^3 - 1/48*xbar^2 + 47/48*xbar -
47/48), 3, -1/48*xbar^3 - 5/48*xbar^2 - 47/48*xbar - 187/48),
((-1/12*xbar^2 - 23/12, -1/48*xbar^3 - 1/16*xbar^2 - 23/48*xbar - 23/16),
5, -1/48*xbar^3 + 11/48*xbar^2 - 23/48*xbar + 301/48)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 776:
sage: S.class_group()
Expected:
[((3/8*xbar^2 + 93/8,
-3/8*a*xbar^2 - 93/8*a, 3/16*xbar^3 - 3/16*xbar^2 + 93/16*xbar -
93/16,
(-1/16*a + 1/8)*xbar^3 + (-1/16*a + 1/8)*xbar^2 + (-31/16*a +
31/8)*xbar - 31/16*a + 31/8),
6,
(1/16*a - 101/16)*xbar^3 + (187/16*a + 65/16)*xbar^2 + (31/16*a -
3131/16)*xbar + 5797/16*a + 2031/16),
((-1/4*xbar^2 - 23/4,
(1/8*a - 1/8)*xbar^2 + 23/8*a - 23/8,
-1/16*xbar^3 + 1/16*xbar^2 - 23/16*xbar + 23/16,
1/16*a*xbar^3 - 1/16*a*xbar^2 + 23/16*a*xbar - 23/16*a),
6,
1/16*xbar^3 + 1/16*xbar^2 + 23/16*xbar + 39/16),
((-5/4*xbar^2 - 115/4,
5/4*a*xbar^2 + 115/4*a,
-5/16*xbar^3 - 5/16*xbar^2 - 115/16*xbar - 115/16,
1/16*a*xbar^3 + 13/16*a*xbar^2 + 23/16*a*xbar + 299/16*a),
2,
5/16*xbar^3 - 33/16*xbar^2 + 115/16*xbar - 743/16)]
Got:
[((3/8*xbar^2 + 93/8, -3/8*a*xbar^2 - 93/8*a, 3/16*xbar^3 -
3/16*xbar^2 + 93/16*xbar - 93/16, (-1/16*a + 1/8)*xbar^3 + (-1/16*a +
1/8)*xbar^2 + (-31/16*a + 31/8)*xbar - 31/16*a + 31/8), 6, (1/16*a -
101/16)*xbar^3 + (187/16*a + 65/16)*xbar^2 + (31/16*a - 3131/16)*xbar +
5797/16*a + 2031/16), ((-1/4*xbar^2 - 23/4, (1/8*a - 1/8)*xbar^2 + 23/8*a
- 23/8, -1/16*xbar^3 - 3/16*xbar^2 - 23/16*xbar - 69/16, 1/16*a*xbar^3 +
(1/16*a - 1/8)*xbar^2 + 23/16*a*xbar + 23/16*a - 23/8), 6, 1/16*xbar^3 +
1/16*xbar^2 + 23/16*xbar + 39/16), ((-5/4*xbar^2 - 115/4, 5/4*a*xbar^2 +
115/4*a, -5/16*xbar^3 - 5/16*xbar^2 - 115/16*xbar - 115/16, 1/16*a*xbar^3
+ 13/16*a*xbar^2 + 23/16*a*xbar + 299/16*a), 2, 5/16*xbar^3 - 33/16*xbar^2
+ 115/16*xbar - 743/16)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 846:
sage: L.S_units([])
Expected:
[(-1/2*a + 1/2, 6),
((1/3*a - 1)*b^2 + 4/3*a*b + 5/6*a + 7/2, +Infinity),
((1/3*a + 1)*b^2 + (-2/3*a - 2)*b + 5/6*a + 7/2, +Infinity)]
Got:
[(-1/2*a + 1/2, 6), ((-1/3*a - 1)*b^2 + (2/3*a - 2)*b + 13/6*a + 1/2,
+Infinity), ((-1/3*a + 1)*b^2 - 4/3*a*b - 4/3*a - 3, +Infinity)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 850:
sage: L.S_units([K.ideal(1/2*a - 3/2)])
Expected:
[((-1/6*a - 1/2)*b^2 + (1/3*a + 1)*b - 2/3*a - 2, +Infinity),
(-1/2*a + 1/2, 6),
((-1/3*a + 1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2, +Infinity),
((-1/3*a - 1)*b^2 + (2/3*a - 2)*b + 13/6*a + 1/2, +Infinity)]
Got:
[((1/6*a - 1/2)*b^2 + (-1/3*a + 1)*b + 2/3*a - 2, +Infinity), (-1/2*a
+ 1/2, 6), ((-1/3*a + 1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2, +Infinity),
((1/3*a + 1)*b^2 + (-2/3*a - 2)*b + 5/6*a + 7/2, +Infinity)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 855:
sage: L.S_units([K.ideal(2)])
Expected:
[((1/6*a - 1/2)*b^2 + (-1/3*a + 1)*b + 1/6*a - 3/2, +Infinity),
((1/6*a + 1/2)*b^2 + (-1/3*a - 1)*b + 1/6*a + 3/2, +Infinity),
((-1/2*a + 1/2)*b^2 + (a - 1)*b - 3/2*a + 3/2, +Infinity),
(-1/2*a + 1/2, 6),
((-1/3*a + 1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2, +Infinity),
((-1/3*a + 1)*b^2 - 4/3*a*b - 4/3*a - 3, +Infinity)]
Got:
[((1/2*a + 1/2)*b^2 + (-a - 1)*b + 3/2*a + 3/2, +Infinity), ((1/6*a +
1/2)*b^2 + (-1/3*a - 1)*b + 1/6*a + 3/2, +Infinity), ((1/6*a + 1/2)*b^2 +
(-1/3*a - 1)*b + 2/3*a + 1, +Infinity), (-1/2*a + 1/2, 6), ((-1/3*a +
1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2, +Infinity), ((-1/3*a + 1)*b^2 -
4/3*a*b - 4/3*a - 3, +Infinity)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 910:
sage: L.units()
Expected:
[(-1/2*a + 1/2, 6),
((1/3*a - 1)*b^2 + 4/3*a*b + 5/6*a + 7/2, +Infinity),
((-1/3*a + 1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2, +Infinity)]
Got:
[(-1/2*a + 1/2, 6), ((-1/3*a - 1)*b^2 + (2/3*a - 2)*b + 13/6*a + 1/2,
+Infinity), ((-1/3*a + 1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2, +Infinity)]
**********************************************************************
File
"/home/jec/sage-4.3.1.alpha1/devel/sage-7703/sage/rings/polynomial/polynomial_quotient_ring.py",
line 917:
sage: L.unit_group().gens()
Expected:
[-1/2*a + 1/2,
(1/3*a - 1)*b^2 + 4/3*a*b + 5/6*a + 7/2,
(-1/3*a + 1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2]
Got:
[-1/2*a + 1/2, (-1/3*a - 1)*b^2 + (2/3*a - 2)*b + 13/6*a + 1/2,
(-1/3*a + 1)*b^2 + (2/3*a - 2)*b - 5/6*a + 7/2]
**********************************************************************
4 items had failures:
2 of 24 in __main__.example_18
2 of 26 in __main__.example_19
3 of 19 in __main__.example_20
2 of 21 in __main__.example_21
***Test Failed*** 9 failures.
For whitespace errors, see the file
/home/jec/.sage//tmp/.doctest_polynomial_quotient_ring.py
[15.9 s]
}}}
Everything else is fine.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7703#comment:18>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.