2016-08-13 58 views
0

我一直在关注一些通过Python介绍线性代数的在线教程,并且遇到了有关向量幅度和规范化的章节。线性代数概念似乎指出:为什么Numpy的LinAlg Norm函数的命名方式是?

矢量的大小 =将矢量的所有元素平方,将它们加在一起并取平方根。

矢量的标准化 =将矢量除以幅度(或乘以1 /幅度)。

太棒了!我试图谷歌如何通过Numpy的库函数找到矢量的大小,并发现找到我正在使用numpy.linalg.norm()函数的幅度。起初这对我来说似乎很奇怪,但在深入挖掘之后,似乎默认情况下函数找到了Frobenius范数,它基本上像我上面所做的那样发现了幅度。

但是,我仍然不确定为什么“规范化”函数没有给出向量的归一化选项,而是选择默认情况下它本身就是“幅度”函数。是否有一个特定的原因,为什么没有独立的量级功能,而是驻留在规范函数内?我认为必须有一个很好的理由,但这似乎让我感到困惑:)。

+2

'规范'不是“规范化函数”。这是* norm *函数;见https://en.wikipedia.org/wiki/Norm_(mathematics) –

+0

尴尬简单,谢谢:)。 – Kush131

回答

2

正如您已经在numpy.linalg.norm()的文档中看到的那样,有一个称为ord的参数,它是规范的顺序,默认情况下这个参数是None,如果您阅读文档,这意味着它将计算Frobenius规范,也被称为欧几里得距离。

Frobenius规范只是一个特殊情况更一般的概念vector norm,因此numpy的函数名称规范通过定义是有意义的。

相关问题