\(SOLITON\ SOLUTION\ TO\ THE\ NONLINEAR\ SCHRÖDINGER\ EQUATION\)
		
This is the n–soliton solution with all simple poles. The input consists of the bound state data,namely the simple poles of the transmission coefficient on the upper half complex plane and the bound state norming constants.
 
The number of poles is denoted by n. The poles are specified in the vector λ below,where the imaginary parts must be positive .  The norming constants are specified as the complex entries of the vector  c  below.

The absolute value |u(x, t)| \(of\ the\ exact\ solution\ to\ the\ NLS\ equation\ is\ evaluated\ as\ in\ \ \((6.6)\)\ of\ \ [Aktosun, \ Demontis, \ 
                  van\ der\ Mee\ \ \((2007)\)] . 

Note\ that\ the\ real\ parts\ of\ the\ poles\ of\ the\ transmission\ coefficient\ causes\ \(\(fluctuations\)\(.\)\)\)

\(Specify\ \ the\ number\ of\ bound–state\ poles\ \ n\),  the complex vector  {(Subscript[λ, 1]), (Subscript[λ, 2]), …, (Subscript[λ, n])} with positive real parts, and the complex norming constants {(Subscript[c, 1]), 
              (Subscript[c, 2]), …, (Subscript[c, n])} .

n = 3;
λ = {-1 + I, -2 + 3 I, -3 + 4 I, 1.5 I,  
          0.5 I};
c = {-1 + I, -2 + I, 2 + 3 I, -I, 2 I};

ccλ = Conjugate[λ];
ccc = Conjugate[c];

gammamatrix=IdentityMatrix[n]+Table[ccc[[i]] E^(-I ccλ[[i]]  x - 
                      4 I (ccλ[[i]])^2 t) Sum[
                  c[[k]] E^(2 I λ[[k]]  x + 
                            4 I (λ[[k]])^2 t)/((ccλ[[i]] - λ[[k]]) (λ[[k]] - 
                              ccλ[[j]])), {k, 1, n}] E^(-I ccλ[[j]]  x),{i, n},{j, n}];

detgamma = Det[gammamatrix];

derivdetgamma = D[detgamma, x];

absusqr = D[derivdetgamma/detgamma, x];

absu = Chop[Sqrt[Abs[absusqr]]];

Plot  |u(x,0)|, \(the\ absolute\ value\ of\ the\ initial\ \(\(potential\)\(.\)\)\)

Plot[absu /.  t -> 0, {x, -4, 4}, 
      PlotRange -> {0, 10}]

<< Graphics`Animation`

Animate  |u(x,t)| \(to\ see\ the\ time\ evolution\ of\ the\ \(\(potential\)\(.\)\)\)

\(\(\(
\)\(Animate[
        Plot[Chop[absu], \ {x, \ \(-15\), \ 15}, \ 
          PlotRange -> {0, 10}], \ {t, \ \(-1\), \ 2, \  .05}, 
        AxesLabel -> t "t"];\)\)\)