MATLAB Answers

0

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

Asked by Dibakar Yadav on 11 Apr 2016
Latest activity Answered by Laurent NEVOU on 15 Jan 2018
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

  0 Comments

Sign in to comment.

3 Answers

Answer by Milos Dubajic on 22 May 2016
 Accepted Answer

You can use spdiags to create sparse matrices which will help you to save memory.

  0 Comments

Sign in to comment.


Answer by John D'Errico
on 11 Apr 2016

Just use the tool designed to solve your problem.
help eigs

  0 Comments

Sign in to comment.


Answer by Laurent NEVOU on 15 Jan 2018

Look at this example: https://github.com/LaurentNevou/Schrodinger2D_demo

  0 Comments

Sign in to comment.