问题标签 [singular]

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 投票
1 回答
1849 浏览

c++ - C/C++ 中奇异复方矩阵的伪逆 (SVD)

奇异复数矩阵为 2 n x 2 n,其中 n 为 3;4 或 5. 如何在 C/C++ 中计算奇异值分解?

输入矩阵 R 采用 Y*Y' 的形式,其中 ()' 是转轭的。

U 中的特征向量是主要输出。考虑以下 Matlab 代码:

大多数 C/C++ 库(例如 OpenCV)仅支持实矩阵的矩阵求逆和 SVD。在非奇异情况下

分辨率有帮助。倒置的上半部分

复数时给出 R -1 . 由于数值方法是这里的关键,因此许多人建议使用 Armadillo 和 Eigen,而不是实施自定义容易出错的解决方案。

你怎么看?哪个是一个不错的选择,为什么?

0 投票
2 回答
357 浏览

c++ - 奇异迭代器的赋值

“单一迭代器”定义为

不与任何序列关联的迭代器。空指针以及默认构造的指针(保存不确定值)是单数

我的问题1是:默认构造的迭代器是否被视为“单一迭代器”?

其次,我在这里被告知

大多数表达式的结果对于奇异值是未定义的;唯一的例外是销毁包含奇异值的迭代器,将非奇异值分配给包含奇异值的迭代器,并且对于满足 DefaultConstructible 要求的迭代器,使用值初始化的迭代器作为复制或移动操作。

问题2是:使用“未定义”的结果是否构成未定义行为?如果这是真的,这似乎是未定义的行为:

它运行良好


我提出这个问题的更深层动机是在我有这样一个结构的情况下:

我想知道这样做是否是未定义的行为,assigned值构造Foo对象在哪里:

如果问题12的答案是“是”,那么通过调用默认赋值运算符,我将引入未定义的行为 :(

0 投票
1 回答
393 浏览

matlab - Matlab奇异矩阵求解器

如果矩阵AX=B, 和A = 3x3, B=3x1, 和A是奇异的,并且B有非零数。求解X

这有可能解决吗?

您如何X在 MATLAB 中求解,是否可以手动求解?

我知道这A是单数,因为det(A) = 0没有逆,但是这些问题是可以解决的还是根本无法解决的?

0 投票
3 回答
876 浏览

matlab - Matlab - 生成随机非奇异三角矩阵

如何生成随机三角矩阵?(上下)

通常我使用rand(n),但如果我尝试tril(rand(n))它会是单数的,我不想要那样。

0 投票
2 回答
9949 浏览

r - 如何求解奇异矩阵?

我需要solve一个列表中的一千多个矩阵。但是,我得到了错误Lapack routine dgesv: system is exactly singular。我的问题是我的输入数据是非奇异矩阵,但是根据我需要对矩阵进行的计算,其中一些矩阵变得奇异。然而,我的数据子集的可重复示例是不可能的,因为它会很长(我已经尝试过)。这是我的问题的一个基本示例(经过一些计算,A 将是一个矩阵,而我需要做的下一个计算是 R):

你有想法如何“解决”这个问题,也许是其他功能?或者如何非常非常轻微地变换奇异矩阵,以免产生完全不同的结果?谢谢

编辑:根据@Roman Susi,我包括我必须做的函数(所有计算):

问题出在函数计算的第 8 行solve(diag(length(p))-A)Z在这里,我可以为and提供新的示例数据p,但是在此示例中它工作正常,因为我无法重新创建一个会带来错误的示例:

所以,根据@Roman Susi 的问题是:有没有办法改变之前的计算,以便det(diag(length(p))-A)永远不会得到 0 来solve得到方程?我希望你能明白我想要什么:) 想法,谢谢。Edit2:也许问得更容易:如何避免这个函数中的奇异性(至少在第 8 行之前)?

0 投票
0 回答
560 浏览

optimization - 使用 method="L-BFGS-B" 时优化错误,L-BFGS-B 需要 fn 的有限值

我正在使用带有 L-BFGS-B 方法的“优化”来使用三变量数据估计三变量对数正态分布的参数。以下是我使用过的命令。

经过一些迭代后,它返回错误“L-BFGS-B 需要 fn 的有限值”。这与为参数定义的下限和上限有关,我猜是因为方差协方差矩阵往往是奇异的。任何人都可以建议我应该使用的一般逻辑来定义可行的上限和下限以避免奇异方差协方差矩阵。这是一个三元情况,但我也必须处理更高维的情况。因此,如果有人可以提出一般规则,那将非常有帮助。在此先感谢。

0 投票
0 回答
918 浏览

r - 豪斯曼检验在R中具有奇点

我的数据存储在一个名为“Gap3”的数据框中,结构如下:

缺失值的数量为:

尺寸为:

我目前的目的是决定我应该使用哪种效果,Fix Effect 或 Random Effect。我的模型函数和我所做的如下所示:

然后我将小于 1 的变量乘以 100,并再次执行该过程,但仍然存在奇点。在我的第三次尝试中,我删除了pGDPand I(pGDP^2),这次它成功了。

谁能告诉我原因,为什么pGDPI(pGDP^2)导致奇点?

0 投票
0 回答
511 浏览

java - Java - 矩阵是单数的

我有这个代码:

我将耗电量(双倍)循环保存到数组consumptions中。while数组x保持三个双打,这个:x[count] = new double []{tmp.get(1), tmp.get(4), season(tmp.get(5))};tmp.get(1)是一天中的小时,tmp.get(4)是 1.0 或 0.0(如果是周末,则为 1.0),season(tmp.get(5))返回 1.0 或 0.0(如果有冬季月份,则为 1.0)。我在最后一行得到的错误: matrix is singular

如果行列式为零,我知道矩阵是奇异的,但我有很多观察结果。有谁知道问题可能出在哪里?谢谢你,丹尼尔

0 投票
1 回答
834 浏览

unity3d - 使用奇异值分解方法 (SVD) 在 Unity 中对齐 2 组 3D 点

我想将轮廓上的一组参考点转换为一组相应的目标点。每个轮廓上共有 8 个点。

参考和对应的目标点

为了计算旋转和平移向量,我使用 Math.Net Numerics 库来执行 SVD 计算 - 这个想法来自这个 URL(第 3-7 页):

但不知何故,我注意到使用 SVD 计算结果完成的转换似乎不准确。结果如下图:

应用从 SVD 计算的平移向量后的统一结果

变换应该将参考点移动到尽可能靠近的目标点,但正如突出显示的那样,它远离目标点。

此外,我还做了一个简单的测试,计算了两个轮廓的质心并进行了推导:(TargetCentroid - RefCentroid = 平移向量)。最终的转换结果与通过 SVD 相同。

我做错了什么吗?任何人都可以提出一个更好的解决方案来将参考点转换为目标点吗?

编辑: 1.从参考模型到各种目标模型的服装转换

服装改造

0 投票
1 回答
628 浏览

javafx - JavaFX - 如何在单个节点上使用多个相同类型的事件处理程序

我有 2 个相同基本类型的 ListView(A 和 B)。我需要实现的是: - 用户从 A 拖动项目,将它们放入 B - 用户从 B 拖动项目,将它们放入 B(重新排列)。

更改必须保存在 sqlite 表中。2 个不同的 sql 查询运行,因此拖放必须有不同的结果。

如果我执行 2X B.setOnDragDropped,我可以根据拖动开始的位置区分 2 吗?

感谢您的帮助,很多 apprich 人