def op_cosine_c(
s_xr_, s_xi_, s_yr_, s_yi_, axis_=-1, keepdims_=True, eps_=1e-7):
'''
cosine between two complex vectors, uses standard complex inner product
Args:
s_xr_: real part of x
s_xi_: imag part of x
s_yr_: real part of y
s_yi_: imag part of y
eps_: small number to prevent divide by zero
'''
s_nrm = s_xr_*s_yr_ + s_xi_*s_yi_
s_nx = T.sum(T.sqr(s_xr_) + T.sqr(s_xi_), axis=axis_, keepdims=keepdims_)
s_ny = T.sum(T.sqr(s_yr_) + T.sqr(s_yi_), axis=axis_, keepdims=keepdims_)
return T.sum(s_nrm, axis=axis_, keepdims=keepdims_) / T.sqrt(s_nx * s_ny + eps_)
评论列表
文章目录