Skip to content

numpi/tame-ilt

Repository files navigation

Description

This is a library for the TAME method for Inverse Laplace Transform authored by Nikita Deniskin and Federico Poloni.

download this repository

git clone https://github.com/numpi/tame-ilt

Example

# Computes weights and nodes of TAME with N=10 points; use a circle of radius 1 as domain
>> tame_method = AAAweights(10,'Zshape','circle','r',1)
# Eliminate conjugate nodes, to use only N'=5 evaluations 
>> tame_method = cleanup_conjugates(tame_method)
# f(t) = exp(-t) has Laplace Transform  g(s) = 1/(s+1)
# Inverse Laplace transform of g(s), evaluated in t=1
>> format long
>> t = 1
>> ilt(@(s) 1/(s+1), t, tame_method)
ans =
   0.367879441171427
# exact value
>> exp(-t)
ans =
   0.367879441171442
# Comparison with other methods
>> euler_method = ILTweights(5,'euler')
>> ilt(@(s) 1/(s+1), t, euler_method)
ans =
   0.375004429853690

Code description

Construct a TAME method

For a Fluid Queue with uniformization rate lambda

>> tame_method = AAAweights(n,'Zshape','circle','r',lambda)

For a Laplace-Stieltjes function

>> tame_method = AAAweights(n,'Zshape','line','r',lambda)

Load precomputed methods

To load the pre-computed classic methods, use

>> load_methods_double

Compute the Inverse Laplace Transform

If f(t) is a function with Laplace Transform g(s), a function handle to g is needed

>> g = @(s) 1/(s+1)

The ILT is computed at time t as

>> t = 1
>> ilt(g, t, tame_method)

Compare to classical methods

>> euler_method = ILTweights(n,'euler')

Compare methods

To visualize the nodes, the weights, the Dirac approximants, the error of rational approximation, use functions

  • draw_GrowthMagnitudeWeights.m
  • draw_IncreasingMagnitudeNodesWeights.m
  • draw_IncreasingNodesWeights.m
  • draw_MagnitudeNodesWeights.m
  • draw_NodesWeights.m
  • expapprox.m
  • script_delta.mlx

Experiments

See folder experiments/ for test problems and comparison between methods. Available:

  • script_ExperimentMFFM.mlx
  • script_ExperimentB.mlx
  • script_ExperimentCTMC.mlx
  • script_ExperimentDEfunctions.mlx

About

A numerical method for the inverse Laplace transform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors