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.3

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

Built distributions (wheels)

Table of built distributions (wheels) for grobx 0.73.3
File Interpreter ABI Platform Actions
grobx-0.73.3-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details for grobx-0.73.3-cp312-abi3-win_amd64.whl
grobx-0.73.3-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details for grobx-0.73.3-cp312-abi3-manylinux_2_28_x86_64.whl
grobx-0.73.3-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details for grobx-0.73.3-cp312-abi3-macosx_11_0_arm64.whl

Total release size: 7.1 MB

Release files / grobx-0.73.3-cp312-abi3-win_amd64.whl

Download URL grobx-0.73.3-cp312-abi3-win_amd64.whl
Size 2.3 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
769af2445edc64c646cc2cb14713113b0c71d4991da0b6cd30534e2bf3ce08d8
BLAKE2b-256 checksum
How to use checksums
a14a99edb9ab78f5c19d324519efc4c1fdac91ff9f8bd1d47f48be5fe27cbae8
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}

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

Download URL grobx-0.73.3-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
e7100efa0c468175bda0aef7b1da3fc582e3f3d3729704413e048adb07c02519
BLAKE2b-256 checksum
How to use checksums
99232a0838556c7497db90daaae7c9ff409598933151797b19d9d3cc4ae6e718
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}

Release files / grobx-0.73.3-cp312-abi3-macosx_11_0_arm64.whl

Download URL grobx-0.73.3-cp312-abi3-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e4aee4b91ee7c362c081395641b25a20790cdf8957b9dba7cd0a19fc3cfaf5b0
BLAKE2b-256 checksum
How to use checksums
8050ccc4bead8f6d707443bdeab2e94221ba03f0302917844f1cd6a5c6409de4
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.3

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