Padé-Laplace was developed by Yeramian and Claverie, "Analysis of multiexponential functions without hypothesis as to the number of components," Nature 326, 169 (1987).
How does Pade-Laplace work? Consider data that is a single exponential decay.
![]()
The Laplace transform of the data is
![]()
Note that the pole of L(p) gives the decay constant k, and the residue gives the amplitude a. For multi-exponential decays, the poles of the Laplace transform of the data give the decay constants, and the residues give the amplitudes.
The strategy is to put the decaying signal's Laplace transform into the form of a ratio of polynomials, of order (n-1) over order n. This is accomplished by finding the Padé approximant,
![]()
Poles and their residues are found in a straight-forward manner from the Pade approximant. The Padé approximant's order n is increased until no new poles are found. The procedure is described in Hellen, American Journal of Physics, 73, 871 (2005).
Shown below is the result from a python program using Padé-Laplace to curve-fit a noisy 3-exponential decay with decay constants 5, 1, and 0.2. The program correctly identifies that there are 3 decay constants.

Here is the output from the program (for case similar to the graph). Note that the residue for the additional pole for n = 4 is negligible.
The only input parameter is p0 = 1/t, where t is approx decay time.
Enter time for input param, p0 = 1/time: .65
p0 = 1.53846153846
n = 1
poles at [ 0.65263105]
residues [ 1.22545031]
error = 0.05935296596
n = 2
poles at [ 2.66215551 0.28326897]
residues [ 0.69932493 0.71558639]
error = 0.0345362573075
n = 3
poles at [ 4.69313528 1.04383601 0.19985295]
residues [ 0.44402235 0.50721467 0.50691688]
error = 0.0320678300085
n = 4
poles at [ 4.6896631 1.04272913 0.19974745 -1.33443219]
residues [ 4.44325179e-01 5.07169457e-01 5.06616589e-01 -6.37171186e-12]
error = 39089.2072677
Detected # of decay constants is 3
Comments or suggestions? ehhellen@uncg.edu