Hi!(adsbygoogle = window.adsbygoogle || []).push({});

Im trying to do some rather easy QM-calculations in Fortran.

To do that i need a routine that calculates the generalized Laguerre polynomials.

I just did the simplest implementation of the equation:

[tex]L^l_n(x)=\sum_{k=0}^n\frac{(n+l)!(-x^2)^k}{(n-k)!k!}[/tex]

I implemented this in the following way:

The code is running and i do get results, but when i compare them with the results given in for example Mathematica, they seems quite strange.Code (Text):

SUBROUTINE LAGUERRE(n,l,r,u,arraylength)

Implicit none

INTEGER, INTENT(IN) :: arraylength,n

real(kind=kind(0.d0)), INTENT(IN) :: l

REAL(kind=kind(0.d0)), INTENT(IN),DIMENSION(arraylength) :: r

REAL(kind=kind(0.d0)), INTENT(OUT),DIMENSION(arraylength) :: u

REAL(kind=kind(0.d0)), DIMENSION(arraylength) :: temp

Integer :: m

temp=0.d0

do m=0,n

temp=temp+gamma(real(n)+l+1.0)*(-r)**m/

+ (gamma(real(n)-real(m)+1.0)*gamma(l+real(m)+1.0)

+ *gamma(real(m)+1.0))

end do

u=temp

END SUBROUTINE LAGUERRE

So my questions are: Do you see some obvious mistakes? Do you think there are possibilities for numerical errors? (In such a case, do you have any advices on improvments?)

When i have been googling around, it looks like alot of the numerical implementations are using recursive relations. What are the pro's and con's for doing this kind of calculation in such a manner?

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Need help with a fortran-routine that calculates the associated Laguerre function

Loading...

**Physics Forums | Science Articles, Homework Help, Discussion**