The package is publised on PyPI and installable via pip
:
pip install fpp-sle
See the examples.py script for working examples. The main classes and functions this package provide is
-
VariableRateForcing
(insidefpp
module)This is a class that inherit from the forcing generator class provided by
superposed-pulses
. The class adds a method for setting a custom function that generates arrival times given the time axis and a given number of total pulses to generate. -
get_arrival_times
(inside thefpp
module)This is a module that holds functions that draws arrival times according to some non-negative numpy array or callable, that is, the variable rate process.
-
pass_rate
(insideget_arrival_times
)Used to decorate the functions that draws arrival times from the rate function. This is the function you may want to pass in to the
set_arrival_times_function
method of theVariableRateForcing
class. It decorates functions withinget_arrival_times
staring withfrom_
. -
from_
(insideget_arrival_times
)These are generator functions that can take a callable or a numpy array as input, and returns arrival times based on the rate function. Currently only one generator function is implemented (
from_inhomogeneous_poisson_process
) which draws arrival times as if the rate was the underlying rate of a Poisson process.
-
-
sde
This module holds different implementations of stochastic differential equations. See the docstring of the individual functions for explanations.
To contribute to the project, clone and install the full development version (uses
poetry for dependencies). There is also a .mise.toml
file that installs and sets up
an appropriate virtual environment if mise is available on your
system.
git clone https://github.com/uit-cosmo/fpp-sle.git
cd fpp-sle
# Set up a virtual environment, for example with mise
mise i # optional
poetry install
pre-commit install
Before committing new changes to a branch you may run command
nox
to run the full test suite. You will need Poetry, nox and nox-poetry installed for this.