def symbolic_distance_matrix(A, B):
"""
Defines the symbolic matrix that contains the distances between the vectors of A and B
:param A:
:param B:
:return:
"""
aa = T.sum(A * A, axis=1)
bb = T.sum(B * B, axis=1)
AB = T.dot(A, T.transpose(B))
AA = T.transpose(T.tile(aa, (bb.shape[0], 1)))
BB = T.tile(bb, (aa.shape[0], 1))
D = AA + BB - 2 * AB
D = T.maximum(D, 0)
D = T.sqrt(D)
return D
评论列表
文章目录