# A Novel Optical-Based Methodology for Improving Nonlinear Fourier Transform
## 3 The Inverse Nonlinear Fourier Transform Method
### Procedure for the Numerical Simulation of \(F(t;z)\)  
The purpose of this section is to find a procedure to numerically simulate Equation (45). We need first to define the domain of \(F(t;z)=\frac{1}{2\pi}\int\frac{b(\lambda;z)}{a(\lambda;z)}e^{\lambda t}d\lambda\). FFT will be used in this regard, together with some sampling constraints to satisfy the sampling theorem. This can be easily recognized inside the integral with some minor changes.  
Let us suppose that the domain of \(\frac{b(\lambda;z)}{a(\lambda;z)}\) will be in a range between \([\lambda_{Max},\lambda_{Min}]\) with \(N\)\(\in\)\(\mathbb{N}\) total discrete points where we have to apply FFT. We denote these discrete points as: \(\lambda_{k}=k\Delta\lambda=\frac{k(\lambda_{Max}-\lambda_{Min})}{N}\), with \(k=-\frac{N}{2},\ldots,\frac{N}{2}-1\) and \(\Delta\lambda\) frequency resolution. In a strict relation with these points, we will have the non-zero time domain of \(F(t;z)\) where we will define the sampling points as: \(T_{n}=n\Delta T\) with \(n=-\frac{N}{2},\ldots,\frac{N}{2}-\) and \(\Delta T\) time resolution. The number of points for both domains \(F(t;z)\) and \(\frac{b(\lambda;z)}{a(\lambda;z)}\) will be the same in this work. Our scope is to find the relationship between \(\lambda_{k}\) and \(T_{n}\) for both the time and frequency domains.  
Starting with the smallest frequency associated with the interval \([\lambda_{Max},\lambda_{Min}]\) that will be related to \(\Delta T\) as: \(\Delta T=\frac{1}{\lambda_{Max}-\lambda_{Min}}\), we also have \(N\Delta T=\frac{N}{\lambda_{Max}-\lambda_{Min}}\) and \(\Delta T\Delta\lambda=\frac{1}{N}\).  
In order to solve Equation (44), we developed the following procedure:  
1. Approximate the values \(\lambda_{Max},\lambda_{Min}\), such that \(\frac{b(\lambda;z)}{a(\lambda;z)}=0\) if \(\lambda<\lambda_{Min}\) and \(\lambda>\lambda_{Max}\) to estimate the domain for \(\frac{b(\lambda;z)}{a(\lambda;z)}\).
2. Control if \(2\Delta T<\frac{2\pi}{\lambda_{Max}-\lambda_{Min}}\).  
1. If True, define first \(p=\frac{2\pi}{\lambda_{Max}-\lambda_{Min}}-2\Delta T\) and perform the following change in the variables \(\lambda_{Min}\) and \(\lambda_{Max}\): \(\lambda_{Min}=\lambda_{Min}-\frac{p}{2}\) and \(\lambda_{Max}=\lambda_{Max}-\frac{p}{2}\). 2. If False, divide by 2 the step \(\Delta t\) until point (a) is satisfied.
3. Select the resolution in frequency based on the total number of points as: \[\Delta\lambda=\frac{\lambda_{Max}-\lambda_{Min}}{N}\] (46)
4. Select the resolution in time as: \[\Delta T=\frac{1}{\lambda_{Max}-\lambda_{Min}}\] (47)
5. Find the spatial evolution of the spectral amplitude by sampling \(\frac{b(\lambda_{i}z=0)}{a(\lambda_{i}z=0)}e^{\Delta t\lambda^{2}z}\) on the grid constructed for \(\frac{b(\lambda_{i}z=0)}{a(\lambda_{i}z=0)}\), and apply the inverse FFT in order to find the vector \(F(t;z)\) on the grid with amplitude: \[N\Delta T=\frac{N}{\lambda_{Max}-\lambda_{Min}}\] (48)
6. Select a user-defined variable called tolerance, \(\varepsilon\), and check if the function \(F(t;z)\) is less than it at the edge only, in order to better approximate its domain. We will differentiate between two cases: 1. If \(\max\left[P\left(\pm\frac{N}{2}\Delta T\right)\right]<\varepsilon\), then the approximated support and the corresponding grid are chosen such that we can apply the quadrature formulas approximating the integrals to be computed in the Marchenko system of Equation (3.5). 2. Otherwise, we multiply by 2 the total number of points and restart from the second step of this numerical algorithm.  
Following this procedure, we will be able to properly represent the signal \(u(t,z)\) and the integral of the function \(F(t;z)\).