#7703: S-units, S-class groups, and selmer groups of etale algebras
-----------------------------+----------------------------------------------
Reporter: rlm | Owner: was
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.3.1
Component: number theory | Keywords:
Work_issues: | Author: Robert Miller
Upstream: N/A | Reviewer:
Merged: |
-----------------------------+----------------------------------------------
Comment(by cremona):
Partial Review (The dependencies need to have positive reviews at least
first, I think, so I have looked at the code but not yet done any testing
which I am looking forward to doing).
This looks extremely useful, both for rlm's motivating application
(m-descent on elliptic curves over number fields, something I have a great
deal of interest in) and others (for example, finding all elliptic curves
defined over a number field K with good reduction outside S). I
implemented something similar in Magma for m=4 and m=6 (and also for m
prime just for practice, though Magma's pSelmerGroup code by Claus Fieker
is quite sophisticated.
The hard part of this is really invisible in the pari code. That is not a
criticism, just a clue for anyone else looking into this and working out
where the S-class group and S-units are really found! And working out how
to interface with that successfully is non-trivial, so hats off to rlm for
doing this.
It will be even better when Sage-s abelian groups are properly usable for
the output from these functions (and for unit groups and class groups more
generally, and lots of other stuff). When that day comes we'll want to
add functionality such as: if I give you an element of {{{K^*/(K^*)^m}}}
representing an element of K(S,m), can you give me the corresponding
abstract group element of K(S,M)? (It is setting things up so that that
is efficient which makes Claus's Magma code so much more complicated. I'm
sure that is doable, since Claus told me that the hardest part is
expressing a unit in terms of fundamental units and we already have that
in Sage, from wrapping the appropriate pari function).
Some minor points:
1. Line 1010 says
{{{
for g in D.ideal([a for a in p.gens()]).gens(): # this line looks a bit
silly, due to inconsistency over QQ - see # 7596
}}}
Could you not replace [a for a in p.gens()] by p.gens() ?
2. Lines 1087-8 (and some similar places):
{{{
prod_ideal_gen = []
for j in xrange(i):
prod_ideal_gen.append(0)
}}}
could presumable be replaced by prod_ideal = [0]*i ?
These are trivialities. Now let's get the dependencies sorted!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7703#comment:10>
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.