SUBROUTINE anchicpp(tchi,ptchi,nchi,nchimax, antotchi,chij, debug)
USE Numeric_Kinds_Module
!
! SUBROUTINE angmom calculates the DVR angular momentum matrices
! j_{chi}^2 and puts the result in antotchi
! for use in calculating the full hamiltonian for a(p)rime(p)rime.
! note that the full angular momentum array is calculated rather than
! just calculating the elements for the truncated DVR.
!
! tchi=chi dvr transformation matrix from tdvf2b
! ptchi=chi dvr points
! nchi=number of angular basis functions in chi
! nchimax=maximum number of angular basis functions
! angtot=transformed j^2 matrix
! chij=REAL(Kind=WP_Kind) scratch array of dimension nchimax
!
IMPLICIT NONE
INTEGER i, j, jchi, k, nchi, nchi2, nchimax
LOGICAL debug
EXTERNAL mprint
REAL(Kind=WP_Kind) ptchi(nchi),antotchi(nchimax,nchi)
REAL(Kind=WP_Kind) tchi(nchimax,nchi)
REAL(Kind=WP_Kind) chij(nchi), temp
!
! calculate FBR j_{chi}^2 (which is diagonal) and placing
! results in chij
!
nchi2=nchi/2
DO j=1,nchi2
jchi=2*(j-1)+1
ENDDO
!
! calculate FBR j_{chi}^2 (which is diagonal) and placing
! results in chij
!
DO j=nchi2+1,nchi
jchi=(2*(j-1-nchi2)+1)
chij(j)=jchi*jchi
ENDDO
!
! now transform the j^2 matrix using tchi
!
DO i=1,nchi
DO j=1,nchi
temp=0.0d0
DO k=1,nchi
temp=temp+tchi(i,k)*chij(k)*tchi(j,k)
ENDDO
antotchi(i,j)=temp
ENDDO
ENDDO
IF(debug) CALL printm(mprint,8,"angt",antotchi,nchi ,nchi ,nchimax)
ENDSUBROUTINE anchicpp