ギブンス回転を取得する必要があります。これは、ギブンス回転から乗算されると行列エントリをゼロにします。右側。このトピック https://math.stackexchange.com/questions/945736/givens-rotation-from-right-side はすでに見ましたが、そこにたどり着くまでのプロセスを本当に理解できませんでした。

詳細:AとBの行列を作成する必要があり、QZアルゴリズムを使用して固有値を取得する必要があります。左からギブンス回転を使ってBを三角形にします。これらの変換は、左側からAにも適用されます。 Bが三角形になったら、Aも三角形にしたいです。したがって、行列Bの零点を破壊しないようにギブンス回転が必要です(またはこれを行う別の可能性はありますか?)

方程式として:

$$ \ begin {bmatrix} a & b \\ c & d \ end {bmatrix} \ cdot \ begin {bmatrix} e & f \\ g & h \ end {bmatrix} = \ begin {bmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \ end {bmatrix} $$

with

$$ ce + dg = 0 $$

適切なe、f、g、hを見つける方法?

これを達成するためのヒントを誰かに教えてもらえますか?

よろしくお願いします!

編集:$$ \ begin {bmatrix} a & b \ end {bmatrix } \ cdot \ begin {bmatrix} c & -s \\ s & c \ end {bmatrix} = \ begin {bmatrix} 0 & r \ end {bmatrix} $$

with

$$ r = \ sqrt {a ^ 2 + b ^ 2 } $$ $$ c = \ frac {b} {r} $$ $$ s = \ frac {-a} {r} $$

できます誰かがこれを承認しますか?

EDIT2:これらのギブンス回転を使用して三角化しようとしている単純な3×3-行列を考えてみましょう-右からの回転。

要素をゼロにすることができます(3,1 )と(2,1)同じ回転を使用-異なるパラメーター$ c $と$ s $を持つ行列$ G $。したがって、このようなゼロを作成できます

$ \ begin {bmatrix} * & * & * \\ * & * & * \\ a & b & * \ end {bmatrix} \ cdot \ begin {bmatrix} c & -s & 0 \\ s & c & 0 \\ 0 & 0 & 1 \ end {bmatrix} = \ begin {bmatrix} * & * & * \\ * & * & * \\ 0 & * & * \ end {bmatrix} $でも、そのように$ \ begin {bmatrix} * & * & * \\ a & b & * \\ * & * & * \ end {bmatrix} \ cdot \ begin {bmatrix} c & -s & 0 \\ s & c & 0 \\ 0 & 0 & 1 \ end {bmatrix} = \ begin {bmatrix} * & * & * \\ 0 & * & * \\ * & * & * \ end {bmatrix} $同じ回転行列$ G $。これにより、2回目の回転で最初の行で作成されたゼロが破壊されるため、要素を繰り返しゼロにすることはできません。

最後の行のすべての要素をゼロにすることは問題ありません。右下の端にあります(各ゼロは別の回転行列$ G $によって作成されます)。

しかし、同じ回転行列$ Gを使用する場合、例で説明した要素をゼロにする方法を教えてください。すでに作成されたゼロ要素を破壊する$?

助けていただければ幸いです!

コメント

  • 今後の参考のために、" EDIT2 "のような編集はおそらく2番目の質問として提示する方が適切です。現在のところ、質問には受け入れられた回答があるため、そのままにしておく必要があります。
  • すごい!詳細な返信をありがとうございました!最後に、要素(2,1)をゼロにするために必要なヒントを取得しました:-)
  • 手順を確認しました。それは実際に動作します!どうもありがとうございました!

回答

