循環三重対角行列を使用した線形方程式の解法


8

私の教科書にこの問題があります:

形である環状三対角行列、線形方程式系を解くための効率的なアルゴリズムを提案する: 行と列を交換せずに。複雑さを推定します。

[a1b10⋯0d1c2a2b20⋮00⋱⋱⋱0⋮⋮⋮cn−2an−2bn−200⋯⋯cn−1an−1bn−1d20⋯0cnan]

そして、私はこれにどのように取り組むか知りません。クラシック除去は非常に効率的に働くだろうこの行列との時間が、LETだと言うが、私は排除したいときに、問題があるcを2と1秒の行に追加され-st行- C 2O(n)c21のとき1=0。私はそれを行うことができない、としても1≠0、同じ問題は、このproccessの途中のどこかで発生する可能性があります。さらに、問題のテキストに記載されているように、行や列を入れ替えることは許可されていないため、このアプローチを何らかの方法で修正できるかどうかはわかりません。誰か助けてもらえますか?−c2a1⋅[a1b10⋯0d1]a1=0a1≠0


マトリックスの形式は、マトリックス(またはサブマトリックス)が特異であるという問題に遭遇するのを防ぐことはできませんが、何が問題になるのかを尋ねる問題は読みません。代わりに、「効率的なアルゴリズム...行と列を交換せずに」と尋ねることにより、ピボットなしの「[c] lasicic elimination」は合理的なアプローチであると思われます。この方法の複雑さを推定する方法がわかりますか?
— hardmath 2013年

回答:


4

上三角形への簡単な除去/縮小の複雑さを決定することは難しくありません。初期行列は次のとおりです。

[a1b10⋯0d1c2a2b20⋮00⋱⋱⋱0⋮⋮⋮cn−2an−2bn−200⋯⋯cn−1an−1bn−1d20⋯0cnan]

除去の1ステップ後になります:

[a1b10⋯0d10a2−b1c2a1b20⋮−d1c2a10⋱⋱⋱0⋮⋮⋮cn−2an−2bn−200⋯⋯cn−1an−1bn−10−b1d2a1⋯0cnan−d1d2a1]

O(1)(n−1)×(n−1)O(n)O(n)O(n)仕事。したがって、それはそのような係数行列を持つシステムを解く複雑さを表しています。


1
a1=0

ピボットなしのガウス消去法の制限であり、(本質的に)先行する1を生成したい場所にゼロが表示されると、行き詰まります。部分的なピボットのアイデアは、戦術的に行を交換することによってこれを回避しようとしています(完全なピボットは行と列を交換します)。ただし、問題の説明では、行または列の入れ替えを禁止しています。これは、複雑さの分析をできるだけ単純にしようとするものだと解釈しています。特定の条件(対角線優勢など)は、ピボットせずに成功し、成功することを保証します。
— hardmath 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.