Dieses Modul stellt Funktionen zur Faktorisierung von rationalen Polynomen
zur Verfuegung; das sind hauptsaechlich isIrreducible
und
irreducibleFactors
.
- isIrreducible ∷ Poly Rational → Maybe (Poly Rational, Poly Rational)
- isIrreducible' ∷ Poly Rational → Maybe (Poly Rational, Poly Rational)
- isComposedPoly ∷ Poly Rational → Maybe (Poly Rational, Poly Rational)
- props_isComposedPoly ∷ [Property]
- irreducibleFactors ∷ Poly Rational → [Poly Rational]
- props_irreducibleFactors ∷ [Property]
- minimalPolynomial ∷ Alg QinC → NormedPoly Rational
- simplifyAlg ∷ Alg QinC → Alg QinC
- props_simplifyAlg ∷ [Property]
- check_Factoring ∷ IO ()
- demo ∷ IO ()
Documentation
∷ 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)
isComposedPoly ∷ Poly 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]
irreducibleFactors ∷ Poly 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
props_irreducibleFactors ∷ [Property]
minimalPolynomial ∷ Alg QinC → NormedPoly Rational
Bestimmt das Minimalpolynom einer algebraischen Zahl.
simplifyAlg ∷ Alg QinC → Alg 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 ()