Skip to content

An implementation of the Suzuki-Sato algorithm for computing Gröbner systems and comprehensive/parametric Gröbner bases

License

Notifications You must be signed in to change notification settings

0708andreas/ParametricGroebnerBases.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParametricGrobnerBases.jl

Stable Dev Build Status Coverage

This project implements the Suzuki-Sato algorithm for computing Gröbner systems and comprehensive/parametric Gröbner bases. For an introduction to its use, see the documentation. For a mathematical introduction to parametric Gröbner bases, see my masters project.

What is this all about? (for non-mathematicians)

Suppose you have a set of polynomial equations $f_1(x_1, x_2, ..., x_n) = 0, ..., f_k(x_1, x_2, ..., x_n) = 0$. A Gröbner basis is a standard tool, which enables you to answer questions about these equations. One such question could be "if I assume that these equations are satisfied, does it follow that this new equation, $g(x_1, x_2, ..., x_n) = 0$ is satisfied?" Gröbner bases are a well-established tool to answer this question using the so-called multivariate division algorithm, and there are many fast packages that computes Gröbner bases. In Julia, I recommend Groebner.jl.

Sometimes, these equations has parameters, which are not known ahead of time. This throws a wrench in the usual Gröbner basis machinery. However, this package can give you a Gröbner system. A Gröbner system is a set of Gröbner bases, and information telling you which Gröbner basis works for which choices of parameters. This enables you to answer the same kinds of questions as above using the multivariate pseudo-division algorithm, which is also implemented in this package.

What is this all about? (for mathematicians)

Let $I \subset K[U][X]$ be a multivariate polynomial ideal in some variables $X$ and parameters $U$. Let $\sigma : K[U] \to K$ be a ring homomorphism such that $\sigma|_K = id$. We wish to study the behaviour of the reduced Gröbner basis of $\langle \sigma(I) \rangle$ for all ring homs $\sigma$. This package computes a Grôbner system, which is a finite set of triples $(E, N, G)$. These triples satisfy that $\sigma(G)$ is the reduced Gröbner basis of $\langle \sigma(I) \rangle$ if $\sigma(e) = 0$ for all $e \in E$ and $\sigma(n) \neq 0$ for all $n \in N$.

This package also implements pseudo-division. Pseudo-division is akin to normal multivariate division, except we allow scaling the polynomial. For example, pseudo-reducing $ax + 1$ by $bx + y$ is $b(ax + 1) = a(bx + y) - ay + b$. Hence, the pseudo-remainder is $-ay + 1$. For a precise definition of pseudo-division and its properties, see my masters project.

About

An implementation of the Suzuki-Sato algorithm for computing Gröbner systems and comprehensive/parametric Gröbner bases

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages