Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- calcGroebnerBasisAfterHomogenising :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly]
- calcGroebnerBasisAfterHomogenisingHilb :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly]
- calcGroebnerBasisAfterHomogenisingWith :: (Field (Coefficient poly), IsOrderedPolynomial poly) => (forall poly'. (Field (Coefficient poly'), IsOrderedPolynomial poly') => Ideal poly' -> [poly']) -> Ideal poly -> [poly]
- calcHomogeneousGroebnerBasis :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> Maybe [poly]
- unsafeCalcHomogeneousGroebnerBasis :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly]
- hilbertPoincareSeries :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> HPS (Arity poly)
- hilbertPoincareSeriesBy :: forall ord poly. (IsMonomialOrder (Arity poly) ord, Field (Coefficient poly), IsOrderedPolynomial poly) => ord -> Ideal poly -> HPS (Arity poly)
- hilbertPoincareSeriesForMonomials :: forall t n. (KnownNat n, Foldable t) => t (Monomial n) -> HPS n
- data HPS n
- taylorHPS :: HPS n -> [Integer]
- toRationalFunction :: KnownNat n => HPS n -> RationalFunction Rational
- calcHomogeneousGroebnerBasisHilbert :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly]
- calcHomogeneousGroebnerBasisHilbertBy :: (Field (Coefficient poly), IsOrderedPolynomial poly, IsMonomialOrder (Arity poly) ord) => ord -> Ideal poly -> [poly]
- calcHomogeneousGroebnerBasisHilbertWithSeries :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> HPS (Arity poly) -> [poly]
Documentation
calcGroebnerBasisAfterHomogenising :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly] Source #
calcGroebnerBasisAfterHomogenisingHilb :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly] Source #
calcGroebnerBasisAfterHomogenisingWith :: (Field (Coefficient poly), IsOrderedPolynomial poly) => (forall poly'. (Field (Coefficient poly'), IsOrderedPolynomial poly') => Ideal poly' -> [poly']) -> Ideal poly -> [poly] Source #
Calculates Groebner basis once homogenise, apply
,
and then dehomogenise.unsafeCalcHomogeneousGroebnerBasis
calcHomogeneousGroebnerBasis :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> Maybe [poly] Source #
Calculates a Groebner basis of the given homogeneous ideal,
i.e. an ideal generated by homogeneous polynomials.
Returns
if the given ideal is inhomogeneous.Nothing
See also
.unsafeCalcHomogeneousGroebnerBasis
unsafeCalcHomogeneousGroebnerBasis :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly] Source #
Calculates a Groebner basis of the given homogeneous ideal, i.e. an ideal generated by homogeneous polynomials.
N.B. This function DOES NOT check homogeniety of the given ideal.
See also
.calcHomogeneousGroebnerBasis
hilbertPoincareSeries :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> HPS (Arity poly) Source #
A variant of
using hilbertPoincareSeriesBy
ordering.Grevlex
hilbertPoincareSeriesBy :: forall ord poly. (IsMonomialOrder (Arity poly) ord, Field (Coefficient poly), IsOrderedPolynomial poly) => ord -> Ideal poly -> HPS (Arity poly) Source #
Calculates the Hilbert-Poincare serires of a given homogeneous ideal, using the specified monomial ordering.
hilbertPoincareSeriesForMonomials :: forall t n. (KnownNat n, Foldable t) => t (Monomial n) -> HPS n Source #
Instances
RightModule Integer (HPS n) Source # | |
RightModule Natural (HPS n) Source # | |
LeftModule Integer (HPS n) Source # | |
LeftModule Natural (HPS n) Source # | |
LeftModule (Unipol Integer) (HPS n) Source # | |
Eq (HPS a) Source # | |
KnownNat n => Show (HPS n) Source # | |
Monoidal (HPS n) Source # | |
Group (HPS n) Source # | |
Additive (HPS n) Source # | |
Abelian (HPS n) Source # | |
Defined in Algebra.Algorithms.Groebner.Homogeneous |
toRationalFunction :: KnownNat n => HPS n -> RationalFunction Rational Source #
calcHomogeneousGroebnerBasisHilbert :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> [poly] Source #
Calculates homogeneous Groebner basis by Hilbert-driven method, computing Hilbert-Poincare series w.r.t. Grevlex.
calcHomogeneousGroebnerBasisHilbertBy :: (Field (Coefficient poly), IsOrderedPolynomial poly, IsMonomialOrder (Arity poly) ord) => ord -> Ideal poly -> [poly] Source #
First compute Hilbert-Poicare series w.r.t. ord
by
, and then apply hilbertPoincareSeriesBy
.calcHomogeneousGroebnerBasisHilbertWithSeries
calcHomogeneousGroebnerBasisHilbertWithSeries :: (Field (Coefficient poly), IsOrderedPolynomial poly) => Ideal poly -> HPS (Arity poly) -> [poly] Source #