Galois

Description

Dieses Modul stellt die Funktionalitaet zur Berechnung von Galoisgruppen. Dazu bestimmen wir zu einem gegebenen normierten separablen Polynom f zunaechst die Nullstellen, bestimmen dann ein primitives Element und nutzen schliesslich die Bijektion der galoissch Konjugierten des primitiven Elements mit den Elementen der Galoisgruppe aus.

Synopsis

Documentation

linearResolventPoly Rational → R [Integer]

Berechnet eine lineare galoissche Resolvente eines normierten separablen Polynoms ueber eine Abschaetzung, in der die Nullstellen des Polynoms eingehen.

Wird von den anderen Funktionen dieses Moduls nicht benutzt.

Siehe: Algebra I, Uebungsblatt 11, Aufgabe 12

galoisGroupPoly Rational → GaloisInfo Rational (Alg QinC)

Bestimmt die Galoisgruppe eines normierten separablen Polynoms.

primitiveElement

Arguments

Alg QinC

x

Alg QinC

y

→ (Integer, Alg QinC, Poly Rational, Poly Rational)

(lambda, t, hX, hY), mit t = x + lambda*y, hX(t) = x und hY(t) = y.

Berechnet zu zwei gegebenen algebraischen Zahlen x und y ein primitives Element t in der Form t = x + lambda*y fuer eine ganze Zahl lambda.

pseudoResolvent

Arguments

∷ [Alg QinC]

x_1, ..., x_n

→ ([Integer], Alg QinC, [Poly Rational])

(lambdas,t,hs)

Berechnet zu einer gegebenen Liste von algebraischen Zahlen x_1,...,x_n ein primitives Element t in der Form t = lambda_1 x_1 + ... + lambda_n x_n und gibt ausserdem Zeugen der Rationalitaet der x_i in t zurueck, also Polynome hs mit eval t (hs!!i) == x_i.

(Es wird nicht garantiert, dass auf das zurueckgegebene primitive Element schon simplifyAlg aufgerufen wurde.)

Der Name pseudoResolvent erklaert sich dadurch, als dass im Spezifall, dass die x_i die Nullstellen eines separablen Polynoms sind, zumindest die Zahlen sigma * t, wobei sigma die entsprechende Galoisgruppe durchlaeuft, paarweise verschieden sind.

check_Galois ∷ IO ()

demo ∷ IO ()