網站首頁 編程語言 正文
前言
np.linalg.norm()用于求范數,linalg本意為linear(線性) + algebra(代數),norm則表示范數。
用法
np.linalg.norm(x, ord=None, axis=None, keepdims=False)
1.x: 表示矩陣(一維數據也是可以的~)
2.ord: 表示范數類型
向量的范數:
矩陣的向量:
- ord=1:表示求列和的最大值
- ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算術平方根
- ord=∞:表示求行和的最大值
- ord=None:表示求整體的矩陣元素平方和,再開根號
3.axis:
參數 | 含義 |
---|---|
0 | 表示按列向量來進行處理,求多個列向量的范數 |
1 | 表示按行向量來進行處理,求多個行向量的范數 |
None | 表示整個矩陣的范數 |
4.keepdims:表示是否保持矩陣的二位特性,True表示保持,False表示不保持,默認為False
例子
1.默認狀態下:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X))
Result:
2.改變axis:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=1))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0))
3.改變ord:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, ord=1))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, ord=2))
4.改變keepdims:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0, keepdims=True))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0))
注意:嚴格來說,當 ord <= 0 時,不符合數學上的范數公式,但它仍然適用于各種數值目的。
import numpy as np
a = np.arange(12)
print(a)
b = a.reshape((3, 4))
print(b)
print(np.linalg.norm(a))
print(np.linalg.norm(b))
print(np.linalg.norm(b, 'fro'))
print(np.linalg.norm(b, 'nuc'))
print(np.linalg.norm(a, np.inf))
print(np.linalg.norm(a, -np.inf))
print(np.linalg.norm(a, 1))
print(np.linalg.norm(b, np.inf, axis=1))
print(np.linalg.norm(b, -np.inf, axis=0))
print(np.linalg.norm(b, 1))
[ 0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10 11]
[[ 0 ?1 ?2 ?3]
?[ 4 ?5 ?6 ?7]
?[ 8 ?9 10 11]]
22.4944437584
22.4944437584
22.4944437584
24.3646384993
11.0
0.0
66.0
[ ?3. ? 7. ?11.]
[ 0. ?1. ?2. ?3.]
21.0
總結
原文鏈接:https://blog.csdn.net/silent1cat/article/details/120811844
相關推薦
- 2022-11-28 深入了解C++函數重載解析策略_C 語言
- 2022-12-29 R語言apply系列函數實例詳解_R語言
- 2021-12-03 Apache?Log4j2?報核彈級漏洞快速修復方法_Linux
- 2023-03-16 python中split()函數的用法詳解_python
- 2022-12-21 C++?STL容器與函數謂詞示例分析講解_C 語言
- 2023-01-18 Python函數的參數列表解析_python
- 2022-09-26 python?opencv實現目標外接圖形_python
- 2022-09-27 詳解adb工具的基本使用_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支