如果我們考慮一個大小爲pxp的矩陣R.如果我們想在A等於(I + Givens旋轉)的情況下乘以A'RA。這裏我是一個單位矩陣,'表示轉置運算符。使用Givens旋轉
我們知道,一個Givens旋轉是寫爲稀疏矩陣:
要執行MATLAB中的乘法A'RA,我們可以做到這一點快速實現:
%Fast implementation
ci = R(:,ik)*(cos(theta))+R(:,jk)*(sin(theta)); % R*A
cj = R(:,jk)*(cos(theta)) - R(:,ik)*(sin(theta));
R(:,ik) = ci;
R(:,jk) = cj;
ri = R(ik,:)*(cos(theta))+R(jk,:)*(sin(theta)); % A'*R*A
rj = R(jk,:)*(cos(theta)) - R(ik,:)*(sin(theta));
R(ik,:) = ri;
R(jk,:) = rj;
但我不明白他們是如何編寫這個Matlab代碼的。換句話說,我不瞭解這個Matlab代碼如何應用乘法A'RA。請問有人可以幫我理解這段代碼嗎?
非常感謝你的回答:) – Christina
@Christina隨時:) –