In this paper we review the main facts about a recent approach for efficiently solving the following general form of (non-dimensional)
Nonlinear Schrödinger Equation (NLSE),
coupled with initial data and periodic boundary conditions, with
the imaginary unit,
a differentiable function, and
its derivative.
Generally speaking, there are basically two ways in which NLSE enters physical and applied sciences. The first one is the appearance of the NLSE as the first-order approximation of a nonlinear dispersive system, such as the wave equation in a nonlinear medium. To this category belong the NLSE used in Fiber Optics [
1], Plasma Physics [
2,
3,
4], Geophysics [
5,
6] and Biology [
7]. The other way NLSE appears in physics is as the single-particle, mean-field approximation of a many-particle linear system. This is typically the case of quantum mechanics, where the NLSE arises in several contexts, the most important being the description of the dynamics of a Bose-Einstein condensate. In this case the suitable NLSE is also known as Gross-Pitaevskii equation [
8]. In most such applications, the NLSE is used in its more common form, i.e., with cubic nonlinearity, corresponding to
. However, higher-degree nonlinearities appear in important applications, among which it is worth mentioning the
cubic-quintic NLSE, corresponding to
, which is used to describe the propagation of ultrashort pulses in optical fibers [
1,
9,
10,
11] or high-density effects in Bose-Einstein condensates [
12,
13,
14]. The NLSE is of course of great interest also from a purely mathematical viewpoint, especially in view of its profound connections with the theory of integrable PDEs, solitons and inverse scattering [
15,
16,
17,
18,
19].
For all these reasons, the numerical solution of the NLSE has been the subject of investigation since a long time (see, e.g., [
20,
21,
22,
23,
24] for early approaches). More recently,
geometric numerical methods have been considered: as an example, we mention
multi-symplectic methods (see, e.g., [
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36]),
symplectic methods (see, e.g., [
37,
38,
39,
40,
41,
42,
43,
44]), and so forth (see, e.g., [
45,
46,
47,
48,
49,
50,
51]). More recently, methods able to conserve the energy or other invariants (see, e.g., [
52,
53,
54,
55,
56,
57,
58,
59,
60,
61]) have been investigated: the methods we shall deal with, are exactly placed in this latter setting. The basic approach follows what suggested in [
62, page 187], namely by suitably using the method of lines:
if the PDEs are of Hamiltonian type, [...] the space discretization should be carried out in such a way that the resulting system of ODEs is Hamiltonian (for a suitable Poisson bracket). The latter system is then solved by using a
geometric method for the time integration. Usually,
symplectic methods [
62,
63,
64,
65,
66] have been used for this purpose. Instead, in the present case, we shall consider
energy-conserving methods, namely methods able to conserve the energy. Energy-conserving methods have been studied by many authors (see, e.g., [
67,
68,
69,
70]): we shall here consider the class of
Hamiltonian Boundary Value Methods (HBVMs), which is a family of Runge-Kutta (RK) methods recently devised for the efficient numerical solution of Hamiltonian ODEs. We refer to [
68,
71] (and, in particular, to the monograph [
67]
1) for the derivation and analysis of such methods, which have been devised within the framework of the so called
line integral methods (see, e.g., the review paper [
72]). We mention that generalizations and extensions of such approach have been also considered in [
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85]. HBVMs have been also considered for the efficient numerical solution of a number of Hamiltonian PDEs (see, e.g., [
86,
87,
88,
89,
90]), among which the NLSE [
91] and Manakov systems [
92].
With this premise, the structure of the paper is as follows: in
Section 2 we recall the basic facts about the NLSE along with its space semi-discretization; in
Section 3 we review HBVMs and their properties; in
Section 4 we give some details about the efficient implementation of such methods for numerically solving the NLSE (
1);
Section 5 contains a few numerical tests; at last some concluding remarks are given in
Section 6.