Skip to content

Methods to perform analytic continuations following Hilbert Transformation methods.

Notifications You must be signed in to change notification settings

JuliaStellarDynamics/FiniteHilbertTransform.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FiniteHilbertTransform.jl

Test Builds codecov image image image image

FiniteHilbertTransform.jl is a Julia package designed to compute the finite version of the Hilbert transformations. This toolbox is inspired by Tricomi's work on the finite Hilbert transform from 1957. In the context of gravitational dynamics, the finite Hilbert transform may be used as a scheme for analytic continuation to the lower half of the complex plane. See Fouvry & Prunet (2022), or Petersen et al. (2024) for details.


Installation

Install Julia by following the instructions at julialang.org/downloads/.

To invoke Julia in the Terminal, you need to make sure that the julia command-line program is in your PATH. See here for detailed instructions.

Once Julia installed, obtain the FiniteHilbertTransform.jl library12 and compile it by running:

julia -e 'using Pkg; Pkg.add(url="https://github.com/JuliaStellarDynamics/FiniteHilbertTransform.jl.git")'

Quickstart

An introductory example is given in examples/run_plasma.jl. This script will recreate Figure E1 from Fouvry & Prunet (2021).

Download the file by running:

wget https://github.com/JuliaStellarDynamics/FiniteHilbertTransform.jl/blob/main/examples/run_plasma.jl

Run the code with the following command:

$ julia /path/to/run_plasma.jl

This example will first install some required libraries (Plots, ArgParse) as needed. These installations might take a few minutes when first called.

The resulting plot will be created in the same folder where you executed the script, and will be called plasmademo.png.

Plasma Demonstration


Interactive notebook

If you prefer interactive Jupyter notebooks, you will need to install IJulia following these instructions.

The interactive introduction example is then given in examples/run_plasma.ipynb.


Without installing Julia

For those who prefer not to install julia locally, we also provide a Google colab version3 that may be run in the cloud. See here.


Documentation and usage

To get more familiar with the content of the library and start and design your own use case, you may want to visit the documentation.


Authors

Mike Petersen - @michael-petersen - [email protected]

Mathieu Roule - @MathieuRoule - [email protected]

julia -e 'using Pkg; Pkg.rm("FiniteHilbertTransform");'

Footnotes

  1. The library is also easy to uninstall: remove the package from the environment by running

  2. By default, packages are added to the default environment at ~/.julia/environments/v1.#. It is however easy to create other, independent, projects. If you want to install the FiniteHilbertTransform package in a different/test environment, first create a folder to host the environment files (Project.toml and Manifest.toml which will be created later on). Then, for every command line invoking Julia, use julia --project=/path/to/my_env instead of julia alone.

  3. This notebook is not maintained as a priority. We would recommand you install Julia on your machine to test the library locally.

About

Methods to perform analytic continuations following Hilbert Transformation methods.

Resources

Stars

Watchers

Forks

Languages