For a number field N I am trying to factor an integral prime p in a 
p-maximal order Op. In the end I would like a map from the quotient of the 
p-maximal order Op/P (for P|p) to some finite field in Sage's standard 
finite field form, but I can't quite figure out how to do it.

Firstly, Sage doesn't have ideals or residue fields of non-maximal orders 
implemented, so I am trying to compute the factorisation of p in Op via the 
PARI/GP interface with sage. I think this can be done, for example, in the 
following way, in which we compute a 7-maximal order of the number field 
defined by x^8+x^3-13*x+26 and compute all primes above 7 in this order.

x=polygen(QQ);

nf=gp.nfinit([x^8 + x^3 - 13*x + 26,[7]]); #Note the [7] at the end, 
indicating a 7-maximal order only.
nf; 

fact=gp.idealprimedec(nf,7); 
fact;

res_field_sizes=[];
for i in fact:
    res_field_sizes.append(i[1]**i[4]);

res_field_sizes;

Now, for each element fact[i] of fact, I would like to compute a 
homomorphism Op->Op/fact[i]->GF(res_field_sizes[i-1],'gen') - note that 
we're using a vector in pari/gp and a list in sage hence fact[i] 
corresponds to res_field_sizes[i-1]. I can't quite get this to work.

I feel like there are two options:

   1. Translate the p-maximal order and prime factorisation back to sage. 
   Take a poly quotient or something. Map this to a finite field.
   2. Keep on working in pari/gp and use, for example, nfeltreducemodpr to 
   reduce elts of Op to the residue field (does this really calculate Op/P if 
   the nf.zk is a non-maximal Z-basis?). Map this to a finite field somehow. 
   Translate back to Sage.

I can't really get either approach to work at the moment. But I wouldn't 
call myself a big Sage or PARI/GP expert, so it is very possible that I am 
missing something.

Any suggestions would be much appreciated!

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to