What is an integrable field theory? Good question, nobody really knows. However a wave equation which has non-dispersive travelling wave solutions (solitons) which interact without the production of dispersive waves is a good condidate. Common observations of particles in physics might suggest that some sort of integrable mechanism could be behind the standard model. There are some common misconceptions about integrable theories (such as the claim that the solitons must preserve their original form indefinitely, and another about non-existence due to conservation laws) which lead to people dismissing this idea without good reason. (You can see pictures showing solitons decaying into other solitons in the Principal Chiral model here.) However there are two problems with integrable theories:
The smaller problem is that the quantisation of integrable systems is not completely understood. There are integrable systems (e.g. sine Gordon) where the exact quantum scattering is known, and its relation to quantum groups, but nontheless there remain some problems with the direct derivation of a complete quantisation (i.e. one preserving both position and momentum).
The huge problem is that I was not kidding when I said that
nobody really knows what an integrable system is, as long as you
add the words 'higher dimensional Lorentzian symmetry'. They are
well understood with many examples in one space
and one time dimension, but in the more than one space dimension
Lorentzian symmetry case virtually nothing is known - not even
what the definition should be. However there are some examples of
`almost integrable' systems - monopoles and Skyrmions. I have
tried to find examples of exactly integrable systems by combining
the algebraic geometry approach of twistor theory with the group
doublecross product construction method for integrable systems
(which is, in principle, very simple and general). However I have
not succeeded - and the only real light in this murky area remains
Richard Ward's mini-twistor construction.
Here are some pictures of soliton interactions in one space and one time direction. The space axis is left to right, and the time axis appears to go into the screen. The pictures were drawn by Mathematica, and are integrated energy or momentum density plots. The solitons show up as steps in the plots, that is where the energy or momentum density is concentrated.
Fallah Al Solamy and myself have developed a Mathematica program to show interactions of solitons which require two poles in the inverse scattering procedure. Again the graphs are based on an exact solution, and the integrated energy density and integrated momentum density are plotted. We exhibit time delays on collision and breather solutions, in addition to the decays and coalescences seen in the one pole pictures.
This is an integrated momentum density plot of the same interaction. Notice that the stationary soliton carries no momentum density.
This is an integrated momentum density plot of the same interaction. Notice the negative momentum density of the parallel solitons moving from right to left.
p[w_] := Transpose[ Transpose[ Conjugate[w] ]. Inverse[ w.Transpose[ Conjugate[w] ] ].w ] vec[x_,t_,alpha_,w_,j_,k_] := Transpose[ DiagonalMatrix[ Exp[ - ( (1+alpha) ( t+x ) j / 2 ) - ( (1+(1/alpha)) ( t-x ) k / 2 )] ] . Transpose[ w ] ] trace[a_] := Sum[ a[[i,i]] , {i,Length[a]} ] morsetime[x_,t_,alpha_,w_,j_,k_] := - (I Im[alpha]) trace[ DiagonalMatrix[ j - k /(Abs[alpha] Abs[alpha]) ]. p[vec[x,t,alpha,w,j,k]] ] /2 morsespace[x_,t_,alpha_,w_,j_,k_] := - (I Im[alpha]) trace[ DiagonalMatrix[ j + k /(Abs[alpha] Abs[alpha]) ]. p[vec[x,t,alpha,w,j,k]] ] /2 (* input w in the form w={ {m items} n times }. Here w is n vectors in complex m-space *) (* p[w] is then the projection matrix to the subspace generated by the w's*) (* J and K are loaded in terms of a list of the m diagonal elements (all imag) *) (* vec reports the values of the vectors at time t posn x, orig vec is w *) j={2 I, I,-I,-2 I} k={3 I, I, -I,-3 I} alpha=I w={ {0.00001,-1,1,0} } Plot3D[ - Re[morsespace[x,t,alpha,w,j,k]] ,{x, -15 , 17 } , {t, -70 , 60 }, PlotPoints->40 ] Plot3D[ Re[morsetime[x,t,alpha,w,j,k]] ,{x, -15 , 17 } , {t, -70 , 60 }, PlotPoints->40 ]
This is an integrated momentum density plot of the same interaction. Notice the complicated interaction at the center of the collision. The free stationary soliton carries no momentum and so is invisible in this picture.
However in this integrated momentum density plot of the same interaction the internal structure of the breather is apparent, since the breather has no net momentum. Note the symmetry of the plot.
Unprotect[Conjugate] Conjugate[Exp[a_]] := Exp[Conjugate[a]] Conjugate[Power[a_,x_]] := Power[a,Conjugate[x]] Conjugate[x] := x Conjugate[t] := t Conjugate[a_ + b_] := Conjugate[a] + Conjugate[b] Conjugate[a_ b_] := Conjugate[a] Conjugate[b] Protect[Conjugate] p[w_] := Transpose[ Transpose[ Conjugate[w] ]. Inverse[ w.Transpose[ Conjugate[w] ] ].w ] vec[x_,t_,aa_,w_,j_,k_] := Transpose[ DiagonalMatrix[ Exp[ - ( (1+aa) ( t+x ) j / 2 ) - ( (1+(1/aa)) ( t-x ) k / 2 )] ] . Transpose[ w ] ] trace[a_] := Sum[ a[[i,i]] , {i,Length[a]}] reverse[p1_,w3_,alpha_,beta_,m_] := Transpose[ ((IdentityMatrix[m] - p1) + ((beta - alpha) / (beta - Conjugate[alpha])) ((1 + Conjugate[alpha]) / (1 + alpha)) p1) . Transpose[ w3 ] ] fw1={ {1,1,1} } fw3={ {7,-2,2} } alpha=I beta=N[(1/Sqrt[2]) + (I/Sqrt[2]) ,10] m=3 k= {I, 0, -I} j= {I, 0, -I} w1[x_,t_] := Simplify[vec[x,t,alpha,fw1,j,k]] w3[x_,t_] := Simplify[vec[x,t,beta,fw3,j,k]] q1[x_,t_] = Simplify[p[w1[x,t]]] p1[x_,t_] := N[q1[x,t],10] w2[x_,t_] = Simplify[reverse[q1[x,t],w3[x,t],alpha,beta,m]] p2[x_,t_] := p[N[w2[x,t],10]] F1[p1_,p2_,alpha_,beta_,k_] := - (1/4) ((( - alpha + Conjugate[alpha]) / (alpha Conjugate[alpha])) trace[p1.DiagonalMatrix[k]] + (( - beta + Conjugate[beta]) / (beta Conjugate[beta])) trace[ p2.DiagonalMatrix[k]] + (( - beta + Conjugate[beta]) / (beta Conjugate[beta])) ((alpha - Conjugate[alpha]) / (Conjugate[alpha] (1 + alpha))) trace[ p2.p1.DiagonalMatrix[k]] + (( - beta + Conjugate[beta]) / (beta Conjugate[beta])) ((Conjugate[alpha] - alpha) / (alpha (1 + Conjugate[alpha]))) trace[ p1.p2.DiagonalMatrix[k]] - (( - Conjugate[alpha] + alpha)^2 / (alpha (1 + Conjugate[alpha]) Conjugate[alpha](1 + alpha))) (( - beta + Conjugate[beta]) / (beta Conjugate[beta])) trace[ p1.p2.p1.DiagonalMatrix[k]]) F2[p1_,p2_,alpha_,beta_,j_] := - (1/4) ((beta - Conjugate[beta]) trace[p2.DiagonalMatrix[j]] + ((Conjugate[alpha] - alpha) / (1 + alpha)) (beta - Conjugate[beta]) trace[ p2.p1.DiagonalMatrix[j]] + ((alpha - Conjugate[alpha]) / (1 + Conjugate[alpha])) (beta - Conjugate[beta]) trace[ p1.p2.DiagonalMatrix[j]] + (alpha - Conjugate[alpha]) trace[p1.DiagonalMatrix[j]] - ((alpha - Conjugate[alpha])^2 / ((1 + alpha) (1 + Conjugate[alpha]))) (beta - Conjugate[beta]) trace[p1.p2.p1.DiagonalMatrix[j]]) morsetime[x_,t_] := Re[F1[p1[x,t],p2[x,t],alpha,beta,k] + F2[p1[x,t],p2[x,t],alpha,beta,j]] Plot3D[ Re[morsetime[x,t]] ,{x, -10, 10 } , {t, -10 , 5 }, PlotPoints->40 ] morsespace[x_,t_] := Re[F1[p1[x,t],p2[x,t],alpha,beta,k] - F2[p1[x,t],p2[x,t],alpha,beta,j]] Plot3D[ Re[morsespace[x,t]] ,{x, -10, 10 } , {t, -10 , 5 }, PlotPoints-$>$40 ]