问题标签 [eigenvalue]

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 回答
557 浏览

r - 从 R 计算的特征值不同于其他统计包和文献结果

我正在使用 longley 数据的特征值和向量来检测多重共线性。当我从 SPSS 计算特征值时,我发现与 R 语言不同的特征值。我不知道为什么。我计算了标准化 X 矩阵和实际 X 矩阵,但结果不匹配。

以下是 R 语言的结果

以下是SPSS的结果

可能的命令错误是什么?还指导我如何计算比例解释变化。

0 投票
1 回答
1376 浏览

java - 用java获取特征值pca

我尝试使用 PCA 来减少维度,我使用 jama 来帮助我使用矩阵。但是,我在用 jama 获得特征值时遇到了问题。例如我有 2 个图像尺寸 100x100,然后我创建单个矩阵 2 图像 x (100x100)。有 20.000 像素。以及如何用特征值减少?这是我的代码示例:

当我在这段代码中显示特征值时:

结果是:

nilai n PCA@c3e9e9

可以,你告诉我什么方法可以得到特征值和降维。

0 投票
2 回答
10847 浏览

python - 计算大型矩阵特征值的最快方法

到目前为止,我使用 numpy.linalg.eigvals 来计算具有至少 1000 行/列的二次矩阵的特征值,并且在大多数情况下,大约五分之一的条目非零(我不知道这是否应该被视为稀疏矩阵)。我发现另一个主题表明 scipy 可能会做得更好。

但是,由于我必须计算数十万个大小不断增加的大型矩阵的特征值(可能多达 20000 行/列,是的,我需要它们的所有特征值),这总是需要很长时间。如果我能加快速度,即使只是最微小的一点,这很可能是值得的。

所以我的问题是:在不将自己限制在 python 的情况下,是否有更快的方法来计算特征值?

0 投票
0 回答
1506 浏览

multithreading - 并行计算大型矩阵的特征值

我正在尝试使用并行工具箱在 matlab 上计算大矩阵的特征值。我第一次尝试:

代码开始执行:

但是,几分钟后,我收到以下错误:

然后,我尝试应用我在并行工具箱中的教程视频中看到的内容:

但是经过两个小时的计算,我得到了:

我的电脑有 2 Gi 内存和 intel duoCPU (2*2Ghz)

我的问题如下: 1/看第一个错误,我想我的内存不足以解决这个问题。有没有办法可以划分输入数据,以便我的计算机可以处理这个矩阵?2/为什么我的第二个结果是空的?(经过2小时的计算......)

编辑:@pm89

你是对的,执行过程中发生了错误:

0 投票
1 回答
595 浏览

java - 稀疏矩阵的内存高效小特征值算法

我正在编写一些 Java 软件,它需要计算正定对称稀疏矩阵的特征值和特征向量。我不需要所有的特征值,但我最感兴趣的是小的。问题是:

1)出于测试目的,我的代码需要在笔记本电脑上运行(四核,4 GB RAM)

2)测试数据涉及大矩阵——一般超过10000乘10000

这两个限制意味着大多数常用的 Java 矩阵包都不足以满足我当前的需求——我什至无法在内存中存储密集的 10000 x 10000 矩阵,更不用说用它们进行计算了。

所以我的问题是:人们在进行矩阵计算时如何解决内存限制?我的矩阵通常非常稀疏 - 通常低于 5% 的条目是非零的。有没有利用这一点的算法?我可以以某种方式将矩阵存储在我的硬盘驱动器上,并且一次只加载它的一部分以减少我的 RAM 上的压力吗?

0 投票
1 回答
1735 浏览

python - 是否值得将 IPython 与 scipy 的 eig 并行使用?

我正在编写一个必须计算大量特征值问题的代码(典型的矩阵维度是几百个)。我想知道是否可以通过使用IPython.parallelmodule. 作为前 MATLAB 用户和 Python 新手,我一直在寻找类似于 MATLAB 的parfor...

在网上的一些教程之后,我编写了一个简单的代码来检查它是否可以加快计算速度,我发现它并没有而且实际上通常会减慢它的速度(视情况而定)。我认为,我可能遗漏了一点,并且可能scipy.linalg.eig以这样一种方式实现,即它使用所有可用的内核并通过尝试并行化它来中断引擎管理。

这是“并行”代码:

非并行变体:

两者的 CPU 时间差异非常微妙。如果在特征值问题之上,并行化函数必须进行更多矩阵运算,它开始永远持续下去,即至少比非并行化变体长 5 倍。

我对特征值问题并不真正适合这种并行化是对的,还是我错过了重点?

非常感谢!

2013 年 7 月 29 日编辑;英国夏令时 12:20

按照 moarningsun 的建议,我尝试在eig使用mkl.set_num_threads. 对于 500×500 矩阵,最少 50 次重复设置如下:

除了一个线程情况之外,没有实质性差异(也许 50 个样本有点小......)。我仍然认为我没有抓住重点,可以做很多事情来提高性能,但不确定如何做。这些是在启用了超线程的 4 核机器上运行的,提供 4 个虚拟内核。

感谢您的任何意见!

0 投票
0 回答
552 浏览

numpy - 将平面拟合到点 - 我怎么知道它是否正确?

我正忙于研究点云简化算法。

下面是计算点邻域的法线的代码。我使用了主成分分析。

我想知道我是否正确计算了点的法线和曲率?

我知道法线是无方向的,我的下一步是使用网络 x 创建一个图(从每个点到最近的邻居的边),用 1-|ni*ni+1| 对每条边进行加权 . 然后创建一个最小生成树,然后通过从最高 z 值点开始并在 ni*ni+1=-1 时翻转 ni+1 的方向来启动深度搜索。我将使用 networkx ,这样我就可以实现全球一致的方向。这是最好的方法吗?

谢谢

0 投票
1 回答
3439 浏览

python - Numpy 的特征值/向量不正确

我试图找到以下矩阵的特征值/向量:

使用代码:

我得到这个答案:

但是,我相信以下应该是答案。

也就是说,特征值-特征向量问题表明以下应该成立:

0 投票
1 回答
3554 浏览

r - 相关矩阵的特征值分解

我有一个相关矩阵:

我尝试做特征值分解:

或者

在这两种情况下,我都会收到错误:

我究竟做错了什么?

0 投票
2 回答
1168 浏览

matlab - matlab并行特征值分解

我一直在尝试提出一种并行特征值分解的算法,但是我尝试的算法中没有一个可以击败 matlab 的 eig 算法,那么有谁知道 matlab 使用哪种算法来处理 eig 函数?或者有人可以建议我一个很好的特征值分解并行算法吗?