[back] [prev] [next] [index] [root]
EltRayResidueRingRep
Returns a representive of the class of an algebraic element in the
multiplicative group of the ray residue ring.
Syntax:
r := EltRayResidueRingRep(elt,m0,minf);
| matrix |
r |
|
| algebraic element |
elt |
|
| ideal |
m0 |
|
| list |
minf |
of integers/infinite primes |
See also: EltCon, RayResidueRing, RayResidueRingRepToElt, RayResidueRingCyclicFactors
Description:
Calculates a representative of an algebraic element elt
which is represented by a matrix [a_0, … ,a_k]. If
\eta_0, … ,\eta_k is a basis of the residue ring as given by
RayResidueRingCyclicFactors, elt \equiv
\eta_0^{a_0}cdots\eta_k^{a_k} mod^*
{({\goth{m}}_0 {\goth{m}}_\infty)} holds.
If the residue ring is not known yet, it will be computed.
Infinite primes are represented in the same way as for
RayResidueRing.
This function uses a mixture of the discrete logarithm algorithms
developed in Pau1,Pau2 and CDOants,CDO1.
Example:
kash> O := OrderMaximal(Order(x^2-2*x-5));
Generating polynomial: x^2 - 2*x - 5
Discriminant: 24
kash> m0 := 27*O;;
kash> minf := [2];;
kash> L := RayResidueRingCyclicFactors(m0,minf);
[ [ [-1, -27], 2 ], [ [1344, 388], 3 ], [ [5, 2], 9 ], [ [1612, 444], 9 ],
[ [1, 27], 2 ] ]
kash> elt := L[1][1];
[-1, -27]
kash> EltRayResidueRingRep(elt,m0,minf);
[1 0 0 0 0]
<- back[back] [prev] [next] [index] [root]