📄 eigen1d.f90
字号:
!***! 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -