utility_rotate Function

public function utility_rotate(mat, rot, dim)

Uses

  • proc~~utility_rotate~~UsesGraph proc~utility_rotate utility_rotate module~w90_constants w90_constants proc~utility_rotate->module~w90_constants

Rotates the dim x dim matrix 'mat' according to (rot)^dagger.mat.rot, where 'rot' is a unitary matrix

Arguments

Type IntentOptional Attributes Name
complex(kind=dp) :: mat(dim,dim)
complex(kind=dp) :: rot(dim,dim)
integer :: dim

Return Value complex(kind=dp), (dim,dim)


Called by

proc~~utility_rotate~~CalledByGraph proc~utility_rotate utility_rotate proc~berry_get_kdotp berry_get_kdotp proc~berry_get_kdotp->proc~utility_rotate proc~wham_get_d_h_p_value wham_get_D_h_P_value proc~berry_get_kdotp->proc~wham_get_d_h_p_value proc~wham_get_eig_deleig wham_get_eig_deleig proc~berry_get_kdotp->proc~wham_get_eig_deleig proc~berry_get_kubo_k berry_get_kubo_k proc~berry_get_kubo_k->proc~utility_rotate proc~wham_get_d_h wham_get_D_h proc~berry_get_kubo_k->proc~wham_get_d_h proc~berry_get_kubo_k->proc~wham_get_eig_deleig proc~berry_get_sc_klist berry_get_sc_klist proc~berry_get_sc_klist->proc~utility_rotate proc~berry_get_sc_klist->proc~wham_get_d_h proc~berry_get_sc_klist->proc~wham_get_d_h_p_value proc~berry_get_sc_klist->proc~wham_get_eig_deleig proc~wham_get_eig_deleig_tb_conv wham_get_eig_deleig_TB_conv proc~berry_get_sc_klist->proc~wham_get_eig_deleig_tb_conv proc~berry_get_shc_klist berry_get_shc_klist proc~berry_get_shc_klist->proc~utility_rotate proc~berry_get_shc_klist->proc~wham_get_d_h proc~berry_get_shc_klist->proc~wham_get_eig_deleig proc~berry_get_shc_tetrahedron berry_get_shc_tetrahedron proc~berry_get_shc_tetrahedron->proc~utility_rotate proc~gyrotropic_get_k_list gyrotropic_get_k_list proc~gyrotropic_get_k_list->proc~utility_rotate proc~gyrotropic_get_noa_k gyrotropic_get_NOA_k proc~gyrotropic_get_k_list->proc~gyrotropic_get_noa_k proc~gyrotropic_get_k_list->proc~wham_get_d_h proc~gyrotropic_get_k_list->proc~wham_get_eig_deleig proc~gyrotropic_get_noa_k->proc~utility_rotate proc~wham_get_d_h->proc~utility_rotate proc~wham_get_d_h_a wham_get_D_h_a proc~wham_get_d_h_a->proc~utility_rotate proc~wham_get_d_h_p_value->proc~utility_rotate proc~wham_get_deleig_a wham_get_deleig_a proc~wham_get_deleig_a->proc~utility_rotate proc~berry_main berry_main proc~berry_main->proc~berry_get_kdotp proc~berry_main->proc~berry_get_kubo_k proc~berry_main->proc~berry_get_sc_klist proc~berry_main->proc~berry_get_shc_klist proc~berry_main->proc~berry_get_shc_tetrahedron proc~gyrotropic_main gyrotropic_main proc~gyrotropic_main->proc~gyrotropic_get_k_list proc~k_path k_path proc~k_path->proc~berry_get_shc_klist proc~k_slice k_slice proc~k_slice->proc~berry_get_shc_klist proc~k_slice->proc~wham_get_eig_deleig proc~wham_get_eig_deleig->proc~wham_get_deleig_a proc~wham_get_eig_deleig_tb_conv->proc~wham_get_deleig_a proc~calctdfanddos calcTDFandDOS proc~calctdfanddos->proc~wham_get_eig_deleig proc~dos_main dos_main proc~dos_main->proc~wham_get_eig_deleig proc~geninterp_main geninterp_main proc~geninterp_main->proc~wham_get_eig_deleig program~postw90 postw90 program~postw90->proc~berry_main program~postw90->proc~gyrotropic_main program~postw90->proc~k_path program~postw90->proc~k_slice program~postw90->proc~dos_main program~postw90->proc~geninterp_main proc~boltzwann_main boltzwann_main program~postw90->proc~boltzwann_main proc~boltzwann_main->proc~calctdfanddos

Source Code

  function utility_rotate(mat, rot, dim)
    !================================================!
    !
    !! Rotates the dim x dim matrix 'mat' according to
    !! (rot)^dagger.mat.rot, where 'rot' is a unitary matrix
    !
    !================================================!

    use w90_constants, only: dp

    integer          :: dim
    complex(kind=dp) :: utility_rotate(dim, dim)
    complex(kind=dp) :: mat(dim, dim)
    complex(kind=dp) :: rot(dim, dim)

    utility_rotate = matmul(matmul(transpose(conjg(rot)), mat), rot)

  end function utility_rotate