在Octave中,是否可以仅计算和存储矩阵乘积的对角线?
基本上像这样: vector = diag(A*B);
除了对角线上的值,我不在乎A*B任何值。矩阵大小约为80k x 12和12 x 80k ,因此,即使我不在乎速度/额外的内存,它也根本无法放入RAM。
奇怪,因为Octave是用于存储大量数据的程序包,对角线非常重要,因此应该有可能。
回答:
对角线上的第一个元素是A的第一行与B的第一列的标量积。对角线上的第二个元素是A的第二行与B的第二列的标量积。
换一种说法:
vector = sum(A.*B',2);
更多&回答...