singular-factory-0.1: Multivariate polynomial factorization via bindings to Singular-factory

Safe HaskellNone
LanguageHaskell2010

Math.Singular.Factory.Counting

Contents

Description

Brute-force counting of solutions of polynomial equations over (small) finite field

Synopsis

Hypersurfaces

countAffineHypersurface :: FiniteDomain domain => Int -> Polynomial vars domain -> Int Source #

Count points of a hypersurface in an affine space over a finite field.

The Int input is the number of variables (that is, the dimension).

countProjectiveHypersurface :: FiniteDomain domain => Int -> Polynomial vars domain -> Int Source #

Count points of a hypersurface in an projective space over a finite field.

The Int input is the number of variables (that is, the dimension plus one)!

NOTE: We assume that the input is a homogeneous polynomial, but this is not checked!!

Systems of equations (varieties)

countAffineSolutions :: FiniteDomain domain => Int -> [Polynomial vars domain] -> Int Source #

Count solutions of a system of polynomial equations in an affine space over a finite field.

The Int input is the number of variables (that is, the dimension).

countProjectiveSolutions :: FiniteDomain domain => Int -> [Polynomial vars domain] -> Int Source #

Count solutions of a system of polynomial equations in a projective space over a finite field.

The Int input is the number of variables (that is, the dimension plus one)!

NOTE: We assume that the input is a list of homogeneous polynomial, but this is not checked!!

Misc helpers

projEnumerateDomain :: FiniteDomain domain => Bool -> [domain] Source #

if the input is False, return [0,1], otherwise all elements of the domain