Polynom-0.1: A commutative algebra packageContentsIndex
Algebra.GroebnerBasis
Synopsis
newtype GroebnerIdeal r m = MakeGroebnerIdeal [MonoidRing r m]
syzygy_polynomial :: (Fractional r, GroebnerMonoid m) => MonoidRing r m -> MonoidRing r m -> MonoidRing r m
simple_division :: (Fractional r, GroebnerMonoid m) => (MonoidRing r m, m) -> (MonoidRing r m, m) -> MonoidRing r m
multiv_division :: (Fractional r, GroebnerMonoid m) => (MonoidRing r m, m) -> [(MonoidRing r m, m)] -> MonoidRing r m
normal_form :: (Fractional r, GroebnerMonoid m) => (MonoidRing r m, m) -> [(MonoidRing r m, m)] -> MonoidRing r m
reduced_syzygy_pol :: (Fractional r, GroebnerMonoid m) => MonoidRing r m -> MonoidRing r m -> [(MonoidRing r m, m)] -> MonoidRing r m
reduce_groebner_basis :: (Fractional r, GroebnerMonoid m) => GroebnerIdeal r m -> GroebnerIdeal r m
cleanup_nonminimal :: (Fractional r, GroebnerMonoid m) => [(MonoidRing r m, m)] -> [(MonoidRing r m, MonoidRing r m)] -> ([(MonoidRing r m, m)], [(MonoidRing r m, MonoidRing r m)])
difficulty :: (Num r, GroebnerMonoid m) => MonoidRing r m -> MonoidRing r m -> m
process_syzygies :: (Fractional r, GroebnerMonoid m) => [(MonoidRing r m, m)] -> [(MonoidRing r m, MonoidRing r m)] -> [(MonoidRing r m, m)]
groebnerize :: (Fractional r, GroebnerMonoid m) => Ideal (MonoidRing r m) -> GroebnerIdeal r m
check_groebnerness :: (Fractional r, GroebnerMonoid m) => GroebnerIdeal r m -> Maybe (GroebnerIdeal r m)
Documentation
newtype GroebnerIdeal r m
Constructors
MakeGroebnerIdeal [MonoidRing r m]
show/hide Instances
syzygy_polynomial :: (Fractional r, GroebnerMonoid m) => MonoidRing r m -> MonoidRing r m -> MonoidRing r m
This computes the S-polynomial of two polynomials.
simple_division :: (Fractional r, GroebnerMonoid m) => (MonoidRing r m, m) -> (MonoidRing r m, m) -> MonoidRing r m
simple_division tries to divide the leading term.
multiv_division :: (Fractional r, GroebnerMonoid m) => (MonoidRing r m, m) -> [(MonoidRing r m, m)] -> MonoidRing r m
normal_form :: (Fractional r, GroebnerMonoid m) => (MonoidRing r m, m) -> [(MonoidRing r m, m)] -> MonoidRing r m
reduced_syzygy_pol :: (Fractional r, GroebnerMonoid m) => MonoidRing r m -> MonoidRing r m -> [(MonoidRing r m, m)] -> MonoidRing r m
reduce_groebner_basis :: (Fractional r, GroebnerMonoid m) => GroebnerIdeal r m -> GroebnerIdeal r m
cleanup_nonminimal :: (Fractional r, GroebnerMonoid m) => [(MonoidRing r m, m)] -> [(MonoidRing r m, MonoidRing r m)] -> ([(MonoidRing r m, m)], [(MonoidRing r m, MonoidRing r m)])
difficulty :: (Num r, GroebnerMonoid m) => MonoidRing r m -> MonoidRing r m -> m
process_syzygies :: (Fractional r, GroebnerMonoid m) => [(MonoidRing r m, m)] -> [(MonoidRing r m, MonoidRing r m)] -> [(MonoidRing r m, m)]
The process_syzygies function takes a list of generators and a list of pairs whose syzygies should be added to the Grbner basis. Syzygies are supposed to come ordered by diffficulty.
groebnerize :: (Fractional r, GroebnerMonoid m) => Ideal (MonoidRing r m) -> GroebnerIdeal r m
check_groebnerness :: (Fractional r, GroebnerMonoid m) => GroebnerIdeal r m -> Maybe (GroebnerIdeal r m)
Produced by Haddock version 2.3.0