scipy.spatial.distance.

切比雪夫#

scipy.spatial.distance.chebyshev(u, v, w=None)[源代码]#

计算切比雪夫距离。

实向量 \(u \equiv (u_1, \cdots, u_n)\)\(v \equiv (v_1, \cdots, v_n)\) 之间的切比雪夫距离定义为 [1]

\[d_\textrm{chebyshev}(u,v) := \max_{1 \le i \le n} |u_i-v_i|\]

如果提供一个(非负)权重向量 \(w \equiv (w_1, \cdots, w_n)\),则加权切比雪夫距离定义为无穷阶的加权闵可夫斯基距离;也就是说,

\[\begin{split}\begin{align} d_\textrm{chebyshev}(u,v;w) &:= \lim_{p\rightarrow \infty} \left( \sum_{i=1}^n w_i | u_i-v_i |^p \right)^\frac{1}{p} \\ &= \max_{1 \le i \le n} 1_{w_i > 0} | u_i - v_i | \end{align}\end{split}\]
参数:
u(N,) 浮点数类型的类数组

输入向量。

v(N,) 浮点数类型的类数组

输入向量。

w(N,) 浮点数类型的类数组,可选

权重向量。默认值为 None,这使得所有对 \((u_i, v_i)\) 都具有相同的权重 1.0

返回:
切比雪夫浮点数

向量 uv 之间的切比雪夫距离,可选择由 w 加权。

参考文献

示例

>>> from scipy.spatial import distance
>>> distance.chebyshev([1, 0, 0], [0, 1, 0])
1
>>> distance.chebyshev([1, 1, 0], [0, 1, 0])
1