sde-ss

This repository contains the library SDE-SS made mainly to compute trajectories of systems of SDEs. Moreover, useful related functions are also integrated.

https://github.com/lcabriel/sde-ss

Science Score: 44.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
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

This repository contains the library SDE-SS made mainly to compute trajectories of systems of SDEs. Moreover, useful related functions are also integrated.

Basic Info
  • Host: GitHub
  • Owner: lcabriel
  • License: mit
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 59.6 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

SDE-SS (Stochastic Differential Equation - Super Solver) v. 1.3.2

This repository contains the C++ library SDE-SS made mainly to compute trajectories of systems of SDEs. Moreover, useful related function are also integrated. The main part of the library is contained inside the "Core" subdirectory. Here there are all the most important and fundamental part that allow you to simulate SDEs. Nonetheless, the library provides also some plug-ins that are created to simplify your coding pipeline with some common structures that you can encounter working with systems of SDEs:

  • NoisePlugs: this structures, a little more complex than a standard functions, are used to introduce rapidly common types of errors that requires to be treated as extra variables (e.g. Ornstein-Uhlenbeck, Wiener processes, ...).

How to use:

To use the library in its core, you have to simply add at beginning of your .cpp the header writing

```

include "SDE-SS.h"

```

The library is made completely on standard libraries therefore no other particulars are required. You need then to copy the header and the .cpp file into your directory and compile your test file $test.cpp$, as example, with

g++ test.cpp SDE-SS.cpp -o test.exe -lm -fopenmp -O3

The descriptor -lm is needed to link the cmath standard library used to compute certain values. About -fopenmp, this is optional but is strongly suggested to improve your performance especially when using heavy functions such as PDF_1D. -O3 is recommended to have better performances too.

Example of usage:

For a better example of how to use the basic features of SDE-SS, please look to the file test_code.cpp inside the TestCodes subdirectory. The central class of the library is the SDESSSystem, this class is the representation of your dynamic system.

To be characterised, a system requires a certain dimensionality and a field. The field has to be represented creating a child class of the general FieldClass. The FieldClass requires also a Noise. We have already implemented a couple of noise in the library, however custom one can be created implementing childs of the general NoiseClass.

Thus, defined a certain field as in the test_code.cpp, we can build a 3D system as

SDE_SS_System system(3,&field,true);

The last boolean argument of the constructor is used to tell the system that the problem/system is bounded. To understand how to use the bounds, please look to test_code.cpp and to the README of the "Core" directory.

Defined the system producing a trajectory is simple:

Traj traj{system.simulateTrajectory(x0,period,h)};

where x0 are the initial conditions, period is the length of the simulation and h the base time step.

Info and improvements:

This is the first bulk of the library and new features will be implemented in the future. For this reason, your codes based on the old versions of the library could not work anymore and raise errors.

If you have some suggestions or functions you would like to see in the library, please write me at:

EMAIL: lorenzo.cabriel@phd.units.it

Owner

  • Login: lcabriel
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this library, please cite it as follows:"
authors:
  - family-names: Cabriel
    given-names: Lorenzo
title: "SDE-SS"
version: 1.3.1
date-released: 2025-06-30
url: https://github.com/lcabriel/SDE-SS

GitHub Events

Total
  • Push event: 12
Last Year
  • Push event: 12