正方行列のべき乗を計算する方法は?


16

我々は、マトリックス与えられていると仮定、およびlet。その行列のパワーをどれくらい速く計算できますか?A∈RN×Nm∈N0Am

積を計算することと比較した場合の次善の策は、高速なべき乗を使用することです。これには、行列積が必要です。mO(ログ⁡m)

対角化可能な行列の場合、固有値分解を使用できます。それは自然な一般化であるジョーダン分解であり、挿管下では不安定であり、したがってカウントされません(afaik)。

一般的な場合の行列の累乗は高速化できますか?

高速累乗法は、この質問のバリエーションも有用であることを示唆しています。

一般的な行列の二乗は、既知の行列乗算アルゴリズムよりも速く計算できますか?A


摂動下での安定性に関心がある場合、高速累乗法も安全ではないようです。
— MCH

まあ、繰り返しの乗算よりも安全であると思いますが、これはスカラー累乗と同じくらい安全ですよね?
— shuhalo

回答:


20

ご注意として、コンピューティングMすることで行うことができるO (ログメートル)上の行列乗算のための演算の回数数N × Nのマトリックス。2番目の質問に対する答えは、少なくとも漸近的な複雑さについてはいいえです。行列の平方と行列の乗算は、同等の時間/算術の複雑さ(定数係数まで)を持っています。二乗を行列乗算に減らすことは明らかです。乗算を2乗に減らすために、AとBの積を計算するとします。形成する2 N × 2 N行列Cをブロック構造で:AmO(ログ⁡m)N×NAB2n×2nC

[0  A]

[B  0]

つまり、有するnは× Nその左上象限における全ゼロ行列及び下部右象限。そのノートC 2が含まれているA ⋅ Bをその左上象限に。Cn×nC2A⋅B


最近、cs = SE で、m = O(n )の特別な場合のA mの計算の複雑さについて質問しました。O(M (n )log (n ))の上限を与えるのは簡単ですが、私が与えることができる最良の下限はΩ(M (n ))です。この問題について何かコメントはありますか?多くの興味深い問題がこの特別なケースに帰着すると思います。AmO(n)O(M(n)log⁡(n))Ω(M(n))
— シチカント
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.