Skip to main content

A Python package for interacting with PyNormaliz using inequalities.

Project description

PyNormaliz_inequalities

Python utility package for interacting with PyNormaliz

Installation

To install the package, use pip:

pip install PyNormaliz_inequalities

Usage

This package provides a convenient interface to PyNormaliz, allowing users to specify inequalities in a natural format. Below are some usage examples:

Example 1: Basic Usage

from PyNormaliz_inequalities import Variable, InequalitySystem, evaluate_quasipolynomial

a = Variable()
b = Variable()

inequalities = InequalitySystem()
inequalities.add_inequality(a >= 0)
inequalities.add_inequality(b >= 0)
inequalities.add_inequality(a + b >= 1)

quasipolynomial = inequalities.construct_homogeneous_cone().HilbertQuasiPolynomial()
print([evaluate_quasipolynomial(quasipolynomial, n) for n in range(10)])

Example 2: Complex Inequalities

from PyNormaliz_inequalities import Variable, InequalitySystem, evaluate_quasipolynomial

a = Variable()
b = Variable()
c = Variable()

inequalities = InequalitySystem()
inequalities.add_inequality(a >= 0)
inequalities.add_inequality(b >= 0)
inequalities.add_inequality(c >= 0)
inequalities.add_inequality(a > 2*b)
inequalities.add_inequality(b > c)

quasipolynomial = inequalities.construct_homogeneous_cone().HilbertQuasiPolynomial()
print([evaluate_quasipolynomial(quasipolynomial, n) for n in range(10)])

Example 3: Using Inequality System

from PyNormaliz_inequalities import Variable, InequalitySystem, evaluate_quasipolynomial

x = Variable()
y = Variable()

inequalities = InequalitySystem()
inequalities.add_inequality(x >= 2)
inequalities.add_inequality(y >= x)

quasipolynomial = inequalities.construct_homogeneous_cone().HilbertQuasiPolynomial()
print([evaluate_quasipolynomial(quasipolynomial, n) for n in range(10)])

Explanation

The PyNormaliz_inequalities package provides a convenient interface to PyNormaliz, allowing users to specify inequalities in a natural format. It supports creating variables, expressions, and inequalities, and converting them to vector representations suitable for PyNormaliz. The package also includes functionality to construct homogeneous cones and compute Hilbert quasi-polynomials.

The main components of the package are:

  • Variable: Represents a variable in an inequality.
  • Expression: Represents a linear expression involving variables.
  • Inequality: Represents an inequality involving expressions.
  • InequalitySystem: Manages a system of inequalities and provides methods to interact with PyNormaliz.

The package also includes utility functions for converting inequalities to vector representations and evaluating quasi-polynomials.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynormaliz_inequalities-0.1.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyNormaliz_inequalities-0.1.1-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file pynormaliz_inequalities-0.1.1.tar.gz.

File metadata

  • Download URL: pynormaliz_inequalities-0.1.1.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pynormaliz_inequalities-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5754e21f29dbf2363272c8da3fe3059ed825c4f29f77bebe8240547fbbd51347
MD5 587f27b3a731f05ae808ee2bdda4c01a
BLAKE2b-256 badede3b3fdb7e0abff1855874afd6ae6229b9f9105650f84921590101764467

See more details on using hashes here.

Provenance

The following attestation bundles were made for pynormaliz_inequalities-0.1.1.tar.gz:

Publisher: publish.yaml on DominikPeters/PyNormaliz_inequalities

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file PyNormaliz_inequalities-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for PyNormaliz_inequalities-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0f1ad76ab7c37ddfd305d8381c8cef101d993ba74710b5e168f56d2baed3f919
MD5 a72e8f8cc2a9170ee846fc891e4bb178
BLAKE2b-256 085d7c58dfd47d080cc2f9fe815ed85019e5971bd19e1724c6b96c910b7e28bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for PyNormaliz_inequalities-0.1.1-py3-none-any.whl:

Publisher: publish.yaml on DominikPeters/PyNormaliz_inequalities

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page