Skip to main content

Numerical solution of stochastic Volterra integral equations via a stochastic operational matrix based on block pulse functions.

Project description

tests build docs pypi pyversions licence

A python package for computing a numerical solution of stochastic Volterra integral equations of the second kind

stochastic-volterra-integral-equation

where

  • X-t is an unknown process,

  • f is a continuous function,

  • k-1-k-2 are continuous and square integrable functions,

  • B-t is the Brownian motion (see Wiener process) and

  • ito-integral 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

pypi pyversions format

The nssvie package is available on PyPi and can be installed using pip

pip install nssvie

2. Install from Source

release licence

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

example-1-eq

so

  • example-1-f ,

  • example-1-k-1 and

  • example-1-k-2.

>>> 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 f.

  • kernel_1, kernel_2: the kernels k-1-k-2.

  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nssvie-0.0.4.tar.gz (302.2 kB view details)

Uploaded Source

Built Distribution

nssvie-0.0.4-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

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

Hashes for nssvie-0.0.4.tar.gz
Algorithm Hash digest
SHA256 ce6cab1ae2371c4634fe4555986d8348391ec05bbf18346b8745174105258f5c
MD5 3161f971cdf24d7879609d6035288d87
BLAKE2b-256 4efac6928db35980e887840f49d44bad9dea6c949172d362c541761253136d22

See more details on using hashes here.

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

Hashes for nssvie-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5501cb36c4b7d76898da6906143a1068349011ae085ed74f9e6daef5b1dd8085
MD5 37919ceb488b42ac46638540fa7b5ded
BLAKE2b-256 def76c9118b18a3ca219a0fb1a1378e32a440a322647d04371f275b1798835fa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page