A C++ class named Davidson is presented for determining a few eigenpairs with lowest or alternatively highest values of a large, real, symmetric matrix. The algorithm described by Stathopoulos and Fischer is used. The exception mechanism is involved to report the errors. The class is written in ANSI C++, so it is fully portable. In addition a console program as well as a program with graphical user interface for Microsoft Windows is attached, which allow one to calculate the lowest eigenstates of time-independent Schrödinger equation for a given binding potential in one, two or three spatial dimensions. The package contains the classes providing often used potential functions (model atom potential, Coulomb potential, square well potential and Kramers–Henneberger well potential) as well as a possibility to use any potential stored in a file (then any dimensionality of the problem is allowed). The described code is the subject of M.Sc. thesis of T.D. prepared under the supervision of J.M. Program summary Program title: Davidson Catalogue identifier: ADZM_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADZM_v1_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 3 037 055 No. of bytes in distributed program, including test data, etc.: 20 002 609 Distribution format: tar.gz Programming language: C++ Computer: All Operating system: Any RAM: User's parameters dependent Word size: 32 and 64 bits Supplementary material: Test results for the 2D and 3D cases is available Classification: 4, 4.8 Nature of problem: Finding a few extreme eigenpairs of a real, symmetric, sparse matrix. Examples in quantum optics (interaction of matter with a laser field). Solution method: Davidson algorithm Running time: The test example included in the distribution package (1D matrix) takes approximately 30 minutes to run. 2D matrix calculations can take hours and 3D, days, to run.
Read full abstract