问题标签 [symmetric]
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.
r - 使对称矩阵成为R中的对角矩阵
我有对称矩阵(例如M <- matrix(1:4, ncol = 2)
),我想将非对角线元素设置为0
。还有比这更聪明的方法diag(diag(M), ncol = ncol(M))
吗?
注意:diag
不支持使用diag(M, ncol = ncol(M))
,也没有类似diag(M, as.matrix = TRUE)
etc的选项。
python - Numpy - 许多零条目的矩阵乘法更快?
问题:在 numpy 中,我有一个M1
要与另一个矩阵相乘的矩阵M2
。
我知道我可以保留一半的值,M1
因为生成的矩阵是对称的,我只需要最高k
值。
因此,我正在考虑将numpy.tril
一半的值归零,希望底层的 C 函数对于乘法运算会更快a*b
,a==0
因为它们可以在看到a==0
而不是执行整个浮点运算时停下来。
我知道我可以计时,但我认为这是一个普遍感兴趣的问题。
请注意,这M1
不是稀疏的,只是不需要考虑其中的一半。
也许还有更好的方法来节省 50% 的计算?
背景:这与
...如果你明白我的意思。
示例:这只是发生的一点,但最后,我们有
- 一个|一个| x |A| 矩阵
p(A|B)
(A和B是相同的变量) - 1 x |A| 矩阵
p(B)
- 结果是 |A| x |A|
p(A,B) = p(A|B)*p(B)
我们不关心对角线的矩阵,因为它是给定值本身和对角线上方或下方部分的概率,因为它是另一半的重复。很适合进行健全性检查,但毕竟没有必要。
请注意,这里它实际上不是点积。但我想导致 p(A|B) 的一半计算也是不必要的。
更新: 我将为此应用程序采取更合理的方法,即限制 A 和 B 不相交。然后所有矩阵的大小都会减小。它可以在 numpy 中优雅地完成,但会增加阅读代码的复杂性。
毕竟这没有任何意义。唯一的选择是创建M1.shape[0]-1
重新创建三角形的子矩阵,但这肯定会产生太多开销。
nlp - 查找两个带有 spacy 的文档共享的令牌百分比
对于 nltk 它会是这样的:
由于 spacy 更快,我试图在 spacy 中做到这一点,但令牌对象似乎没有为此提供快速解决方案。有任何想法吗?
谢谢大家。
encryption - 如何测试对称加密算法
我正在为一篇计算机科学论文做实验。我的主题集中在加密。在进行了一些研究之后,我对测试对称加密程序感兴趣,例如 AES、DES、Blowfish 和 Twofish。但是,我对如何测试它们的想法感到困惑。
我的想法是在加密后比较文件大小,看看哪个最有效。我还必须在我的实验中包含 Big-O 符号。
有人可以指导我如何做到这一点,或者建议我可能做的任何其他实验。PS我只是一个六年级的学生,所以我的知识有限,所以请确保实验不是太难。非常感谢。
c++ - c ++ Eigen制作副本?
令 A 为对称矩阵,令 v 为向量。我从 A 中提取从 j 开始的 n 列块并将其乘以 v 使用
因为这不能编译,而这
确实,我想知道第二个版本是否复制了
还是直接执行计算?
感谢您的任何提示。
编辑:我怀疑这个问题与参数类型有关,因为我得到了错误:
实际上, A 是使用 const 引用传递的函数的参数
这是一个例子:
EDIT2关于我最初的问题和我在编辑部分添加的示例,我对复制有点困惑。据我了解工作版本和非工作版本之间的区别,该行
之所以有效,是因为它的 lhs 告诉 Eigen M.block(1, 2, 3, 4).triangularView() 实际上是一个矩阵,而不是对矩阵的引用。否则,运算符 += 将通过一个错误,即该运算符没有为 .block() 重载。所以我最初的问题是 Matrix(...) 是否只告诉它是一个 Matrix 来启用计算,或者更确切地说将 ... 复制到一个 Matrix 中?谢谢!
python - 当我应用最小-最大缩放时,Numpy 对称矩阵变得不对称
我有一个对称矩阵(1877 x 1877),这是矩阵文件。我尝试将 0-1 之间的值标准化。应用此方法后,矩阵不再对称。任何帮助表示赞赏。
python - 共现矩阵的尺度和计算机余弦相似度
我有一个共现对称矩阵(1877 x 1877)。我将列视为特征并计算它们之间的余弦距离。在此之前,我对矩阵进行了缩放(中心为均值,按分量缩放为单位方差)。
我的问题:
- 我应该在计算余弦距离/sim 之前缩放共现数据吗?下图显示了实际矩阵的直方图。x 轴表示矩阵中的共现值,y 轴表示它们在矩阵中出现的次数。
- 上面的代码返回距离 > 1 和距离 < 0。如何确保余弦距离值在 0 和 1 之间?我应该在dist矩阵上应用min max 缩放器吗?
arrays - 用反转对数组进行排序的最佳算法
我正在一个处理数据的程序中工作。但是,因为我希望我的代码高效,所以我想要一个排序算法,它的运行时间不依赖于数组具有的反转次数,因此我可以按升序对其进行排序。数组的顺序总是:
n = 数组的大小
列表 = (1,2,3,...,(n/2 -1), (n/2),(n/2 + 1),...3,2,1
我知道数组的反转总数等于:
- (n/2 -1) + (n/2 -2) + (n/2 - 3) +...+ 1
我认为这是一个对称数组的很多反转,因为我知道数组的顺序总是这样,我想要一个算法在 O(n) 时间内对它们进行排序。我知道插入排序的复杂性取决于数组的反转次数,但我不确定数组的反转次数取决于 n
java - 如何检查 BST 的结构是否对称
我正在编写一个程序,我需要知道 BST 的结构是否对称
我有遍历代码,但我不知道如何检查它是否是对称的
谢谢您的帮助