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 - The Fusion of Science and Community**

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

Know someone interested in this topic? Share a link to this question via email,
Google+,
Twitter, or
Facebook

Have something to add?

- Similar discussions for: Need help with a fortran-routine that calculates the associated Laguerre function

Loading...

**Physics Forums - The Fusion of Science and Community**