正解です。 $$ \ begin {eqnarray *} r & = & \ sqrt {a ^ 2 + b ^ 2} \\を選択します[.6em] c & = & \ frac {b} {r} \\ [。6em] s & = & \ frac {-a} {r} \ end {eqnarray *} $$からのギブンス回転右は$$ \ begin {pmatrix} a & b \ end {pmatrix} \ begin {pmatrix} c & -s \\を生成しますs & c \ end {pmatrix} = \ begin {pmatrix} ac + bs & -as + bc \ end {pmatrix} = \ begin {pmatrix} 0 & r \ end {pmatrix} \ ,, $$なぜなら、$$ ac + bs = a \ frac {b} {r} + b \ frac { -a} {r} = \ frac {ab} {r}-\ frac {ab} {r} = 0 $$および$$-as + bc = -a \ frac {-a} {r} + b \ frac {b} {r} = \ frac {a ^ 2 + b ^ 2} {r} = \ frac {r ^ 2} {r} = r \、。$$ $ r \ neq0 $に注意してください。

EDIT2について:

両方の要素をゼロにすることしかできません$(マトリックスが次のようになっている場合、同じギブンス回転行列を使用した例の3,1)$と$(2,1)$:$$ \ begin {pmatrix} * & * & * \\ a & b & * \\ a & b * \ end {pmatrix} $$そしてその場合、Givens回転行列を右から乗算すると$$ \ begin {pmatrix} * & *が得られます。 & * \\ a & b & * \\ a & b & * \ end {pmatrix} \ begin {pmatrix} c & -s & 0 \\ s & c & 0 \\ 0 & 0 & 1 \ end {pmatrix} = \ begin {pmatrix} * & * & * \\ 0 & r & * \\ 0 & r & * \ end {pmatrix} \ ,, $$そして、両方の要素を同時にゼロにしました。行2と3の両方が$ \ begin {pmatrix} a & b & * \ end {pmatrix} $でない場合は、異なる回転、つまり異なる$ c $、$ s $、および$ r $の値が必要です。

行列を上の三角形にするために実際に行うことは、一番下の行から始めて、最後を除くすべての要素をゼロにします:$$ \ begin {pmatrix} * & * & * \\ * & * & * \\ a_1 & b_1 & * \ end {pmatrix} \ begin {pmatrix} c_1 & -s_1 & 0 \\ s_1 & c_1 & 0 \\ 0 & 0 & 1 \ end { pmatrix} = \ begin {pmatrix} * & * & * \\ * & * & * \\ 0 & r_1 & * \ end {pmatrix} = \ begin {pmatrix} *

* & * \\ * & * & * \\ 0 & a_2 & b_2 \ end {pmatrix} $$および$$ \ begin {pmatrix} * & * & * \\ * & * & * \\ 0 & a_2 & b_2 \ end {pmatrix} \ begin {pmatrix} 1 & 0 & 0 \\ 0 & c_2 & -s_2 \ \ 0 & s_2 & c_2 \ end {pmatrix} = \ begin {pmatrix} * & * & * \\ * & * & * \\ 0 & 0 & r_2 \ end {pmatrix} \、。$$

これで、行ベクトルが表示されます。 $ \ begin {pmatrix} 0 & 0 & * \ end {pmatrix} $は、ギブンス回転では不変です。最初の列を対象とする権利:$$ \ begin {pmatrix} 0 & 0 & * \ end {pmatrix} \ begin { pmatrix} c & -s & 0 \\ s & c & 0 \\ 0 & 0 & 1 \ end {pmatrix} = \ begin {pmatrix} 0 \ cdot(c + s)& 0 \ cdot(cs)& 1 \ cdot * \ end {pmatrix} \,。$$

これにより、最後の行を変更せずに要素$(2,1)$をゼロにすることができます:$$ \ begin {pmatrix} * & * & * \\ a_3 & b_3 & * \\ 0 & 0 & r_2 \ end {pmatrix} \ begin {pmatrix} c_3 & -s_3 & 0 \\ s_3 & c_3 & 0 \\ 0 & 0 & 1 \ end {pmatrix} = \ begin {pmatrix} * & * & * \\ 0 & r_3 & * \\ 0 & 0 & r_2 \ end {pmatrix} \ ,, $$そして、右から3つの(異なる)Givens回転を適用することで、上の三角形の形状に到達しました。

コメント

  • どうぞよろしくお願いいたします。2回目の編集をご覧ください。 よろしくお願いします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です