LevyArea
Iterated stochastic integrals in Julia.
Science Score: 51.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Repository
Iterated stochastic integrals in Julia.
Basic Info
- Host: GitHub
- Owner: stochastics-uni-luebeck
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://stochastics-uni-luebeck.github.io/LevyArea.jl/stable
- Size: 808 KB
Statistics
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
LevyArea.jl
Iterated Stochastic Integrals in Julia
This package implements state-of-the-art methods for the simulation of iterated stochastic integrals. These appear e.g. in higher order algorithms for the solution of stochastic (partial) differential equations.
Installation
This package can be installed from the Julia package manager (type ])
julia
pkg> add LevyArea
Usage Example
Load the package and generate a Wiener increment:
julia-repl
julia> using LevyArea
julia> m = 5; # dimension of Wiener process
julia> h = 0.01; # step size or length of time interval
julia> err = 0.05; # error bound
julia> W = sqrt(h) * randn(m); # increment of Wiener process
Here, $W$ is the $m$-dimensional vector of increments of the driving
Wiener process on some time interval of length $h$.
The default call uses h^(3/2) as the precision and chooses the best algorithm automatically:
julia-repl
julia> II = iterated_integrals(W,h)
If not stated otherwise, the default error criterion is the $\max,L^2$-error
and the function returns the $m \times m$ matrix II containing a realisation
of the approximate iterated stochastic integrals that correspond
to the given increment $W$.
The desired precision can be optionally provided
using a third positional argument:
julia-repl
julia> II = iterated_integrals(W,h,err)
Again, the software package automatically chooses the optimal
algorithm.
To determine which algorithm is chosen by the package without simulating any iterated
stochastic integrals yet, the function optimal_algorithm can
be used. The arguments to this function are the dimension of the Wiener
process, the step size and the desired precision:
julia-repl
julia> alg = optimal_algorithm(m,h,err); # output: Fourier()
It is also possible to choose the algorithm directly using the
keyword argument alg. The value can be one of
Fourier(), Milstein(), Wiktorsson() and MronRoe():
julia-repl
julia> II = iterated_integrals(W,h; alg=Milstein())
As the norm for the considered error, e.g., the $\max,L^2$- and $\mathrm{F},L^2$-norm
can be selected using a keyword argument. The corresponding
values are MaxL2() and FrobeniusL2():
julia-repl
julia> II = iterated_integrals(W,h,err; error_norm=FrobeniusL2())
If iterated stochastic integrals for some $Q$-Wiener process need to
be simulated, like for the numerical simulation of solutions to SPDEs,
then the increment of the $Q$-Wiener process together with the
square roots of the eigenvalues of the associated covariance
operator have to be provided:
julia-repl
julia> q = [1/k^2 for k=1:m]; # eigenvalues of cov. operator
julia> QW = sqrt(h) * sqrt.(q) .* randn(m); # Q-Wiener increment
julia> IIQ = iterated_integrals(QW,sqrt.(q),h,err)
In this case, the function iterated_integrals utilizes a
scaling of the iterated stochastic integrals and also adjusts the error
estimates appropriately such that the error bound holds w.r.t.\ the
iterated stochastic integrals $\mathcal{I}^{Q}(h)$ based on the
$Q$-Wiener process. Here the error norm defaults to the $\mathrm{F},L^2$-error.
Note that all discussed keyword arguments are optional and can be combined as needed.
Additional information can be found, e.g., using the Julia help mode:
julia-repl
julia> ?iterated_integrals
julia> ?optimal_algorithm
or by reading the documentation.
Citing
Please cite this package and/or the accompanying paper if you found this package useful. Example BibLaTeX code can be found in the CITATION.bib file.
Related Packages
A Matlab version of this package is also available under LevyArea.m.
Citation (CITATION.bib)
@Article{Kastner2022,
author = {Kastner, Felix and Rößler, Andreas},
date = {2022-01-20},
title = {An Analysis of Approximation Algorithms for Iterated Stochastic Integrals and a Julia and MATLAB Simulation Toolbox},
eprint = {2201.08424},
eprintclass = {math.NA},
eprinttype = {arXiv},
keywords = {Levy Area, Iterated Integrals, Stochastic Differential Equations, Julia},
}
@Software{Kastner2022a,
author = {Kastner, Felix and Rößler, Andreas},
date = {2022},
title = {LevyArea.jl},
doi = {10.5281/ZENODO.5883748},
url = {https://github.com/stochastics-uni-luebeck/LevyArea.jl},
copyright = {MIT License},
keywords = {Levy Area, Iterated Integrals, Stochastic Differential Equations, Julia},
publisher = {Zenodo},
}
@Comment{jabref-meta: databaseType:biblatex;}
GitHub Events
Total
Last Year
Committers
Last synced: about 3 years ago
All Time
- Total Commits: 77
- Total Committers: 2
- Avg Commits per committer: 38.5
- Development Distribution Score (DDS): 0.013
Top Committers
| Name | Commits | |
|---|---|---|
| Felix Kastner | k****x@g****m | 76 |
| Felix Kastner | k****r@m****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: over 2 years ago
All Time
- Total issues: 4
- Total pull requests: 3
- Average time to close issues: 3 days
- Average time to close pull requests: 2 days
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 1.75
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- frankschae (2)
- ChrisRackauckas (1)
- JuliaTagBot (1)
Pull Request Authors
- github-actions[bot] (2)
- fkastner (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 2,618 total
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 1
juliahub.com: LevyArea
Iterated stochastic integrals in Julia.
- Homepage: https://stochastics-uni-luebeck.github.io/LevyArea.jl/stable
- Documentation: https://docs.juliahub.com/General/LevyArea/stable/
- License: MIT
-
Latest release: 1.0.0
published about 4 years ago