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.Method
class).
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
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 |