2016-08-13 64 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的函數名稱規範通過定義是有意義的。

相關問題