逆行列の複雑度クラス


9

Complexityクラス行列を反転していますか?P

ランタイムから、私はyesと言いますが、逆行列には、サイズが入力によって多項的に制限されていないエントリを含めることができますか?O(n3)


1
実際には、は、浮動小数点数の行列で作業していることを前提として、それがフロップの限界であることを意味します。これは、明らかにRの近似です。通常の実装はこの時間範囲内で実行されます。ただし、時間オーバーランの代わりに数値の不安定性が発生することに注意してください。このコメントは、「bignums」を想定する以下の回答を無効にするのではなく、通常の主張を明らかにすることを目的としています。O(n3)R
Fizz

回答:


7

はい、それは多項式時間で行うことができますが、証明は非常に微妙です。ガウスの消去法は数値の乗算と加算を含み、これらの各算術演算を実行する時間はそれらの大きさに依存するため、これは単に時間ではありません。一部の行列では、中間値が非常に大きくなる可能性があるため、ガウス消去法は必ずしも多項式時間で実行されるとは限りません。O(n3)

幸い、多項式時間で実行されるアルゴリズムがあります。実行時間が多項式であることを証明するために、アルゴリズムの設計とアルゴリズムの分析にかなりの注意が必要ですが、実行できます。たとえば、Bareissのアルゴリズムの実行時間はようなものです実際にはそれよりも複雑ですが、とりあえず簡略化してください)。O(n5(logn)2)

詳細については、Dick Liptonのブログエントリ「Forgetting Results」「Gaussian除去の実際の時間の複雑さ」を参照してくださいそして、Wikipediaの要約

最後に、注意が必要です。正確な実行時間は、作業しているフィールドによって異なります。上記の説明は、有理数を扱う場合に適用されます。一方、たとえば、有限体(2を法とする整数)で作業している場合、単純なガウスの消去O n 3時間で実行されます。これが何を意味するのか理解していない場合は、おそらくこの最後の段落を無視できます。GF2O


これらの観察はLUおよびQR分解を保持しますか(「まっすぐ」な反転の代わりに)?
2015

@RespawnedFluff、素晴らしい質問です!知りません。別の質問に値するように思えます。
DW

バツ=bOlog2O4log2

2

逆行列のエントリには、元の行列のマイナーの行列と元の行列全体の行列の2つの行列式の比率として各エントリを与える式があります。これは、「サイズ」の合理的な概念が与えられれば、逆行列のエントリのサイズを制限するのに役立ちます(整数行列から始めても、逆行列は有理エントリを含む可能性があることに注意してください)。

そうは言っても、多くの場合、行列の逆は、規模に関係なく基本的な演算を数える代数的複雑性理論の観点から検討されます。このモデルでは、逆行列の複雑さは、多対数項までの行列乗算の複雑さと同等であることを示すことができます。この削減は、おそらく係数のサイズを制限するのにも役立ちます。

代数的複雑性理論モデルの効率的なアルゴリズムを考えると、それが通常のモデルで同様に効率的なアルゴリズムを意味するかどうか疑問に思います。最終的なエントリは多項式サイズですが、計算にはより大きなものが含まれている可能性がありますか?これはおそらくそうではなく、たとえそうであったとしても、中国の剰余定理を使用して問題をおそらく回避することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.