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

조회 수: 10 (최근 30일)
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

채택된 답변

Milos Dubajic
Milos Dubajic 2016년 5월 22일
You can use spdiags to create sparse matrices which will help you to save memory.

추가 답변 (2개)

John D'Errico
John D'Errico 2016년 4월 11일
Just use the tool designed to solve your problem.
help eigs

Laurent NEVOU
Laurent NEVOU 2018년 1월 15일
Look at this example: https://github.com/LaurentNevou/Schrodinger2D_demo

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by