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 @ 2022-09-08 12:08  小鲨鱼2018  阅读(388)  评论(0编辑  收藏  举报