create_wmatrix Subroutine

private subroutine create_wmatrix(theta, phi, theta_old, phi_old, lmsize, wmat1, wmat2)

Create the rotation matrix The rotation matrix is created such that it rotates an operator which is in a local frame (locold) to another local frame (locnew) This is done by first transforming the old local frame to the global frame using the U matrix and then transforming the global frame to the new local frame Udegga = transpose(complex conjug ( U ) )

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: theta
real(kind=dp), intent(in) :: phi
real(kind=dp), intent(in) :: theta_old
real(kind=dp), intent(in) :: phi_old
integer, intent(in) :: lmsize
complex(kind=dp), intent(out) :: wmat1(2*lmsize,2*lmsize)
complex(kind=dp), intent(out) :: wmat2(2*lmsize,2*lmsize)