繁体   English   中英

如何在Octave中仅计算矩阵乘积的对角线?

[英]How to compute only the diagonal of a matrix product in Octave?

Octave有没有办法只计算和存储矩阵乘积的对角线?

基本上喜欢做: vector = diag(A*B);

我不关心A*B任何值,除了对角线上的值。 矩阵大小约为80k x 1212 x 80k ,所以即使我不关心速度/额外内存它也不适合RAM。

奇怪的是,因为Octave是一个包含大量数据集和对角线的包非常重要,所以它应该是可能的。

对角线中的第一个元素是A的第一行和B的第一列的标量乘积。对角线中的第二个元素是A的第二行和B的第二列的标量积。

换一种说法:

vector = sum(A.*B',2);

这是你在MATLAB中做到的方法(可能类似于Octave语法):

vector = sum(A.*B',2);

这将仅计算操作A*B的结果对角线作为列向量vector

实际上我认为它是A的第一行与第一 B的点积...第二对角元素是第二行和第二列的点积......等等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM