Open source project ginv

See also

ginv implements the involutive basis algorithm by V. P. Gerdt and Y. A. Blinkov in C++. For a list of the main features, please see below.

Moreover, the implemented computational methods are made accessible by ginv to a higher level programming language as a Python module.

ginv is designed so as to be able to deal with polynomial systems, systems of differential equations, and finite difference schemes in the future.

Some features of ginv (see Publications for more information):

  • Janet division and Janet-like division
  • implementation of several selection strategies for the involutive basis algorithm
  • 4 involutive criteria to avoid unnecessary reductions during involutive basis computations
  • Monomial orderings supported by ginv:
    degree reverse lexicographical, pure lexicographical, block orderings; their extensions to "term over position" and "position over term" orderings in the case of modules
  • Coefficient domains supported by ginv:
    rational numbers, integers, finite fields, algebraic extensions of the previous fields, transcendental extensions of the previous fields
  • implementations of gcd algorithms for multivariate polynomials following W. S. Brown and R. Zippel

Download ginv

ginv (version 1.2):

  • Source code (Linux):
  • User's guide (english):
  • Developer's guide (english):

After installing ginv, it would be helpful if you could send us a short e-mail which explains for what purpose ginv is beneficial for you.

If you encounter any problem with ginv, don't hesitate to contact us.

Installing ginv


To install the GINV software under Unix one needs the library gmp ( assembled with C++ support. For the code optimization under a given computer architecture one can properly adjust the C++ compiler options in the file

The assemblage of the module ginv is done in line with the standard scheme for Python:

python build

For installation into the standard folder (and assemblage if the module has not been assembled):

python install

For installation into a non-standard folder:

python install --prefix=/home/user/pyginv


Installation under Windows uses the pre-compiled module ginv. This imposes some restrictions on the type and capacity of a processor. The module ginv is built-up with i586 code. This may lead to a substantial slow-down in performance, for instance, when a 64-bit processor is used.

Assemblage under Windows is similar to that under Unix.

For more details see

Contributors to ginv

  • Y. A. Blinkov
  • V. P. Gerdt
  • S. Jambor
  • D. Robertz

See also contact information.