Solving Time-independent 2D Schrodinger equation with finite difference method
15 次查看(过去 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
0 个评论
采纳的回答
Milos Dubajic
2016-5-22
You can use spdiags to create sparse matrices which will help you to save memory.
0 个评论
更多回答(2 个)
Laurent NEVOU
2018-1-15
Look at this example: https://github.com/LaurentNevou/Schrodinger2D_demo
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!