问题标签 [matrix-decomposition]
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.
c++ - 在 Eigen 库中重新排序 Schur 分解中的特征值
我正在使用 Eigen 库和 Eclipse C++。我想知道是否有一种方法或函数可以用来重新排序函数产生的 Schur 分解 X = U T U'RealSchur
并返回重新排序的 Schur 矩阵 TS 和累积正交变换 US 使得 X = US * TS *我们'
我想要的是类似于 MATLAB 函数“ordschur”的东西:http: //de.mathworks.com/help/matlab/ref/ordschur.html
提前谢谢了。
r - 协方差矩阵的特征值之一在 R 中为负
我有一个数据集x
。我cov(x)
用来计算 的协方差x
。我想计算 的平方根倒数cov(x)
。但我得到 的负特征值cov(x)
。
这是我的代码
这是 的特征值S
。
python - python中的cholesky分解
我正在尝试在 python 中使用 cholesky 分解,带有 numpy (np) 和 scikits (sci) 库。假设 D 是稀疏的(使用 csc_matrix)。以下两行的结果不同
实际上当我使用
我对 L1 有 true 对 L2 有 false 。
D 是 Hermitian 和 pos_def。有人可以帮我弄清楚我的实施有什么问题。
r - 矩阵乘法和加法的 R 函数
在对矩阵执行 SVD 之后,我想创建一个函数(我还不擅长 R 中的函数),它根据我指定的 n 值创建一个缩减矩阵。
例如,这是我现在拥有的 R 代码。
现在,为了从矩阵分解到原始矩阵,通过蛮力和无知,以下工作。
展望未来,我希望能够在大型矩阵上执行此操作,并希望能够指定因子的数量。所以,我想要一个函数来为我做这件事,而不是对分数求和 1:n。
java - 如何在 JBLAS 中重用分解的 LU 矩阵来求解 Ax = b
我已经开始与 JBLAS 合作,但我遇到了一个问题,
这给出了很好的结果。但是,如果我希望重新计算以找到Ax = b1,那么它将再次分解以得到A = LU或者A = QR。但这是多余的,因为A矩阵保持不变。
我希望它使用以下方法分解 A:
然后将生成的对象传递给求解函数以获得所需的输出。使用这种方式,如果仅b值发生变化,则不需要重新进行分解。
可能吗??请帮忙。还是我要从头开始编写该函数..
matlab - Matlab 等式逼近是如何工作的?
在下面的代码中,我遵循了一个过程来创建一个随机正定矩阵P。
首先,我创建了一个随机数组A的奇异值分解[U,S,V]并且我试图验证实际上U'*U==U*U'=I(其中I是单位矩阵)这是从理论上知道的。问题是,如果我自己检查矩阵的内容,我可以验证这一点,但 Matlab 会生成一个逻辑矩阵,它不能验证因为零表示为 -0.000 或 0.0000,所以只有当符号匹配时结果才为 1。这是为什么?
但是更大的问题出现在下面的几行中,其中产生了正定(其所有特征值都是正的)矩阵P,我只是想检查P=P'。通过单击 x 和 y,我可以看到它们的内容完全相同,但 Matlab 也无法验证这一点。我不明白为什么会发生这种情况,因为在这种情况下,我们在这里谈论的是相同的变量P,它只是简单地转置。
这是代码:
performance - 使用更少的循环进行 LU 分解
Matlab中有几种计算“LU分解”的方法。这是一个:
但是我的老师告诉我们,for
在 MATLAB 中使用可能会降低程序的效率。他告诉我们用更少for
的 s 计算 LU 分解。他说你可以找到所需的索引而不使用for
,然后使用一些你根本不需要使用for
的技巧。
我的第一个问题是:使用for
真的会降低程序的速度吗?我的第二个问题是:如何将所需的索引存储在数组中并使用它们而不是for
循环?
c++ - 如何准确计算 Eigen 中二进制矩阵的秩?
我有一个 0 和 1 的矩阵,并希望计算它的等级。一种方法是计算近似分解并返回超过某个小阈值的枢轴数量的计数。
尽管这通常等于合理选择的阈值的等级,但这两个定义在数学上并不等价。根据等级的数学定义计算的最佳方法是什么?
machine-learning - NMF 稀疏矩阵分析(使用 SKlearn)
只是在寻找一些简短的建议,让我回到正确的轨道上。我一直在研究一个问题的解决方案,其中我有一个非常稀疏的输入矩阵(大约 25% 的信息填充,其余为 0)存储在 sparse.coo_matrix 中:
在从我的数据集中构建这个数组并弄乱了一些其他选项之后,我目前将我的 NMF 模型拟合器函数定义如下:
现在,问题是我的输出似乎没有正确解释 0 值。任何为 0 的值都会被撞到小于 1 的某个值,并且我的已知值与实际值有很大的波动(所有数据都是 1 到 10 之间的评级)。谁能发现我做错了什么?从 scikit 的文档中,我假设使用 nndsvd 初始化将有助于解释正确的空值。样本输出:
感谢任何更有经验的 ML 编码员可以提供的任何建议!
frequency - 二维图像分解
我有一个矩阵,我想将它分解为具有从低到高频率限制的不同矩阵。正如我所注意到的,它可以使用小波变换来完成。我找到了类似于下图的一维信号,我想使用 MATLAB 对我的二维矩阵执行类似的过程。我想将其分解为具有不同级别的低频到高频分量的不同矩阵。
但是,当我在提取数据时遇到问题时,我使用了矩阵工具箱。
如何使用 MATLAB 做到这一点?