给定矩阵 A 和 P,我需要计算“转置共轭”(不确定术语是什么)
我认为最快的方法是:
X = P A Transpose(P)
我认为最快的方法是:
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
for(int k=0;k<n;k++)
for(int l=0;l<n;l++) X[i][j]+=P[i][l]*A[l][k]*P[j][k];
}
}
}
然而这种方法的时间复杂度为O(n^4),我也可以将其转换为两个普通的矩阵乘法,这样就是两次O(n^3)。我是否遗漏了什么,还是应该坚持使用两个矩阵乘法呢?
X = A Transpose(P)
X = P X