checks the condition for nonvanishing 3-j symbol with zero projections: triangle inequality on x,y,z and if the sum x+y+z is an even integer
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | x |
variables to check for 3-j symbol conditions |
||
integer(kind=int32), | intent(in) | :: | y |
variables to check for 3-j symbol conditions |
||
integer(kind=int32), | intent(in) | :: | z |
variables to check for 3-j symbol conditions |
(out) result: true/false if conditions are met
function zero_projections_3j_condition(x, y, z) result(is_valid)
!! checks the condition for nonvanishing 3-j symbol with zero projections:
!! triangle inequality on x,y,z and if the sum x+y+z is an even integer
!---------------------------------------------------------------------!
integer(int32), intent(in) :: x, y, z
!! variables to check for 3-j symbol conditions
logical :: is_valid
!! (out) result: true/false if conditions are met
!---------------------------------------------------------------------!
is_valid = (triangle_inequality_holds(x, y, z) .and. is_sum_even(x, y, z))
!---------------------------------------------------------------------!
end function zero_projections_3j_condition