Solution of 1D Schrodinger using discretized hamiltonian

In summary, the conversation involves a discussion on solving the 1D Schrodinger equation for an arbitrary potential using iterative techniques or by discretizing the hamiltonian and finding eigenvalues/eigenvectors. The participants are facing difficulties and discussing potential coding errors and the use of different programming languages. They also mention the importance of setting up the matrix correctly and using "walls" around the region of interest to prevent the wavefunctions from leaking out.
  • #1
beady
1
0
Hi all,
I'm trying to solve the 1D Schrodinger equation for an arbritary potential, to calculate Franck Condon factors for absorption and emmision spectra. I can do this using iterative techniques (e.g. the Numerov method), but I can't seem to get it to work by discretrizing the hamiltonian, and then finding the eigen vectors/values. Here's what I'm doing, hopefully someone can help.

initial hamiltonian : [tex]H=\frac{1}{2 I}\frac{d^2}{dx^2} + W(x) [/tex]

Split the space up into n points.

use the standard finite difference relations for a second derivative leads to:
[tex]\frac{1}{2I}\frac{v_{i-1}-2v_{i}+v_{i+1}}{\delta^2}+W_i v_i = E v_i[/tex]

and the relevant forward and backward differences for the endpoints.

I then set up a matrix for the above linear equations, and then just solve the system using either Matlab or Mathematica eigenvalue and eigenvector routines.

The problem is that the resulting eigenvalues ( energies ) are completely wrong, and the wavefunctions ( individual eigenvectors ) are weird. It seems that the eigenvectors oscillate around around y=0. It's difficult to explain, but if the desired wavefunction is phi, then at even grid points (n=2,4,6...) , I get the correct phi(x) value, but for odd grid points (n=1,3,5,7...), I get -phi(x). This is easily corrected, but why is it happening?

Is it possible to calculate the wavefunction using this method? I may have made a coding error, but I'm interested to know if the method above should work, and if not, why not.

Thanks in advance
 
Last edited:
Physics news on Phys.org
  • #2
Hi,

did you ever have any luck solving this? I have the same problem using python (using the numpy.linalg package to perform the diagonalization). What's more it seems to persist even for a 5 point stencil for the second derivative.
 
  • #3
What is the form of the potential for which you are getting the bad results.
 
  • #4
Hi, actually I am just using a square well potential at the moment (for testing) - ie. V(x)=0. In my case, I suspect it is something to do with using the python linalg.eigh implementation, as it seems to work in Fortran with a call to the lapack function dstevx (which diagonalizes a tridiagonal matrix).
 
  • #5
Ah. Well we use NumPy and SciPy around here so if there is a problem with it's linear algebra package we would certainly want to know about it. Please keep me informed. Thanks.
 
  • #6
Solving the 1D SE by calculatint eigenvectors/eigenvalues is fairly easy. The only "tricky" part is setting up the matrix (and relazing that it is is tri-diagonal).
However, there is one thing you need to watch out for: it is a good idea to put "walls" around the region of interest (i.e. set V(x)=a very large number) or otherwise the wavefunctions might "leak out" in non-physical way with some solvers (in principle you should also be able to simply use a very "deep" well but that is not very efficient).
You obviously have to make sure that you put the "walls" at an energy much higher than the eigenenergies you are interested in, or otherwise they will affect the result.
 

1. What is the Schrodinger equation?

The Schrodinger equation is a fundamental equation in quantum mechanics that describes the time evolution of a quantum system. It is written in terms of a wave function and includes a Hamiltonian operator, which represents the total energy of the system.

2. What is a discretized Hamiltonian?

A discretized Hamiltonian is a numerical approximation of the Hamiltonian operator in the Schrodinger equation. It involves breaking the continuous space and time variables into discrete steps, which allows for easier calculation using computers.

3. How is the discretized Hamiltonian used in solving 1D Schrodinger equation?

The discretized Hamiltonian is used to convert the continuous Schrodinger equation into a matrix form, which can then be solved using linear algebra techniques. This allows for an efficient and accurate solution to the 1D Schrodinger equation.

4. What are the advantages of using a discretized Hamiltonian in solving the 1D Schrodinger equation?

One advantage is that it allows for the solution of complex systems that cannot be solved analytically. It also allows for easy implementation on computers, making it a practical tool for studying quantum systems. Additionally, using a discretized Hamiltonian can provide more accurate results compared to other methods of solving the Schrodinger equation.

5. Are there any limitations to using a discretized Hamiltonian in solving the 1D Schrodinger equation?

One limitation is that it can only be applied to systems with a finite number of states. It also assumes a discrete energy spectrum, which may not accurately represent all quantum systems. Additionally, the accuracy of the solution depends on the size of the discretization steps used, which can be computationally expensive for large systems.

Similar threads

  • Quantum Physics
Replies
3
Views
1K
Replies
2
Views
709
Replies
2
Views
699
  • Quantum Physics
Replies
2
Views
967
  • Quantum Physics
Replies
5
Views
539
Replies
3
Views
821
  • Quantum Physics
Replies
1
Views
826
Replies
12
Views
2K
Replies
4
Views
1K
Replies
6
Views
830
Back
Top