## The Sturm-Liouville problem

We consider Sturm-Liouville eigenvalue problems on the real line,

where the boundary conditions are that the solutions should be square-integrable. Furthermore we consider potentials that are even functions such that as

In the "harmonic" case, the eigenfunctions are the so-called Hermite functions,

where are the Hermite polynomials. The codes in this project explore convergence rates for different potentials using the initial sets of Hermite functions for Galerkin bases. In fact, instead of the a basis of "normalized" Hermite functions satisfying will be used.

## Multiple-precision computations

Presumably the dependence of the convergence rates on the number of basis functions is asymptotic in such a way that it is not numerically observable until is beyond a certain minimal threshold. For this reason it is necessary to perform the computations in multiple-precision arithmetic, that is, with floating-point types whose precision can be increased as needed. Two numerical libraries used are:

• the MPFR Library, which defines a multiple-precision type in C, and for which there are C++ wrappers which overload the standard arithmetic operations for this type,
• the Template Numerical Toolkit, which implements the numerical algorithms from LAPACK for a floating-point type that is passed as a C++ template parameter.

For certain polynomial potentials such as for the Galerkin discretization of the elliptic operator can be assembled "analytically." For for most potentials, however, the entries of the potential matrix,

must be computed via numerical quadrature. Development of the quadpack++ library was initiated toward this purpose and remains ongoing: this is an implementation of the adaptive routines from QUADPACK for a floating-point type that is passed as a C++ template parameter.

## Experiments

The most direct way of examining convergence is to discretize an elliptic operator for two different basis sizes, say and and to examine the difference in the -th eigenvalue arising from the respective discretizations. (Assumptions on the potentials ensure that all eigenvalues are non-degenerate, hence such a comparison is possible.) The rate at which as increases is the quantity of interest.

Since most of the numerical effort is consumed by the computation of the integrals an efficient approach is to assemble just one matrix for a reasonably large basis and then to diagonalize each upper left block, as such any such block is the discretization arising from the first basis functions. Programs were written for the potentials

Source codes are available by email inquiries.

## Internals: the Galerkin discretizations

All functions directly related to the Galerkin discretization are listed under Hermite approximation.

The basis of normalized Hermite functions is implemented in Normal_Hermite_Ftns. Assembly of the Galerkin discretization requires computing two kind of integrals,

and the respective assembly functions are Hermite_Kinetic and Hermite_Potential. Fortunately there is a closed form expression for the entries

For potentials whose growth as is dominated by the exponential the integrand of each is non-singular at infinity. This permits the use of "basic" adaptive quadrature on a finite interval after transforming the integral by a variable transform. This is the purpose of the function Potential_QAGI; it defines the variable-transformed integrand.

The integrals have a closed form expression for for (The matrix is diagonal when since the are the eigenfunctions.) For experimental purposes the assembly routine Hermite_Moment was written for this special case.

Source codes are available by email inquiries.

## References

1. Gerald Folland, Fourier Analysis and its Applications, Brooks/Cole Publishing (1992).