Git Product home page Git Product logo

numerical-stochastic-calculus's Introduction

Numerical Stochastic Calculus Library

Simple Library for Numerical Stochastic Calculus in C++. Based on ETH NASODE course

Setting up the project

To install dependencies, run

chmod +x ./install_deps.sh
./install_deps.sh

To build run the following cmake command for release:

cmake -B build/main/Release/ -DCMAKE_BUILD_TYPE=RELEASE

Or debug:

cmake -B build/main/Debug/ -DCMAKE_BUILD_TYPE=DEBUG

And then run build:

cmake --build build/main/Debug/ -j8

numerical-stochastic-calculus's People

Contributors

mr-s-mirzoev avatar

Watchers

James Cloos avatar  avatar

numerical-stochastic-calculus's Issues

Make use of this comment, maybe it's useful to do inplace decomposition

/** \ingroup Cholesky_Module
*

  • \class LLT
  • \brief Standard Cholesky decomposition (LL^T) of a matrix and associated features
  • \tparam MatrixType_ the type of the matrix of which we are computing the LL^T Cholesky decomposition
  • \tparam UpLo_ the triangular part that will be used for the decomposition: Lower (default) or Upper.
  •           The other triangular part won't be read.
    
  • This class performs a LL^T Cholesky decomposition of a symmetric, positive definite
  • matrix A such that A = LL^* = U^*U, where L is lower triangular.
  • While the Cholesky decomposition is particularly useful to solve selfadjoint problems like D^*D x = b,
  • for that purpose, we recommend the Cholesky decomposition without square root which is more stable
  • and even faster. Nevertheless, this standard Cholesky decomposition remains useful in many other
  • situations like generalised eigen problems with hermitian matrices.
  • Remember that Cholesky decompositions are not rank-revealing. This LLT decomposition is only stable on positive definite matrices,
  • use LDLT instead for the semidefinite case. Also, do not use a Cholesky decomposition to determine whether a system of equations
  • has a solution.
  • Example: \include LLT_example.cpp
  • Output: \verbinclude LLT_example.out
  • \b Performance: for best performance, it is recommended to use a column-major storage format
  • with the Lower triangular part (the default), or, equivalently, a row-major storage format
  • with the Upper triangular part. Otherwise, you might get a 20% slowdown for the full factorization
  • step, and rank-updates can be up to 3 times slower.
  • This class supports the \link InplaceDecomposition inplace decomposition \endlink mechanism.
  • Note that during the decomposition, only the lower (or upper, as defined by UpLo_) triangular part of A is considered.
  • Therefore, the strict lower part does not have to store correct values.
  • \sa MatrixBase::llt(), SelfAdjointView::llt(), class LDLT
    */

Proper deps installation for matplot++

Gnuplot 5.2.6+

Install Gnuplot 5.2.6+ (Required at runtime)

=== "Ubuntu + GCC"

sudo apt update
sudo apt install gnuplot

!!! note ""
Or download the latest version from www.gnuplot.info. If you're using an installer, make sure you mark the option "Add application directory to your PATH environment variable".
=== "Mac Os + Clang"

brew install gnuplot

!!! note ""
Or download the latest version from www.gnuplot.info. If you're using an installer, make sure you mark the option "Add application directory to your PATH environment variable".
=== "Windows + MSVC"

!!! warning ""
Download Gnuplot from www.gnuplot.info and install it.

If you're using the Gnuplot installer, make sure you mark the option "Add application directory to your PATH environment variable"

!!! warning "Windows Gnuplot Terminals"

If the Matplot++ examples don't display without console errors and gnuplot running, try to re-install Gnuplot with the wxt terminal.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.