Copyright | (c) Masahiro Sakai 2012-2013 |
---|---|
License | BSD-style |
Maintainer | masahiro.sakai@gmail.com |
Stability | provisional |
Portability | non-portable (ScopedTypeVariables, BangPatterns, TypeSynonymInstances, FlexibleInstances) |
Safe Haskell | None |
Language | Haskell2010 |
Factoriation of polynomial over a finite field.
References:
- http://en.wikipedia.org/wiki/Factorization_of_polynomials_over_a_finite_field_and_irreducibility_tests
- http://en.wikipedia.org/wiki/Berlekamp%27s_algorithm
- Martin Kreuzer and Lorenzo Robbiano. Computational Commutative Algebra 1. Springer Verlag, 2000.
Synopsis
- factor :: forall k. (Ord k, FiniteField k) => UPolynomial k -> [(UPolynomial k, Integer)]
- sqfree :: forall k. (Eq k, FiniteField k) => UPolynomial k -> [(UPolynomial k, Integer)]
- berlekamp :: forall k. (Eq k, Ord k, FiniteField k) => UPolynomial k -> [UPolynomial k]
- basisOfBerlekampSubalgebra :: forall k. (Ord k, FiniteField k) => UPolynomial k -> [UPolynomial k]
Documentation
factor :: forall k. (Ord k, FiniteField k) => UPolynomial k -> [(UPolynomial k, Integer)] Source #
sqfree :: forall k. (Eq k, FiniteField k) => UPolynomial k -> [(UPolynomial k, Integer)] Source #
Square-free decomposition of univariate polynomials over a finite field.
berlekamp :: forall k. (Eq k, Ord k, FiniteField k) => UPolynomial k -> [UPolynomial k] Source #
Berlekamp algorithm for polynomial factorization.
Input polynomial is assumed to be monic and square-free.
basisOfBerlekampSubalgebra :: forall k. (Ord k, FiniteField k) => UPolynomial k -> [UPolynomial k] Source #
Orphan instances
KnownNat p => SQFree (UPolynomial (PrimeField p)) Source # | |
sqfree :: UPolynomial (PrimeField p) -> [(UPolynomial (PrimeField p), Integer)] Source # | |
KnownNat p => Factor (UPolynomial (PrimeField p)) Source # | |
factor :: UPolynomial (PrimeField p) -> [(UPolynomial (PrimeField p), Integer)] Source # |