Skip to main content

quadrature rules library

Project description

Quadrature rules

The online encylopedia of quadrature rules is a reference website that lists a number of quadrature rules.

Quadrature rules are sets of points and weights that are used to approximate integrals. If ${p_0,\dots,p_{n-1}}\subset\mathbb{R}^d$ and ${w_0,\dots,w_{n-1}}\subset\mathbb{R}$ are the points and weights (repectively) of the quadrature rule for a single integral, then:

$$\int f(x),\mathrm{d}x \approx \sum_{i=0}^{n-1}f(p_i)w_i$$

Website

Before building the online encylopedia of quadrature rules, you must first install qrtools from the python directory:

cd python
python3 -m pip install .

The online encylopedia of quadrature rules website can then be built by running:

cd website
python3 build.py

Libraries

All of the quadrature rules included in the online encylopedia of quadrature rules are included in the quadraturerules library, which is available in the following languages:

Language Badges
C Test and build C library
C++ Test and build C++ library
Fortran Test and build Fortran 90 library
FORTRAN 77 Test and build Fortran 77 library
Julia Test and build Julia library
Python Test and build Python library PyPI
Rust Test and build Rust library crates.io docs.rs

Before building any of the libraries, you must first install qrtools from the python directory:

cd python
python3 -m pip install .

You can then build the libraries using the build.py script in the library directory. For example, to build the python library, you can run:

cd library
python build.py python

and to build the rust library, you can run:

cd library
python build.py rust

Python library

The quadraturerules Python library is available on PyPI. It can be installed by running:

python -m pip install quadraturerules

Usage

The library's function single_integral_quadrature can be used to get the points and weights of quadrature rules for a single integral. For example the following snippet will create an order 3 Xiao--Gimbutas rule on a triangle:

from quadraturerules import Domain, QuadratureRule, single_integral_quadrature

points, weights = single_integral_quadrature(
    QuadratureRule.XiaoGimbutas,
    Domain.Triangle,
    3,
)

Note that the points returned by the library are represented using barycentric coordinates.

Generating the library

The Python quadraturerules library can be generated from the templates in the online encyclopedia of quadrature rules GitHub repo. First clone the repo and move into the library directory:

git clone https://github.com/quadraturerules/quadraturerules.git
cd quadraturerules/library

The Python library can then be generated by running:

python build.py python

This will create a directory called python.build containing the Python source code.

Tests can then be run by moving into this folder and using pytest:

cd python.build
python -m pytest test/

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

quadraturerules-0.9.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

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

quadraturerules-0.9.1-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file quadraturerules-0.9.1.tar.gz.

File metadata

  • Download URL: quadraturerules-0.9.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for quadraturerules-0.9.1.tar.gz
Algorithm Hash digest
SHA256 1a740455d48e38ae6f8c1cc86737b5f42e57266422c2a5b28ffd8bd42c79415b
MD5 a2dcebfad61adc889ebfee1508eae309
BLAKE2b-256 9db9a6be2a69198455e6c31d56e14cd3c130853d3beda3d7d05fb76ce2ac498c

See more details on using hashes here.

Provenance

The following attestation bundles were made for quadraturerules-0.9.1.tar.gz:

Publisher: release.yml on quadraturerules/quadraturerules

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

File details

Details for the file quadraturerules-0.9.1-py3-none-any.whl.

File metadata

File hashes

Hashes for quadraturerules-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41a26eac9b55ccd20df110da41f53f0f744a58cc69e68f524534575dddcbc986
MD5 b95b0aca7ea9e8af10cc9af58b2a32ff
BLAKE2b-256 6d251d4c924c1fe65ede4f4928469a1eee12c58596c60f26e749871f3b1f00bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for quadraturerules-0.9.1-py3-none-any.whl:

Publisher: release.yml on quadraturerules/quadraturerules

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