使用 SVD 进行信号平衡:R 中的符号和实现

计算科学 svd r
2021-12-29 20:00:43

希布斯等。al使用 SVD 来平衡基因表达数据中不同基础信号的强度,使用以下分解:

Xmn=UmnΣnnVnnT

在这种情况下U具有相同的尺寸X, 所以他们看到的方式U作为一个平衡的投影X说得通。

我想在 R 中使用相同的方法。但是,svd包分解X进入Dm,Umm,Vnm. 这并不奇怪,因为Mathworld还提到了不同的约定,但是,我看不到U第一个定义的矩阵。

是否有可用的Press 定义的 R 实现,或者有没有办法将一个转换成另一个?

1个回答

X=UDVt,D是对角线,并且只有左上角的正方形D, 大小min(m,n)×min(m,n), 非零。

这两个 SVD 分解在某种意义上是等效的,如果从中删除最右边的零列(或最底部的零行) ,并从中删除相应的行/列,您将获得 SVD 的另一个定义.DUV