[Next] [Prev] [_____] [Left] [Up] [Index] [Root]
Element Operations
Element Operations
Subsections
Parent and Category
Parent(r) : FldCycElt -> FldCyc
Category(r) : FldCycElt -> Cat
Arithmetic
+ a : FldCycElt -> FldCycElt
- a : FldCycElt -> FldCycElt
a + b : FldCycElt, FldCycElt -> FldCycElt
a - b : FldCycElt, FldCycElt -> FldCycElt
a * b : FldCycElt, FldCycElt -> FldCycElt
a / b : FldCycElt, FldCycElt -> FldCycElt
a ^ k : FldCycElt, RngIntElt -> FldCycElt
a +:= b : FldCycElt, FldCycElt -> FldCycElt
a -:= b : FldCycElt, FldCycElt -> FldCycElt
a *:= b : FldCycElt, FldCycElt -> FldCycElt
Equality and Membership
a eq b : FldCycElt, FldCycElt -> BoolElt
a ne b : FldCycElt, FldCycElt -> BoolElt
a in R : FldCycElt, Rng -> BoolElt
a notin R : FldCycElt, Rng -> BoolElt
Predicates on Ring Elements
IsZero(a) : FldCycElt -> BoolElt
IsOne(a) : FldCycElt -> BoolElt
IsMinusOne(a) : FldCycElt -> BoolElt
IsNilpotent(x) : FldCycElt -> BoolElt
IsIdempotent(x) : FldCycElt -> BoolElt
IsUnit(a) : FldCycElt -> BoolElt
IsZeroDivisor(x) : FldCycElt -> BoolElt
IsRegular(x) : FldCycElt -> BoolElt
IsIrreducible(x) : FldCycElt -> BoolElt
IsPrime(x) : FldCycElt -> BoolElt
Conjugates, Minimal Polynomial
ComplexConjugate(a) : FldCycElt -> FldQuadElt
The complex conjugate of cyclotomic field element a.
Conjugate(a, n) : FldCycElt, RngIntElt -> FldCycElt
The n-th conjugate of the element a in Q(zeta_m) (for m and n coprime), obtained by applying the field automorphism zeta_m |-> zeta_m^n.
MinimalPolynomial(a) : FldCycElt -> AlgPolElt
The minimal polynomial of the cyclotomic field element a. The resulting
(monic) polynomial will have coefficients in Q (which
may all be integers).
Norm(a) : FldCycElt -> FldRatElt
The absolute norm of a cyclotomic field element a (as an element
of the rational field), which is the product of all its conjugates.
Trace(a) : FldCycElt -> FldRatElt
The trace a of a cyclotomic field element a (as an element
of the rational field), which is the sum of all its conjugates.
Example FldCyc_GaussianPeriods (H35E1)
The following lines of code generate a set W of minimal polynomials
for the so-called Gaussian periods
eta_d=sum_(i=0)^((l - 1)/d - 1)zeta_l^(g^((d)i))
where zeta_l is a primitive l-th root of unity (l is prime),
and where g is a primitive root modulo l. These
have the property that they generate a degree d cyclic subfield of
Q(zeta_l). We (arbitrarily) choose l=13 in this example.
> R<x> := PolynomialRing(RationalField());
> W := { R | };
> l := 13;
> L<z> := CyclotomicField(l);
> M := Divisors(l-1);
> g := PrimitiveRoot(l);
> for m in M do
> d := (l-1) div m;
> g_d := g^d;
> w := &+[z^g_d^i : i in [0..m-1] ];
> Include(~W, MinimalPolynomial(w));
> end for;
Here is the same loop in just one line, using sequence reduction:
> W := { R | MinimalPolynomial(&+[z^(g^((l-1) div m))^i : i in [0..m-1] ]) : > m in M };
> W;
{
x^12 + x^11 + x^10 + x^9 + x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 +
x + 1,
x^4 + x^3 + 2*x^2 - 4*x + 3,
x^3 + x^2 - 4*x + 1,
x + 1
x^2 + x - 3,
x^6 + x^5 - 5*x^4 - 4*x^3 + 6*x^2 + 3*x - 1,
}
[Next] [Prev] [_____] [Left] [Up] [Index] [Root]