r - R中有什么方法可以加速这个矩阵乘积:A' * B * A(B半正定)?
问题描述
我想知道这个操作(在 R 中)是否
t(A) %*% B %*% A
其中 B 是一个半正定矩阵,可以通过任何代数技巧来简化,以使其更快(超过crossprod(A,B)%*%A
, Rcpp
)
解决方案
如果你想要一个代数技巧,你所拥有的就是 B 是半正定的,即你可以找到它的平方根/特征值分解。
你如何使用这个事实取决于你实际在做什么。
例如,也许您可以A
在特征基础中使用,B
从而使您想要的矩阵乘法变得更加简单。或者也许只有 B 的少数特征值是显着的,您可以在表示 的平方根时排除大部分特征向量B
。
推荐阅读
- asp.net-core-2.0 - 使用 Asp.net Core 2.1 和 Identity Server 4 进行身份验证/授权
- promise - 赛普拉斯不等待前块完成
- android - AWS Android 无法识别 DynamoDb 表
- mysql - 在 mySQL 过程循环中处理未找到的数据
- python - 如何使用 python 计算字典键中的重复日期?
- c++ - 如何在 Qt QML 中退出 C++ 应用程序
- performance - hadoop / YARN 如何判断一个节点速度很慢,以及它如何处理上面的任务?
- chromebook - Chromebook 开发者模式问题
- mongodb - 将 _cls 添加到现有的 mongodb 集合中
- python - 如何在空值的熊猫中合并 2 个系列