生活百科知识

经验知识首页 > 精神心理科 > 详细经验讲解内容页

[视频]【python】基于numpy的矩阵奇异值分解

关于善良的死神【python】基于numpy的矩阵奇异值分解,期待您的经验分享,不知道说什么,送你一朵小红花吧 !
无情天魔精致 2019-01-14 14:51:11 4758人看过 分享经验到微博

更新:2024-04-01 13:27:05原创经验

来自QQ音乐https://y.qq.com/的优秀用户无情天魔精致,于2019-01-14在生活百科知识平台总结分享了一篇关于“【python】基于numpy的矩阵奇异值分解新西兰南岛”的经验,非常感谢无情天魔精致的辛苦付出,他总结的解决技巧方法及常用办法如下:

本文介绍的是,基于numpy的矩阵奇异值分解。

工具/原料

电脑pythonnumpy模块

方法/步骤

1/6分步阅读

假设a是一个m*n的矩阵,对应的奇异值分解是:

a=u.v.w

那么,u是一个m*m的矩阵,v是一个m*n的对角矩阵(下面将着重介绍这一点),w是一个n*n的矩阵。

比如:

a=np.array([[1,2,3],[2,3,9]])

u,v,w=np.linalg.svd(a,1,1)

u是一个2*2的矩阵,w是一个3*3的矩阵,v比较特殊。

[图]2/6

这里得到的v只有两个元素,其实还有第三个元素,由于很接近与0,所以被忽略了。

我需要把它补全。

v=np.array([10.35136363, 0.92155897,0])

[图]3/6

此时的v实际上是一个对角矩阵的三个元素,我们需要把v转化为对角矩阵:

v=np.diag(v)

[图]4/6

注意到第三行全部都是0,需要把第三行去掉:

v=v[:2]

此时的v才是奇异值分解里面的v的真面目。

[图]5/6

检验一下:

A=np.dot(u,np.dot(v,w))

[图]6/6

再来看看另一个例子。

[图]

编辑于2019-01-14,内容仅供参考并受版权保护

经验备注

我发现了这篇经验很有用:你也认同《【python】基于numpy的矩阵奇异值分解》的经验分享有价值,就请和朋友们一起分享吧。另外,【python】基于numpy的矩阵奇异值分解的经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。经验知识实用生活指南-解决你所有的生活难题!未经许可,谢绝转载。

本文网址:https://www.5058.cn/article/e75057f2385f34ebc81a8944.html

下一篇