问题标签 [svd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1226 浏览

php - php中的奇异值分解SVD

php中有SVD实现吗?

0 投票
3 回答
1617 浏览

matlab - 用于图像压缩的 SVD 图像需要更多磁盘大小,嗯..?

压缩后的图像大了 3 倍...

我对图像进行 svd,丢弃较小的奇异值(尽管它们很大),然后再次将矩阵相乘以获得压缩图像。压缩后的图像是黑白的,并且比原始图像大。我在哪里失败?

0 投票
6 回答
45376 浏览

numpy - Python (NumPy, SciPy),寻找矩阵的零空间

我试图找到给定矩阵的零空间(Ax=0 的解空间)。我找到了两个例子,但我似乎都无法工作。此外,我不明白他们在做什么才能到达那里,所以我无法调试。我希望有人能够引导我完成这个。

文档页面(numpy.linalg.svdnumpy.compress)对我来说是不透明的。我学会了通过创建矩阵C = [A|0]、找到简化的行梯形和逐行求解变量来做到这一点。在这些示例中,我似乎无法理解它是如何完成的。

感谢您的任何帮助!

这是我的示例矩阵,与维基百科示例相同:

方法(在这里这里找到):

当我尝试它时,我得到一个空矩阵:

0 投票
2 回答
2226 浏览

r - 为什么 Octave、R、Numpy 和 LAPACK 在同一个矩阵上产生不同的 SVD 结果?

我正在使用 Octave 和 R 使用简单的矩阵计算 SVD 并得到两个不同的答案!代码如下:

R

八度

我是 Octave 和 R 的新手,所以我的第一个问题是我这样做对吗?如果是这样,哪一个是“正确的”?他们俩都对吗?我也在 numpy 中尝试过,并直接调用 LAPACK 函数 dgesdd 和 dgesvd。Numpy 给我一个类似于 Octave 的答案,调用 LAPACK 函数给我一个类似于 R 的答案。

谢谢!

0 投票
3 回答
1373 浏览

c++ - SVD 在 C/C++ 中解决 harwell-boeing 稀疏 ax=b 系统?

有人知道 C++ 的稀疏 SVD 求解器吗?我的问题涉及一些可能将列/行归零的条件不佳的矩阵。我的数据存储在 uBLAS 矩阵中,该矩阵是 Harwell-Boeing 稀疏格式。

我很难找到:

SVD 求解器

  1. 可以对稀疏矩阵进行运算的 SVD 求解器。Lapack似乎无法做到这一点?我想将稀疏矩阵传递给函数和稀疏矩阵输出。
  2. 一种重新组合结果的方法......这样我就可以从 x=b(A^-1) 中读取 xs。我希望这是 x=(b)(v.(d^-1).(u^t))

我希望从 GSL 重新创建以下两个步骤

我也不知道如何在 C++ 中包装 FORTRAN 库。哪里/有任何 PROPACK c/c++ 绑定?

编辑 1:我在使用 PROPACK 时遇到了一些问题。PROPACK 输出稀疏矩阵吗?它似乎将 V 输出为“V(LDV,KMAX): DOUBLE PRECISION array”。这意味着它没有?

0 投票
2 回答
1545 浏览

matlab - 在图像上应用SVD后如何检查图像是否被压缩(关于磁盘上压缩图像的大小)

这是我为SVD分解编写的代码,我得到了正确的输出。但是压缩图像的大小大于原始图像,所以如何计算svd图像是否压缩后,这意味着我得到了图像的大小应用 svd 迭代后的磁盘大于原始图像。

0 投票
1 回答
1380 浏览

r - 比较 R 中的 svd 和 princomp

我想获得singular values of a matrix in R主要成分,然后也制作 princomp(x) 来比较结果

我知道 princomp() 会给出主要成分

问题

如何从 $d、$u 和 $v(的解 s = svd(x))中获取主成分?

0 投票
2 回答
950 浏览

c - 是否可以在 mac(64 位)上编译 svdlibc?

我正在尝试在 64 位 mac 上编译svdlibc 。运行 make 文件会返回错误消息:

这没有多大意义。

制作文件是:

编辑 make 文件以更改 -march 标志可以继续编译,但显然链接失败:

有人做过吗?或者我应该使用不同的 svd 库吗?(对于大型稀疏矩阵?)

编辑:porneL 似乎找到了问题所在。将 makefile 中的第一行更改为:

编译工作。尚未测试结果,但看起来很有希望。

0 投票
1 回答
4038 浏览

r - 计算 R 错误中的 SVD:缺失值或无限值

我对 svd(XTR)有类似的问题

数据是这样的:

应用 svd 时,我得到:

按照该帖子的答案,他们建议这样做:

但是 V1 1 应该是什么意思???

0 投票
1 回答
6442 浏览

r - R 中的 pca 与 princomp() 并使用 svd()

可能重复:
比较 R 中的 svd 和 princomp

如何在 R 中使用 2 种方法(相关矩阵的 princomp() 和 svd)执行 PCA

我有一个数据集,如:

所以我这样做:

对于第二种方法,假设我有“C:\data_25_1000.txt”的相关矩阵,即:

我还计算了这个相关矩阵的 svd 并得到:

我的问题是,如何使用 $d、$u 和 $v 来获取主成分我可以使用 prcomp() 吗?如果,那怎么办?