Nowadays, the computer programming language is very convenient and at the same time powerful. It provides us one simple way to calcilate the determinant of some large matrix. It can calculate the determinant of a square matrix of even one hundred order in a blink. When we address an eigenvalue problem and are allowed to discretize the space, then we may be let solve a secular equation. The secular equation is,
where H is the discretized Hamiltonian, e the unknown variable and I the identity matrix. A method which I would like to show you here is to exploit the power of the programming language and to draw the curve of the determinant as a function of e, and to search for any points where the curve intersects or touches the e-abscissa. That is, we may be able to draw a curve of the following function.
Whether this method works or not depends on the behavior of the curve. If it crosses or touches the e-axis unambiguously, then we may be able to regard the coordinate of the crossing points or touching points as the eigenvalues, i.e., the solution of the given eigenvalue problem.
I have tested this method in order to know if and how it works. The trial system is one-dimensional well-known harmonic oscillator, and its hamiltonian is,
And I let the matrix order be 101 and let the lattice constant be 0.02. As a result of this trial, it was found that the function takes either extremely huge positive or negative numbers (10^150~10^130) for the examined variable range 0<e<10. Seeing the graph, at the expected positions, the curve of eq(2) was observed to rise up or down to cross the e-axis almost perpendicularly. Yes, that is good, that is good. But the accuracy of the obtained eigenvalues are not so good and it worsens when it steps up higher the ladder of order of the eigenvalue.
Exact e's Obtained e's
So I thought that this method is very rough computation, and may be helpful only as a guide to find the rough positions of the lowest several eigenvalues.
Eventually this method has turned out to be really a trivia.