V3FIT
power_to_legendre.f
1  SUBROUTINE power_to_legendre(n, a, b, ac, tc)
2  USE stel_kinds
3  IMPLICIT NONE
4  INTEGER, INTENT(IN):: n
5  REAL(rprec), DIMENSION(0:n), INTENT(IN):: ac
6  REAL(rprec), DIMENSION(0:n), INTENT(OUT):: tc
7  REAL(rprec), DIMENSION(0:n,0:n), INTENT(IN):: a, b
8  INTEGER:: i, j, k
9 !------------------------------------------------------------------
10 ! Given the following notation:
11 !
12 ! TC == (tc(1), ...tc(n))==> vector of coefficients
13 ! for Legendre series in [-1,1]
14 ! AC == (ac(1), ...ac(n))==> vector of coefficients
15 ! for power series in [0,1]
16 ! THEN:
17 ! TC = AC* B * A
18 !------------------------------------------------------------------
19  DO i = 0, n
20  tc(i) = 0
21  DO j= 0, n
22  DO k = 0, n
23  tc(i) = tc(i) + ac(j) * b(j,k) * a(k,i)
24  END DO
25  END DO
26  END DO
27 
28  END SUBROUTINE power_to_legendre