Magma

MAGMA Computational Algebra System

Magma
 •  How to get it
 •  Download
 •  Online Demo
 
Resources
 •  Online Help
 •  Discovering Mathematics with Magma
 •  Citations
 •  How to cite Magma
 •  Links
 •  Contact us
 
[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Construction of Reflections and Pseudoreflections

Let k be a field of odd characteristic. Let X and Y be vector spaces over k with bilinear pairing < , >:X x Y -> k that identifies Y with the dual of X. Take α∈X and αstar∈Y such that < α, αstar >=2. The pseudoreflection in αand αstar of order m is the linear map sα, αstar, m:X -> X defined by

x sα, αstar, m = v - frac12(1 - ζm) < x, αstar >α.

where ζm= RootOfUnity(m, k). Of course, k must contain a primitive mth root of unity for order m pseudoreflections to exist. We call αthe root and αstar the coroot of the pseudoreflection. Note that λαand αstar/λare also a root and coroot of the same reflection, for every scalar λ.

When m=2, we call sα, αstar=sα, αstar, m a reflection. Note that this agrees with the definition of a reflection given in Chapters ROOT SYSTEMS and ROOT DATA.

In magma, we take X=Y to be a row space, with the bilinear pairing given by the standard inner product < x, y > = xyT.

Reflection(r, c) : ModTupRngElt, ModTupRngElt -> AlgMatElt
The reflection matrix with root vector r and coroot vector 2c/< r, c >.
IsReflection(R) : Mtrx -> BoolElt, ModTupRngElt, ModTupRngElt
Returns true if, and only if, the matrix R is a reflection. If R is a reflection, a root and a coroot are also returned.

Example GrpRfl_Reflections (H80E1)

> V := VectorSpace(Rationals(), 2);                                          
> A := Reflection(V![1,0], V![1,0]);
> A;
[-1  0]
[ 0  1]
> IsReflection(A);
true (1 0)
(2 0)

Pseudoreflection(r, c, o) : ModTupRngElt, ModTupRngElt, RngIntElt -> AlgMatElt
The pseudoreflection matrix with root vector r, coroot vector 2c/< r, c >, and order o. With r and c given as vectors and o as an integer.
IsPseudoreflection(R) : Mtrx -> BoolElt, ModTupRngElt, ModTupRngElt, RngIntElt
Returns true if, and only if, the matrix R is a pseudoreflection. If R is a pseudoreflection, a root, coroot and order are also returned.

Example GrpRfl_Pseudoreflections (H80E2)

> V := VectorSpace(CyclotomicField(7), 2);
> a := V![1,1];
> A := Pseudoreflection(a, a, 7);
> A;
[1/2*(zeta_7 + 1) 1/2*(zeta_7 - 1)]
[1/2*(zeta_7 - 1) 1/2*(zeta_7 + 1)]
> IsPseudoreflection(A);
true 7 (1 -1)
(1 -1)

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]
                       

Version: V2.16 of Mon Nov 16 15:04:45 EST 2009

Valid HTML 4.01! Valid CSS!