GaloisCyc( cyc, k ) O
GaloisCyc( list, k ) O
For a cyclotomic cyc and an integer k,
GaloisCyc returns the cyclotomic obtained by raising the roots of unity
in the Zumbroich basis representation of cyc to the k-th power.
If k is coprime to the integer n,
GaloisCyc( ., k ) acts as a Galois automorphism of the n-th
cyclotomic field (see Galois Groups of Abelian Number Fields);
to get the Galois automorphisms themselves,
use GaloisGroup (see GaloisGroup.field).
The complex conjugate of cyc is GaloisCyc( cyc, -1 ),
which can also be computed using ComplexConjugate
(see ComplexConjugate).
For a list or matrix list of cyclotomics, GaloisCyc returns the list
obtained by applying GaloisCyc to the entries of list.
gap> GaloisCyc( E(5) + E(5)^4, 2 ); E(5)^2+E(5)^3 gap> GaloisCyc( E(5), -1 ); # the complex conjugate E(5)^4 gap> GaloisCyc( E(5) + E(5)^4, -1 ); # this value is real E(5)+E(5)^4 gap> GaloisCyc( E(15) + E(15)^4, 3 ); E(5)+E(5)^4 gap> ComplexConjugate( E(7) ); E(7)^6
StarCyc( cyc ) F
If the cyclotomic cyc is an irrational element of a quadratic
extension of the rationals then StarCyc returns the unique Galois
conjugate of cyc that is different from cyc,
otherwise fail is returned.
In the first case, the return value is often called cyc *
(see Printing Character Tables).
gap> StarCyc( EB(5) ); StarCyc( E(5) ); E(5)^2+E(5)^3 fail
Quadratic( cyc ) F
Let cyc be a cyclotomic integer that lies in a quadratic extension
field of the rationals.
Then we have cyc = (a + b Ön) / d for integers a, b, n,
d, such that d is either 1 or 2.
In this case, Quadratic returns a record with the components a, b,
root, d, ATLAS, and display;
the values of the first four are a, b, n, and d,
the ATLAS value is a (not necessarily shortest) representation of cyc
in terms of the ATLAS irrationalities b|n|, i|n|, r|n|,
and the display value is a string that expresses cyc in
GAP notation, corresponding to the value of the ATLAS component.
If cyc is not a cyclotomic integer or does not lie in a quadratic
extension field of the rationals then fail is returned.
If the denominator d is 2 then necessarily n is congruent to 1
modulo 4, and rn, in are not possible;
we have cyc = x + y * EB( root ) with y = b, x = ( a + b ) / 2.
If d = 1, we have the possibilities
i|n| for n < -1, a + b * i for n = -1, a + b * rn
for n > 0. Furthermore if n is congruent to 1 modulo 4, also
cyc = (a+b) + 2 * b * b|n| is possible; the shortest string
of these is taken as the value for the component ATLAS.
gap> Quadratic( EB(5) ); Quadratic( EB(27) ); rec( a := -1, b := 1, root := 5, d := 2, ATLAS := "b5", display := "(-1+ER(5))/2" ) rec( a := -1, b := 3, root := -3, d := 2, ATLAS := "1+3b3", display := "(-1+3*ER(-3))/2" ) gap> Quadratic(0); Quadratic( E(5) ); rec( a := 0, b := 0, root := 1, d := 1, ATLAS := "0", display := "0" ) fail
GaloisMat( mat ) A
Let mat be a matrix of cyclotomics.
GaloisMat calculates the complete orbits under the operation of
the Galois group of the (irrational) entries of mat,
and the permutations of rows corresponding to the generators of the
Galois group.
If some rows of mat are identical, only the first one is considered for the permutations, and a warning will be printed.
GaloisMat returns a record with the components mat, galoisfams,
and generators.
mat:mat have
identical rows.
galoisfams:mat component,
its entries are either 1, 0, -1, or lists.
galoisfams[i] = 1 means that mat[i] consists of rationals,
i.e. [ mat[i] ] forms an orbit;
galoisfams[i] = -1 means that mat[i] contains unknowns
(see Chapter Unknowns);
in this case [ mat[i] ] is regarded as an orbit, too,
even if mat[i] contains irrational entries;
if galoisfams[i] = [ l1, l2 ] is a list then
mat[i] is the first element of its orbit in mat,
l1 is the list of positions of rows that form the orbit,
and l2 is the list of corresponding Galois automorphisms
(as exponents, not as functions),
so we have mat[ l1[j] ][k] = GaloisCyc( mat[i][k], l2[j] );
galoisfams[i] = 0 means that mat[i] is an element of a
nontrivial orbit but not the first element of it.
generators:mat.
gap> GaloisMat( [ [ E(3), E(4) ] ] );
rec(
mat := [ [ E(3), E(4) ], [ E(3), -E(4) ], [ E(3)^2, E(4) ],
[ E(3)^2, -E(4) ] ],
galoisfams := [ [ [ 1, 2, 3, 4 ], [ 1, 7, 5, 11 ] ], 0, 0, 0 ],
generators := [ (1,2)(3,4), (1,3)(2,4) ] )
gap> GaloisMat( [ [ 1, 1, 1 ], [ 1, E(3), E(3)^2 ] ] );
rec(
mat := [ [ 1, 1, 1 ], [ 1, E(3), E(3)^2 ], [ 1, E(3)^2, E(3) ] ],
galoisfams := [ 1, [ [ 2, 3 ], [ 1, 2 ] ], 0 ],
generators := [ (2,3) ] )
RationalizedMat( mat ) A
returns the list of rationalized rows of mat, which must be a matrix of cyclotomics. This is the set of sums over orbits under the action of the Galois group of the entries of mat (see GaloisMat), so the operation may be viewed as a kind of trace on the rows.
Note that no two rows of mat should be equal.
gap> mat:=List(Irr(CharacterTable( "A5" )),ValuesOfClassFunction); [ [ 1, 1, 1, 1, 1 ], [ 3, -1, 0, -E(5)-E(5)^4, -E(5)^2-E(5)^3 ], [ 3, -1, 0, -E(5)^2-E(5)^3, -E(5)-E(5)^4 ], [ 4, 0, 1, -1, -1 ], [ 5, 1, -1, 0, 0 ] ] gap> RationalizedMat( mat ); [ [ 1, 1, 1, 1, 1 ], [ 6, -2, 0, 1, 1 ], [ 4, 0, 1, -1, -1 ], [ 5, 1, -1, 0, 0 ] ]
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual