Skip to main content

grobx

grobx computes reduced Gröbner bases of polynomial ideals over prime fields GF(p), p a prime below 2^64, and over the rationals ℚ. This is its Python module. It takes the ideal's generators as text and returns the basis as text.

The package is a wheel for Linux on x86-64 and CPython 3.12 and later.

Install

pip install grobx

Example

import grobx

r = grobx.groebner("x,y\n7\nx^2+y,\nx*y-1\n")
r.basis    # '[y^2+x,\nx*y+6,\nx^2+y]:\n'

The input is msolve's format: the variables on line 1, separated by commas, the largest first; the characteristic on line 2, a prime below 2^64 for GF(p) or 0 for ℚ; then the generators, separated by commas. Over ℚ:

r = grobx.groebner("x,y,z\n0\nx+y+z,\nx*y+y*z+z*x,\nx*y*z-1\n")
print(r.basis)
# [x+y+z,
# y^2+y*z+z^2,
# z^3-1]:

The call

grobx.groebner(text, *, order="grevlex", threads=0, seed=None, deadline=None, cancel=None,
               memory=None, checker=None, cofactors=False, report=False)
Keyword Meaning
order "grevlex", "lex", or "block:k1,…,km": grevlex blocks of k1, …, km variables and a last block of the rest
threads How many threads the call may use, 0 for all; the engine computes on one
seed The one source of every random choice, 0 to 2^64 − 1; None draws one
deadline A time limit on the whole call, in milliseconds
cancel A grobx.Cancel that another thread raises by set() to stop the call
memory A ceiling on the process's resident set, in bytes
checker Has the checker rule on the result: "exact", or the number of random points of the cheap mode
cofactors Whether the result carries the cofactor matrix
report Whether the result carries the call report

The call releases the GIL while it computes. It returns a grobx.Result:

Attribute Meaning
basis The basis text; None where a bound stopped the call
stopped The bound that stopped the call, "deadline", "cancel", or "memory"; else None
certified The checker's verdict; None where it did not rule
flaw Why the checker rejected the result
cofactors The cofactor text, where the call asked for it
report The call report, where the call asked for it
digest SHA-256 of basis, 64 lowercase hex digits
seed The seed the call ran under

An instance or a parameter the call cannot take raises grobx.Error, a subclass of ValueError.

Documentation

The manual describes the formats, the bounds, the checker, and the engine. grobx.com has the benchmarks and the instance corpus, and GitHub the source.

License

GPL-3.0-only. Copyright Code1 GmbH.

Code1 GmbH also offers grobx under a commercial license.

Metadata

Release files for grobx 0.73.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for grobx 0.73.0
File Interpreter ABI Platform Actions
grobx-0.73.0-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details for grobx-0.73.0-cp312-abi3-manylinux_2_28_x86_64.whl

Release files / grobx-0.73.0-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL grobx-0.73.0-cp312-abi3-manylinux_2_28_x86_64.whl
Size 2.6 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
140fe48529c7e9f16eb4449ae519c3334e8700712b8f8418ca4d1d7efa932b77
BLAKE2b-256 checksum
How to use checksums
31eb164c60cd065b284dbe0264c596bb545da339ab3414578c0b65d7a3654d10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for grobx 0.73.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page