次の問題を計算するために matlab を使用しています。
A
、直交行列によるB
2 つであり、どこに単位行列があります。そしてよりもはるかに大きいです。これも直交行列です。m
n
A'*A = I
B'*B = I
I
m
n
C = (2B*B'-I)*A
しかし、matlab では、number の精度によって次の問題が発生します。
max(max(abs(A'*A-I))) = e0 > 0
max(max(abs(B'*B-I))) = e0 > 0
そして、計算されたものC
はmax(max(abs(C'*C-I))) = e1 > e0
.
を計算して上記のプロセスを繰り返すとD = (2C*C'-I)*B
、このエラーは のリフトアップを制限しD
、そのような種類の反復がますます増えると、このエラーは爆発します。
この誤差範囲を増やさずに計算する方法はありますか?
ありがとう!