如何用Python求矩阵的范数和行列式
本篇内容介绍了“如何用Python求矩阵的范数和行列式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在scipy.linalg
的函数中,往往会提供两种参数,其一是check_finite
,当为True
时将进行有限检查,另一类是overwrite_xxxx
,表示xxxx
在计算过程中是否可以被覆写。简洁起见,后文中说a
提供覆写开关,就表示存在一个参数overwrite_a
,当其为True
时,a允许计算过程中被覆写;若说提供有限检查开关,则代表提供check_finite
参数。
范数
在scipy.linalg
中提供了函数norm
用来求范数,其定义为
norm(a,ord=None,axis=None,keepdims=False,check_finite=True)
其中ord
用于声明范数的阶
ord | 矩阵范数 | 向量范数 |
---|---|---|
None | 弗罗贝尼乌斯范数 | 2-范数 |
'fro' | 弗罗贝尼乌斯范数 | - |
'nuc' | 核范数 | - |
inf | max(sum(abs(a), axis=1)) | max ? ( ∣ a ∣ ) |
-inf | min(sum(abs(a), axis=1)) | min ? ( ∣ a ∣ ) |
0 | - | sum(a!=0) |
1 | max(sum(abs(a), axis=0)) | |
-1 | min(sum(abs(a), axis=0)) | |
2 | 2-范数(最大奇异值) | |
-2 | 最小奇异值 |
若a
为向量,若ord
为非零整数,记作n nn,设a i a_iai为矩阵a aa中的元素,则矩阵的n nn范数为
核范数又称“迹范数” (trace norm),表示矩阵的所有奇异值之和。
Frobenius范数可定义为
其实质是向量的2-范数在矩阵中的自然推广。
除了scipy.linalg
之外,numpy.linalg
中也提供了norm
,其参数为
norm(x,ord=None,axis=None,keepdims=False)
其中order
的可选参数与scipy.linalg
中的norm
函数相同。
行列式
在scipy.linalg
中,行列式函数为det
,其定义非常简单,除了待求矩阵a
之外,就只有a
的覆写开关和有限检查。
示例如下
importnumpyasnpfromscipyimportlinalga=np.array([[1,2,3],[4,5,6],[7,8,9]])linalg.det(a)#0.0a=np.array([[0,2,3],[4,5,6],[7,8,9]])linalg.det(a)#3.0
迹
scipy.linalg
不提供trace
函数,但是numpy
提供,其定义为
umpy.trace(a,offset=0,axis1=0,axis2=1,dtype=None,out=None)
其中
offset
为偏移量,表示相对于主对角线的偏移axis1, axis2
表示坐标轴dtype
用于调整输出值的数据类型
>>>x=np.random.rand(3,3)>>>print(x)[[0.268321870.646153630.09006217][0.631063190.655737650.35842304][0.666293220.169998360.92357658]]>>>np.trace(x)1.8476361016546932
“如何用Python求矩阵的范数和行列式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注主机评测网网站,小编将为大家输出更多高质量的实用文章!
输入法切换键是哪个键?输入法切
冬月是哪一个月?冬月是什么意思
个人所得税退税金额怎么算出来的
输入法全角和半角有什么区别?输
a4纸尺寸是多少厘米?a4纸的由来
个人所得税扣除标准?个人所得税
输入法哪个好用?输入法介绍
卡拉OK是哪个国家发明的?卡拉OK
mikutools原神网页版入口链接?m
关机特别慢什么原因?电脑和手机