Fortran Codes


 



 
 
Splitting methods for perturbed problems

 

We have collected a number of splitting methods for perturbed systems. There are more than 30 methods and they have been classified according to their structure since they are built for different purposes.


Real and positive coefficients (only second order methods)

Real coefficients and high order (some negative coefficients)

Real coefficients, but the perturbation is not exactly solvable

Complex coefficients

Real-Complex coefficients (a set of coefficients is real and positive and the other one are complex)

Methods with processor

Explicitly time-dependent problems (for the dominant part)

 

All fortran programs with a pdf file to explain them are available here. You can also find useful the talk I gave at SciCADE13 where these methods were presented (slides).

 

The coefficients of the splitting methods with real coefficients and high order were obtained in APNUM2013 and tested in different problems in the Solar System in CELMEC2013. Some frotran codes which implement the 2-dimensional perturbed Kepler used in APNUM2013 are available in:

The perturbed Kepler problems.
 
 
 

 
 
Splitting methods for the Schödinger equation

 

We have prepared a pseudo-method which corresponds to a collection of a number of splitting methods for solving the Schrödinger equation. Given a symmetric real matrix, H, and a unitary vector, u0, it computes the product  u(t) = exp(-i t H) u0. The algorithm requires as inputs (similar to what is required by Chebyshev methods):

 

-The value of t

-The initial conditions, u0.

-Bounds to the spectrum of H, i.e. Emin and Emax such that Emin<= sigma(H) <=Emax

-A given tolerance.

-A subroutine which computes the vector-matrix products  H u0.

 

The method provides an approximation to  u(t) with an error under this tolerance. The pseudo-method has a collection of splitting methods, each one with different number of stages, error bounds and optimized for different purposes and it chooses the method which provides the desired result using the smaller number of vector-matrix products. In general, this is considerably faster than using the Chebyshev method. Here it is provided both the programs for the splitting methods as well as for the Chebyshev method (and for the Taylor method, just as a reference method).

 

Frortran programs are available here.