Questions tagged «linear-algebra»

11
什么是使用最广泛的C ++向量/矩阵数学/线性代数库,以及它们的成本和收益之间的取舍?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 似乎许多项目慢慢地需要进行矩阵数学运算,并陷入了以下陷阱:首先构建一些矢量类,然后缓慢地添加功能,直到被发现构建一个半确定的自定义线性代数库并依赖它。 我想避免这种情况,同时又不依赖于某些切向相关的库(例如OpenCV,OpenSceneGraph)。 那里最常用的矩阵数学/线性代数库是什么,为什么会决定使用另一个?是否出于某些原因建议不要使用?我专门在几何/时间上下文*(2,3,4 Dim)*中使用它,但将来可能会使用更高维度的数据。 我正在寻找以下方面的差异:API,速度,内存使用,宽度/完整性,狭窄性/特异性,可扩展性和/或成熟度/稳定性。 更新资料 我最终使用了我非常满意的Eigen3。

9
“克隆”行或列向量
有时将行或列向量“克隆”到矩阵很有用。克隆是指将行向量转换为 [1,2,3] 入矩阵 [[1,2,3] [1,2,3] [1,2,3] ] 或列向量,例如 [1 2 3 ] 进入 [[1,1,1] [2,2,2] [3,3,3] ] 在matlab或octave中,这很容易做到: x = [1,2,3] a = ones(3,1) * x a = 1 2 3 1 2 3 1 2 3 b = (x') * ones(1,3) b = 1 1 1 2 2 2 …


2
鸡尾酒会算法SVD实现…在一行代码中?
在斯坦福大学的Andrew Ng在Coursera的机器学习入门演讲的幻灯片中,他给出了鸡尾酒会问题的以下一行八度音阶解决方案,因为音频源是由两个空间分开的麦克风录制的: [W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x'); 幻灯片的底部是“来源:Sam Roweis,Yair Weiss和Eero Simoncelli”,幻灯片的底部是“由Te-Won Lee提供的音频剪辑”。吴教授在影片中说: “因此,您可能会看这样的无监督学习,并问,'实施此过程有多复杂?” 似乎要构建此应用程序,似乎要进行音频处理,您将编写大量代码,或者链接到处理音频的一堆C ++或Java库中。处理音频的复杂程序:分离音频等,结果证明该算法可以完成您刚刚听到的操作,只需一行代码即可完成……如此处所示,这花费了研究人员很长时间因此,我并不是说这是一个简单的问题。但是事实证明,当您使用正确的编程环境时,许多学习算法实际上都是很短的程序。” 在视频讲座中播放的单独音频结果并不完美,但在我看来,这是惊人的。有人对那一行代码的性能有何见解?特别是,没有人知道参考文献来解释Te-Won Lee,Sam Roweis,Yair Weiss和Eero Simoncelli在那一行代码方面的工作吗? 更新 为了证明算法对麦克风分离距离的敏感性,下面的模拟(以八度为单位)将音调与两个空间分离的音调发生器分离。 % define model f1 = 1100; % frequency of tone generator 1; unit: Hz f2 = 2900; % frequency of tone generator 2; unit: Hz Ts = 1/(40*max(f1,f2)); % sampling period; unit: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.