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.10.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.10.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quadraturerules-0.10.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.10.0.tar.gz
Algorithm Hash digest
SHA256 cef37ed691965aa22501a144de3e59a3c071bd768462de9d9894045b87c76cbf
MD5 a01c584a1d280345a7cce72fc1e17af8
BLAKE2b-256 3ceb65ad3de53737552c3153849e05d816b5d7cb52264305ddcba09c30a48cfe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for quadraturerules-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c13afad30fcadae571b7991ca1d0722a343b3b940ebabca5d6eaecd556b915d8
MD5 bc19da24761631001819c6bfa75ba574
BLAKE2b-256 a9187d940c9d259613eb96190b1ce9a50aa0e8123144ea40b0707a05e4eca4bd

See more details on using hashes here.

Provenance

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

0.12.0

2 files

This release

0.10.0 This release

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