A package for computing Riemann summations in n-dimensional space
Project description
riemann
Riemann is a pure-Python package for computing Riemann sums of functions in $n$-dimensional space.
Basic Usage
Riemann provides an intuitive syntax for calculating the Riemann sum of a function over a closed interval. The below code snippet computes the Riemann sum of $f(x) = x^{2}$ over the interval $[0, 2]$ using 10 partitions along the $x$ axis.
>>> import riemann
>>> from riemann import Dimension
>>> f = lambda x: x ** 2
>>> dim_x = Dimension(0, 2, 10, riemann.LOWER)
>>> dim_x
Dimension(a=0, b=2, n=10, method=Method(name='lower'))
>>> riemann.rsum(f, dim_x)
Decimal('2.28')
However, Riemann is not restricted to computing Riemann sums only over one dimension. A similar syntax can be used to calculate the Riemann sum of a function of several real variables over a closed multi-dimensional interval. The below code snippet computes the Riemann sum of $f(x, y) = x^{2} y^{2}$ over the interval $x \in [0, 2], y \in [0, 4]$ using 10 partitions along the $x$ axis and 10 partitions along the $y$ axis.
>>> import riemann
>>> from riemann import Dimension
>>> f = lambda x, y: (x ** 2) * (y ** 2)
>>> dim_x = Dimension(0, 2, 10, riemann.MIDDLE)
>>> dim_x
Dimension(a=0, b=2, n=10, method=Method(name='middle'))
>>> dim_y = Dimension(0, 4, 10, riemann.MIDDLE)
>>> dim_y
Dimension(a=0, b=4, n=10, method=Method(name='middle'))
>>> riemann.rsum(f, dim_x, dim_y)
Decimal('56.6048')
The sole requirement is that the number of parameters taken by the function passed as the func argument to riemann.rsum equals the number of riemann.Dimension objects passed.
Features
- Fast computation of Riemann sum.
- Support for computation of multi-dimensional Riemann sum.
- Built-in support for left, middle, and right Riemann sum methods.
- Support for custom Riemann sum methods (using the :py:class:
riemann.Methodclass).
Requirements
Riemann requires Python 3.7+. This project does not require any additional dependencies.
Installation
$ pip install riemann
Documentation
The documentation for this project is available on Read the Docs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file riemann-0.9.0.tar.gz.
File metadata
- Download URL: riemann-0.9.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40159879e2a180e2438a8cea743ea1a7ef1898bdae87b8de5b9fc5d213041075
|
|
| MD5 |
e91e8b0bf9e16597cb464ef9aec5553b
|
|
| BLAKE2b-256 |
21ae9ec7c5987d371f3e5c4546473713c2639d14b2c93c2e2543dd30448cac46
|
File details
Details for the file riemann-0.9.0-py3-none-any.whl.
File metadata
- Download URL: riemann-0.9.0-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55064b4390193cb235668fbaf14426ac5428e0ba3374b5b5c72bf0435035ef34
|
|
| MD5 |
2919dc31b3c26229258c3d76e3b48e96
|
|
| BLAKE2b-256 |
a8914fd625a2e29a514f2348ea1840ba1c6ceaf76cad56a0180122f64afa1c6e
|