Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Get a list of abscissas and weights for the numerical inverse Laplace transform
ResourceFunction["SalzerPiessensInversionWeights"][n] gives a list of the 2 n+1 triples {xi,wi,εi} of the (2 n+1)-point Salzer-Piessens formula for numerical Laplace transform inversion, where wi and εi are the corresponding weight and error weight of the abscissa xi. | |
ResourceFunction["SalzerPiessensInversionWeights"][n,prec] uses the working precision prec. |
The abscissas, weights and error weights for a 7-point Salzer-Piessens rule:
In[1]:= | ![]() |
Out[1]= | ![]() |
Use the specified precision:
In[2]:= | ![]() |
Out[2]= | ![]() |
A function to be transformed:
In[3]:= | ![]() |
Generate a 21-point Salzer-Piessens rule at high precision:
In[4]:= | ![]() |
Numerically evaluate its inverse Laplace transform at a given point:
In[5]:= | ![]() |
Out[5]= | ![]() |
Compute the error estimate:
In[6]:= | ![]() |
Out[6]= | ![]() |
Compare with the exact answer:
In[7]:= | ![]() |
Out[7]= | ![]() |
In[8]:= | ![]() |
Out[8]= | ![]() |
Plot the exact and approximate transform together:
In[9]:= | ![]() |
Out[9]= | ![]() |
Plot the error estimate:
In[10]:= | ![]() |
Out[10]= | ![]() |
A (2 n+1)-point Salzer-Piessens rule gives the exact inverse Laplace transform for functions of the form :
In[11]:= | ![]() |
In[12]:= | ![]() |
Out[12]= | ![]() |
In[13]:= | ![]() |
Out[13]= | ![]() |
A function to be transformed:
In[14]:= | ![]() |
Machine precision usually does not give sufficient accuracy due to the ill-conditioned nature of numerical Laplace transform inversion:
In[15]:= | ![]() |
In[16]:= | ![]() |
Out[16]= | ![]() |
Arbitrary precision is often necessary to get accurate results:
In[17]:= | ![]() |
In[18]:= | ![]() |
Out[18]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License