# Module s2dw_dl_mod

module s2dw_dl_mod
! Uses
use s2dw_types_mod, only: dp
! Subroutines and functions
public subroutine s2dw_dl_beta_operator (dl, beta, l)
private subroutine s2dw_dl_beta_operator_core (dl, beta, l)
private subroutine s2dw_dl_beta_operator_fill (dl, l)
end module s2dw_dl_mod

Functionality to compute specified plane of the Wigner dl matrix.
Note:

- Copied from s2 library so S2DW library is self contained.

**Author:** D. J. Mortlock

**Version:** 0.1 Compiled in S2DW library by JDM October 2007

## Description of Subroutines and Functions

### s2dw_dl_beta_operator

public subroutine s2dw_dl_beta_operator (dl, beta, l)
real (kind=dp), intent(out), dimension (-l:l,-l:l) :: dl
real (kind=dp), intent(in) :: beta
integer, intent(in) :: l
! Calls: s2dw_dl_beta_operator_core, s2dw_dl_beta_operator_fill
end subroutine s2dw_dl_beta_operator

Calculates the lth plane of a d-matrix using Turok & Bucher's
operator-based method.
Variables:

- dl: Dl matrix values computed for lth plane.
- beta: Beta euler angle to compute dl matrix for.
- l: Plane of dl matrix to compute values for.

**Author:** D. J. Mortlock

**Version:** 0.1 Compiled in s2dw library by JDM October 2007

private subroutine s2dw_dl_beta_operator_core (dl, beta, l)
real (kind=dp), intent(out), dimension (-l:l,-l:l) :: dl
real (kind=dp), intent(in) :: beta
integer, intent(in) :: l
end subroutine s2dw_dl_beta_operator_core

Does the left quarter of the d-matrix. Beta is the angle of rotation,
l is the plane of the matrix required and dl is the two dimensional
array representing the lth plane of the matrix. This array must be
already allocated on entry with dimensions given by the command
allocate(dl(- lmax: lmax, - lmax: lmax)) where lmax >= l.
Variables:

- dl: Dl matrix values computed for lth plane.
- beta: Beta euler angle to compute dl matrix for.
- l: Plane of dl matrix to compute values for.

**Author:** D. J. Mortlock

**Version:** 0.1 Compiled in s2dw library by JDM September 2005

private subroutine s2dw_dl_beta_operator_fill (dl, l)
real (kind=dp), intent(inout), dimension (-l:l,-l:l) :: dl
integer, intent(in) :: l
end subroutine s2dw_dl_beta_operator_fill

Computes the three remaining (top, bottom and right) quarters of the
d-matrix, given the left quarter.
Variables:

- dl: Dl matrix values computed for lth plane.
- beta: Beta euler angle to compute dl matrix for.

**Author:** D. J. Mortlock

**Version:** 0.1 Compiled in s2dw library by JDM September 2005