在 Octave 中有没有办法只计算和存储矩阵乘积的对角线?
基本上就像做:vector = diag(A*B);
我不关心 A*B
的任何值除了那些在对角线上的。矩阵大小约为 80k x 12
和 12 x 80k
,所以即使我不关心速度/额外内存,它也根本不适合 RAM。
奇怪,因为Octave是海量数据集的封装,而且对角线很重要,所以应该是可以的。
最佳答案
对角线中的第一个元素是 A 的第一行与 B 的第一列的标量积。对角线中的第二个元素是 A 的第二行与 B 的第二列的标量积。
换句话说:
vector = sum(A.*B',2);
关于matlab - 如何仅计算 Octave 中矩阵乘积的对角线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301046/