Numerical solution of stochastic Volterra integral equations via a stochastic operational matrix based on block pulse functions.
Project description
A python package for computing a numerical solution of stochastic Volterra integral equations of the second kind
where
is an unknown process,
is a continuous function,
are continuous and square integrable functions,
is the Brownian motion (see Wiener process) and
is the Itô-integral (see Itô calculus)
by a stochastic operational matrix based on block pulse functions as suggested in Maleknejad et. al (2012) [1].
nssvie is distributed under the terms of the GNU GPLv3 license.
Install
Install using either of the following two methods.
1. Install from PyPi
The nssvie package is available on PyPi and can be installed using pip
pip install nssvie
2. Install from Source
Install directly from the source code by
git clone https://github.com/dsagolla/nssvie.git
cd nssvie
pip install .
Dependencies
nssvie uses
NumPy for many calculations,
SciPy for computing the block pulse coefficients and
stochastic for sampling the Brownian Motion
Usage
Consider the following example of a stochastic Volterra integral equation
so
,
and
.
>>> from nssvie import StochasticVolterraIntegralEquations
>>> # Define the function and the kernels of the stochastic Volterra
>>> # integral equation
>>> def f(t):
>>> return 1.0
>>> def k1(s,t):
>>> return s**2
>>> def k2(s,t):
>>> return s
>>> # Generate the stochastic Volterra integral equation
>>> svie = StochasticVolterraIntegralEquations(
>>> f=f, kernel_2=k1, kernel_1=k2, T=0.5
>>> )
>>> # Calculate numerical solution with m=20 intervals
>>> svie_solution = svie.solve_method(m=20, solve_method="bpf")
The parameters are
f: the function .
kernel_1, kernel_2: the kernels .
T: the right hand side of \([0,T)\). Default is 1.0.
m: the number of intervals to divide \([0,T)\). Default is 50.
solve_method: the choosen method based on orthogonal functions. Default is bpf.
for the stochastic Volterra integral equation above.
Citation
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 nssvie-0.0.4.tar.gz
.
File metadata
- Download URL: nssvie-0.0.4.tar.gz
- Upload date:
- Size: 302.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce6cab1ae2371c4634fe4555986d8348391ec05bbf18346b8745174105258f5c |
|
MD5 | 3161f971cdf24d7879609d6035288d87 |
|
BLAKE2b-256 | 4efac6928db35980e887840f49d44bad9dea6c949172d362c541761253136d22 |
File details
Details for the file nssvie-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: nssvie-0.0.4-py3-none-any.whl
- Upload date:
- Size: 21.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5501cb36c4b7d76898da6906143a1068349011ae085ed74f9e6daef5b1dd8085 |
|
MD5 | 37919ceb488b42ac46638540fa7b5ded |
|
BLAKE2b-256 | def76c9118b18a3ca219a0fb1a1378e32a440a322647d04371f275b1798835fa |