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

53 views (last 30 days)
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

Accepted Answer

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

More Answers (2)

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

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

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by