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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for quadraturerules-0.9.0.tar.gz
Algorithm Hash digest
SHA256 ee5680f7c66b449ab40fd6fa46a03593a94915b0a37b8088bafe4a6db284ff9f
MD5 cbf3acc8f5100554f29a9815935f221e
BLAKE2b-256 256acc916253484122d663d4ea95e9d7926f281437174adc17967b1da7a9f11c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for quadraturerules-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf8a347447b7e2679c12a26f577d11314d337ba01f55e75670d44bcfa75fa56
MD5 b7ee221393621bdfd6fc56512a79d689
BLAKE2b-256 c77b1a55b773697fd74945cfafe6d3178436f975db3bfd6a6acc73274b895895

See more details on using hashes here.

Provenance

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

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