pure function zeye_indices(i,j) result(a) integer, intent(in) :: i,j complex(8) :: a a = zero if(i==j)a=one end function zeye_indices