c From: "COMPUTATIONAL PHYSICS, 2nd Ed" c by RH Landau, MJ Paez, and CC Bordeianu c Copyright Wiley-VCH, 2007. c Electronic Materials copyright: R Landau, Oregon State Univ, 2007; c MJ Paez, Univ Antioquia, 2007; and CC Bordeianu, Univ Bucharest, 2007. c Support by National Science Foundation c c bound.f: bound states in momentum space of delta shell potential c uses LAPACK SGEEV, 16 grid points, l = 0, lambda variable c NB: results are NOT stable to continuing increase in Npts! Program bound Integer n, Size, job, info, i, j Real b Parameter (Size = 100, pi = 3.141592, b = 10.0) Real lambda, scale Double Precision Pot Complex x(Size),V(Size, Size) Real H(Size,Size), Work(0:Size,0:Size), k(Size), w(Size) c Enter potential strength Write(*,*) 'enter lambda' Read(*,*) lambda Write(*,*) 'enter scaling factor' Read(*,*) scale Write(*,*) 'number of points' Read(*,*) n c c set up Gauss points & weights on the interval [0,inf] c scale is the "midpoint" of the integration on the infinite c Call Gauss(n,2,0.0,scale,k,w) c Set up V and H DO i = 1,n DO j = 1,n Pot = -1.0*lambda*SIN(b*k(i))*SIN(b*k(j)) Pot = Pot/(k(i)*k(j)) H(i,j) = w(j)*k(j)*k(j)*2.0*Pot/pi If (i .EQ. j) Then H(i, j) = H(i, j)+k(i)*k(i) Endif End Do End Do job = 1 Call sgeev(h, Size, n, x, V,Size, Work, job, info) Write(*,*) info Do i = 1, n Write(*, *) x(i) End Do End