eigen1d.f90
来自「Ground state of the time-independent Gro」· F90 代码 · 共 39 行
F90
39 行
!***! The following code is for use with the LAPACK library!***subroutine eigen(n,H,eigenval,eigenvec) ! ! Return the eigenvector of H with the smallest eigenvalue ! H assumed symmetric ! implicit none integer, parameter :: dp=kind(1.d0) integer, intent(in) :: n real(dp), dimension(n,n), intent(in) :: H real(dp), intent(out) :: eigenval real(dp), dimension(n), intent(out) :: eigenvec integer :: lwork,info real(dp), dimension(n) :: eval real(dp), dimension(n,n) :: evec real(dp), dimension(3*n) :: work character(len=1) :: jobz = 'V', uplo = 'U' lwork = 3*n evec = H call dsyev(jobz,uplo,n,evec,n,eval,work,lwork,info) if(info /= 0) then write(*,*) "Error with dsyev in subroutine eigen" stop end if eigenval = eval(1) eigenvec = evec(:,1) returnend subroutine eigen
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?