Skip to main content

Quadrature rules

The online encylopedia of quadrature rules is a reference website that lists quadrature rules on a range of domains.

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/

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.12.0.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.12.0-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for quadraturerules-0.12.0.tar.gz
Algorithm Hash digest
SHA256 57ad9fe6c9499947a72f46e2471e2ce508386e8d297a0c9dd1cf7aa7dcec917e
MD5 a65db1d439c4551da0f23750fd904a6e
BLAKE2b-256 0888a0919dd1ad5e8716e75812f6da3086dee62cfde022720f15f1b1751ce99f

See more details on using hashes here.

Provenance

The following attestation bundles were made for quadraturerules-0.12.0.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.12.0-py3-none-any.whl.

File metadata

File hashes

Hashes for quadraturerules-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7bd97b48f1d20fa9a7cca444d5a45e15054948ced6d8f65e17a49fff64a33bfa
MD5 47275ba73769f699d8c8073ba91cb1c4
BLAKE2b-256 e8fcf5dfd530947f336792c547f82631e10b2d301880b7ee266688311046ea78

See more details on using hashes here.

Provenance

The following attestation bundles were made for quadraturerules-0.12.0-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.

Release history Release notifications | RSS feed

This release

0.12.0 This release

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

0.7.9

2 files

0.7.8

2 files

0.7.7

2 files

0.7.6

2 files

0.7.5

2 files

0.7.4

2 files

0.7.3

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.2.0

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

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