Solving Time-independent 2D Schrodinger equation with finite difference method

30 vues (au cours des 30 derniers jours)
Hi, I need to solve a 2D time-independent Schrodinger equation using Finite Difference Method(FDM). The potential is assumed to be 0 throughout and I am using standard five point finite difference discretization scheme. My grid size in two directions x and y (say Nx & Ny) is rather large, Nx=Ny=160.
So the size of the FDM matrix is (25600,25600) though it is sparse. I need only smallest 15-20 eigenvalues and corresponding eigenvectors.
Can someone suggest how to get the eigenvalues without dealing with the entire matrix which will obviously cause memory issues. Will SVD help?
PS: I am going through the methods to store large sparse matrices, any suggestions on storing the matrix elements will be greatly appreciated.
Thanks and Regards, Dibakar

Réponse acceptée

Milos Dubajic
Milos Dubajic le 22 Mai 2016
You can use spdiags to create sparse matrices which will help you to save memory.

Plus de réponses (2)

John D'Errico
John D'Errico le 11 Avr 2016
Just use the tool designed to solve your problem.
help eigs

Laurent NEVOU
Laurent NEVOU le 15 Jan 2018
Look at this example: https://github.com/LaurentNevou/Schrodinger2D_demo

Catégories

En savoir plus sur Quantum Mechanics dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by