Factoring

Description

Dieses Modul stellt Funktionen zur Faktorisierung von rationalen Polynomen zur Verfuegung; das sind hauptsaechlich isIrreducible und irreducibleFactors.

Synopsis

Documentation

isIrreducible

Arguments

Poly Rational

f

→ Maybe (Poly Rational, Poly Rational)

entweder Nothing (irreduzibel) oder Just (g,h) mit f = gh und deg f, deg g >= 1.

Entscheidet zu einem gegebenen Polynom (welches mindestens Grad 1 haben, sonst aber keine Zusatzvoraussetzungen erfuellen muss), ob es irreduzibel ueber den rationalen Zahlen ist, und extrahiert im reduziblen Fall zwei Faktoren.

isIrreducible'Poly Rational → Maybe (Poly Rational, Poly Rational)

isComposedPolyPoly Rational → Maybe (Poly Rational, Poly Rational)

Prueft, ob ein uebergebenes nichtkonstantes Polynom f von der Form f = g(X^n) fuer ein n >= 2 ist. Wenn nein, wird Nothing zurueckgegeben; sonst Just (g, iX^n).

props_isComposedPoly ∷ [Property]

irreducibleFactorsPoly Rational → [Poly Rational]

Bestimmt die irreduziblen Faktoren eines nichtkonstanten Polynoms. Es gilt folgende Spezifikation:

 product fs == f && all (isNothing . isIrreducible) fs
     where fs = irreducibleFactors f

minimalPolynomialAlg QinCNormedPoly Rational

Bestimmt das Minimalpolynom einer algebraischen Zahl.

simplifyAlgAlg QinCAlg QinC

Jedes Element vom Typ Alg QinC fuehrt ja eine seine Algebraizitaet bezeugende Polynomgleichung mit. Diese Funktion ersetzt diese durch das Minimalpolynom, ist sonst aber semantisch nicht von der Identitaetsfunktion zu unterscheiden.

Aus Effizienzgruenden ist es manchmal ratsam, an einigen ausgewaehlten Stellen simplifyAlg einzufuegen.

props_simplifyAlg ∷ [Property]

check_Factoring ∷ IO ()

demo ∷ IO ()