Split-step method

In numerical analysis, the split-step (Fourier) method is a pseudo-spectral numerical method used to solve nonlinear partial differential equations like the nonlinear Schrödinger equation. The name arises for two reasons. First, the method relies on computing the solution in small steps, and treating the linear and the nonlinear steps separately (see below). Second, it is necessary to Fourier transform back and forth because the linear step is made in the frequency domain while the nonlinear step is made in the time domain.

An example of usage of this method is in the field of light pulse propagation in optical fibers, where the interaction of linear and nonlinear mechanisms makes it difficult to find general analytical solutions. However, the split-step method provides a numerical solution to the problem. Another application of the split-step method that has been gaining a lot of traction since the 2010s is the simulation of Kerr frequency comb dynamics in optical microresonators. The relative ease of implementation of the Lugiato–Lefever equation with reasonable numerical cost, along with its success in reproducing experimental spectra as well as predicting soliton behavior in these microresonators has made the method very popular.

Description of the method
Consider, for example, the nonlinear Schrödinger equation

where  describes the pulse envelope in time  at the spatial position . The equation can be split into a linear part,

and a nonlinear part,

Both the linear and the nonlinear parts have analytical solutions, but the nonlinear Schrödinger equation containing both parts does not have a general analytical solution.

However, if only a 'small' step  is taken along , then the two parts can be treated separately with only a 'small' numerical error. One can therefore first take a small nonlinear step,

using the analytical solution. Note that this ansatz imposes  and consequently .

The dispersion step has an analytical solution in the frequency domain, so it is first necessary to Fourier transform  using
,
where  is the center frequency of the pulse.
It can be shown that using the above definition of the Fourier transform, the analytical solution to the linear step, commuted with the frequency domain solution for the nonlinear step, is

By taking the inverse Fourier transform of  one obtains ; the pulse has thus been propagated a small step . By repeating the above  times, the pulse can be propagated over a length of .

The above shows how to use the method to propagate a solution forward in space; however, many physics applications, such as studying the evolution of a wave packet describing a particle, require one to propagate the solution forward in time rather than in space. The non-linear Schrödinger equation, when used to govern the time evolution of a wave function, takes the form

where  describes the wave function at position  and time . Note that 
 and , and that  is the mass of the particle and  is Planck's constant over .
The formal solution to this equation is a complex exponential, so we have that
.
Since  and  are operators, they do not in general commute. However, the Baker-Hausdorff formula can be applied to show that the error from treating them as if they do will be of order  if we are taking a small but finite time step . We therefore can write
.
The part of this equation involving  can be computed directly using the wave function at time , but to compute the exponential involving  we use the fact that in frequency space, the partial derivative operator can be converted into a number by substituting  for , where  is the frequency (or more properly, wave number, as we are dealing with a spatial variable and thus transforming to a space of spatial frequencies—i.e. wave numbers) associated with the Fourier transform of whatever is being operated on. Thus, we take the Fourier transform of 
,
recover the associated wave number, compute the quantity
,
and use it to find the product of the complex exponentials involving  and  in frequency space as below:
,
where  denotes a Fourier transform. We then inverse Fourier transform this expression to find the final result in physical space, yielding the final expression
.
A variation on this method is the symmetrized split-step Fourier method, which takes half a time step using one operator, then takes a full-time step with only the other, and then takes a second half time step again with only the first. This method is an improvement upon the generic split-step Fourier method because its error is of order  for a time step .
The Fourier transforms of this algorithm can be computed relatively fast using the fast Fourier transform (FFT). The split-step Fourier method can therefore be much faster than typical finite difference methods.

References

External references
 Thomas E. Murphy, Software, http://www.photonics.umd.edu/software/ssprop/
 Andrés A. Rieznik, Software, http://www.freeopticsproject.org
 Prof. G. Agrawal, Software, http://www.optics.rochester.edu/workgroups/agrawal/grouphomepage.php?pageid=software
 Thomas Schreiber, Software, http://www.fiberdesk.com
 Edward J. Grace, Software, http://www.mathworks.com/matlabcentral/fileexchange/24016

Numerical differential equations
Fiber optics