R中奇异值分解svd函数

 

概述:

 

 公式:

 

公式里的
U就是下面运行结果的a$u,
Σ就是下面的a$d变换成的对角矩阵(diag(a$d)),
V就是下面运行结果的a$v

 

001、

> x <- matrix(1:20,nrow = 4,ncol = 5)      ## 生成测试矩阵
> x
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    5    9   13   17
[2,]    2    6   10   14   18
[3,]    3    7   11   15   19
[4,]    4    8   12   16   20

 

奇异值分解:

a <- svd(x)        ## 奇异值分解
a

 

 

返回值是列表, 分别查看每一项:

a$d
a$u
a$v

 

 

验证:

a$u%*%diag(a$d)%*%t(a$v)
x

 

posted @   小鲨鱼2018  阅读(441)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-09-08 linux 系统如何给软件设置环境变量
点击右上角即可分享
微信分享提示