• 締切済み

逆行列求めたい

今逆行列計算を行いたいと思い、LAPACK(Fortran)でがんばっておりますが、簡単な行列だとうまくいきますが、状態の悪い行列ではうまくいかないみたいです。計算上このような行列を計算しなければならなく困ってます。 ZGETRI,ZGETRFをつかってますが,いろいろと調べるとZLANGE,ZGECONを使っているとも見つけましたが、使い方がいまいちわかりません。 どなたかご教授いただけないでしょうか?

みんなの回答

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

行列式が0に近い場合は、LU分解するとうまくいかないので、 特異値分解して(擬似)逆行列を求める方法がいいと思われます。 LAPACKでいえば、ZGESVD,ZGGSVDとか。 http://ja.wikipedia.org/wiki/%E7%89%B9%E7%95%B0%E5%80%A4%E5%88%86%E8%A7%A3 http://ja.wikipedia.org/wiki/%E6%93%AC%E4%BC%BC%E9%80%86%E8%A1%8C%E5%88%97

maki55555
質問者

お礼

ご回答ありがとうございます。 ZGESVDですね。 どこかこの関数を使って逆行列を求めているページとかご存知ですか?

関連するQ&A

  • 逆二乗根行列を求めるプログラムを探しています

    (複素)正方行列の逆2乗根行列(inverse square root)を求めるための FORTRANプログラムを探しています。LAPACKのBLASルーチン等を 組み合わせてできますでしょうか? 良い方法がありましたらご教授下さい。よろしくお願いします。

  • fortran 掃き出し法で逆行列

    大学の授業でfortranを使って掃き出し法による3×3の逆行列を求める問題がでましたが求め方がわかりません。 どなたか教えてください! ちなみに行列は 1 2 1 2 1 -2 3 5 1 です。

  • 行列の逆行列について

    行列の逆行列について 行列の逆行列を求める問題です。 掃き出し法や余因子行列を利用して求める等 いろいろ求め方はあると思いますが次の場合どうすれば良いでしょうか? 次の行列の逆行列を求めなさい。 ただしaは複素数とする。 |1 a 0 0| |1 a 0 0| |0 1 a 0| |0 1 a 0| |0 0 1 a| |0 0 1 a| |0 0 0 1| |a 0 0 1| 複素数であれば普段通りの計算は出来ないですよね? 回答お願いします。

  • 逆行列の求め方

      1 ,3 ,5 ,7 1行目 1^2,3^2,5^2,7^2  2行目  1^3,3^3,5^3,7^3  3行目 1^4,3^4,5^4,7^4  4行目 4×4の行列の逆行列を求めよ。 ただ単に逆行列を求めるのであれば、計算は大変になるが、この行列を単位行列に変形することで求められるが、累乗をいかした解法を問題作成者は期待しているとおもうので、それに添った解答はどうなるのか。 よい解答を教えてください。

  • 3×3の逆行列の計算

    3×3の逆行列の計算 吐き出し法以外の逆行列の計算の仕方をすっかり忘れてしまいました・・・。 0.4 0.708 -0.081 -0.226 1.165 0.046 0 0 0.918 これの逆行列を求めたいのですが、吐き出し法でできる気がしません・・・。 どうやればいいのでしょうか? よろしくお願いします。

  • 逆行列

    画像の問題の逆行列の解き方が分かりません。ご教授お願いします。

  • 逆行列は存在するの?

    Aの逆行列をA(-1)と表してみます。 高校生のとき不思議だったのが、   A、Bに逆行列が存在するとき、    (AB)(-1)=B(-1)A(-1) という性質でした。これ自体に疑問を持ったのではなく、ABの逆行列の存在を無条件に受け入れている様に思うからです。だって、=で結ばれているということは右から左に変形できてもよさそうじゃないですか。 そこで質問ですが、この状態でABという行列の逆行列は必ず存在するのでしょうか。高校の先生は「うーん。これは、左辺は右辺の計算をすれば出てくるという式だ」というだけで、私には理解できませんでした。分かりやすく教えてください。

  • 一般逆行列の求め方

    6×4の行列の逆行列を計算しようとしたのですが,求め方がわからず困っています。以下に教えていただきたい逆行列を示します。 [-a2 a1 0 0] [-a3 0 a1 0] [-a4 0 0 a1] [ 0 -a3 a2 0] [ 0 -a4 0 a2] [ 0 0 -a4 a3] この行列のランクをmaximaを使って計算すると「3」だったのでランク落ちしていることがわかりました。 教科書で確認したところ、ランク落ちの行列には逆行列が存在しないと書いてあったので逆行列を作ることができないのでしょうか? もしくは、ランク落ちを回避して逆行列を作ることができないのでしょうか?

  • excelで行列式の積、逆行列?

    excelで行列式の積、逆行列はどう計算しますか? 詳しくお教えください。

  • 逆行列の有無

    2行2列の行列で逆行列を持たないものの一般形として (ka ma)ですべての場合を表せているでしょうか?(k,mは実数) (kb mb) 「ある行列は逆行列を持たない」という設定で成分計算するときに、逆行列の場合分けのパターンが結構あるので大変です。

専門家に質問してみよう