締切済み fortran 掃き出し法で逆行列 2008/06/24 18:04 大学の授業でfortranを使って掃き出し法による3×3の逆行列を求める問題がでましたが求め方がわかりません。 どなたか教えてください! ちなみに行列は 1 2 1 2 1 -2 3 5 1 です。 みんなの回答 (3) 専門家の回答 みんなの回答 asuncion ベストアンサー率33% (2127/6289) 2008/06/25 15:41 回答No.3 > 手計算はできます。 では、手順を文章で書き出してみてください。 そうすることで、どのようにプログラミングすればよいかが 見えてくるかもしれません。 結局、手で計算するかわりにコンピュータに計算させるのが プログラミングですから。 通報する ありがとう 0 広告を見て他の回答を表示する(2) fifaile ベストアンサー率25% (622/2403) 2008/06/25 14:50 回答No.2 手で計算する手順をプログラムにするだけですよ? 通報する ありがとう 0 asuncion ベストアンサー率33% (2127/6289) 2008/06/24 21:11 回答No.1 手で計算することはできますか? 質問者 補足 2008/06/25 12:31 手計算はできます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発その他(プログラミング・開発) 関連するQ&A 逆行列求めたい 今逆行列計算を行いたいと思い、LAPACK(Fortran)でがんばっておりますが、簡単な行列だとうまくいきますが、状態の悪い行列ではうまくいかないみたいです。計算上このような行列を計算しなければならなく困ってます。 ZGETRI,ZGETRFをつかってますが,いろいろと調べるとZLANGE,ZGECONを使っているとも見つけましたが、使い方がいまいちわかりません。 どなたかご教授いただけないでしょうか? 逆行列 (1 2 -1 2) (2 2 -1 1) (-1 -1 1 -1) (2 1 -1 2) 上の行列の逆行列を掃きだし法で求める問題なのですが3×3行列でならできるんですが4×4行列になるとどうも途中でこんがらがってできなくなってしまいました 解法お願いします 行列の逆行列について 行列の逆行列について 行列の逆行列を求める問題です。 掃き出し法や余因子行列を利用して求める等 いろいろ求め方はあると思いますが次の場合どうすれば良いでしょうか? 次の行列の逆行列を求めなさい。 ただし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| 複素数であれば普段通りの計算は出来ないですよね? 回答お願いします。 逆行列の解説お願いします 3×3の行列の逆行列を吐き出し法で求める問題なのですが 何度解いてみても答えが合いません。 どなたか解説のほうよろしくお願いします。 問題は以下の通りです。 ・次の行列の逆行列を求めよ。 |1 a a| |-a 1 a | |-a -a 1| 掃き出し法 逆行列 掃き出し法について質問させて頂きます。 連立1次方程式を解く場合に、掃き出し法を用います。 AX=Bとすると、Aを係数行列、[A|B]を拡大係数行列。 上に従って連立1次方程式から拡大係数行列を作ります。 拡大係数行列について、行(列)基本変形を行い[A|B]における Aを階段行列にします。 ここで、質問なのですがAを階段行列にした際に、 Aが単位行列となる場合は必ず自明解を持つと 言う認識で良いでしょうか? また、Aの階段行列より導かれる階数をrankAとすると rankA=rank[A|B]の場合は連立一次方程式に解 が存在します。 この時、Aが単位行列でない場合は一般解(特殊解)が 存在すると言う認識ですが正しいでしょうか? 掃き出し法は計算にコツが入りそうだったので、 逆行列を求める場合は、余因子行列を用いて求めていました。 しかし、知人から掃き出し法で求める方が効率が良いと助言を 頂いたので勉強し直している次第です。 以上、ご回答よろしくお願い致します。 3×3の逆行列の計算 3×3の逆行列の計算 吐き出し法以外の逆行列の計算の仕方をすっかり忘れてしまいました・・・。 0.4 0.708 -0.081 -0.226 1.165 0.046 0 0 0.918 これの逆行列を求めたいのですが、吐き出し法でできる気がしません・・・。 どうやればいいのでしょうか? よろしくお願いします。 (1×1)行列の逆行列って?? 1行1列の逆行列って求めることができるんでしょうか? 現在、ある問題を解いていくと(1×1)の逆行列を求めないといけなくなってしまんですが。。宜しくお願いします。 待ち行列のプログラム(Fortran) Fortranで待ち行列(レジ待ち)のプログラムを作りたいのですが、途中で行き詰まってしまい、うまくできません! 待ち行列についてまだよく理解できてないのだと思います。指数乱数を発生させるプログラムだけだったらできるのですが、それをヒストグラムで示して、待ち行列がどのように変化するのか観察するプログラムができないのです。 待ち行列のプログラムについて詳しく載っているHPなどがあれば教えてください!!(本でもOKです) 逆行列の計算についてです。 授業でこういう計算の問題が出されました。 0.1 0.1 0.1 0.2 0.4 0.6 0 0 0.1 という投入係数表が提示され、 「レオンチェフ逆行列を計算せよ」という課題が出ました。 単純に単位行列から引くものとばかり思ってたのですが、どうやら違っているみたいなのですが、答えはいったいどうやったら出るのでしょう?そして答えは何なのでしょうか?わかる方、お願いします。 逆行列について。 次の行列Aの逆行列を求めよ。 |0001| |00-10| |0-100| |1000| という問題なのですが それぞれの成分の余因子を求めて、 余因子の行列を転地したものに、1/det(A)をかけたものが逆行列ですよね? 4*4行列の余因子はどうやって求めればいいのですか? 逆行列の求め方 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の行列の逆行列を求めよ。 ただ単に逆行列を求めるのであれば、計算は大変になるが、この行列を単位行列に変形することで求められるが、累乗をいかした解法を問題作成者は期待しているとおもうので、それに添った解答はどうなるのか。 よい解答を教えてください。 Fortran90/Fortran95→Fortran77 大学の授業でFortranを使ったプログラミングを勉強しています。 以下の文が大学のPCに入っているコンパイラでは問題なくコンパイルでき実行できるのですが、家のPCだとコンパイルすることが出来ません(以下の文でエラーが出ます) 大学のPCの開発環境はFujitsu-FORTRANだと思います(^ ^; 家のPCはSalford FTN77 Personal Edition CompilerとCPad for Salford FTN77を組み合わせて使用しています なぜエラーがでるのか自分なりに考えた結果、Fortran90/Fortran95のプログラムをFortran77のコンパイラでコンパイルしているからだと思います(全くの勘違いだったら指摘して下さい) Fortran90/Fortran95の開発環境がフリーで整えばいいのですが、見つからないのでプログラムを修正したいと思います そこで、力を貸していただきたいのです 前置きが長くなりましたが、エラーが出る文は以下のところです open(8,file='freq_ex13.dat',action='write',status='replace') ここを、Fortran77のコンパイラでコンパイルできるようにアドバイスを下さい よろしくお願いします ある行列とその転置行列の積の逆行列は? 今エクセルで行列を使って問題を解いています。 問題は 行列X、A、Yがあり、Xは1行4列、Aは1行2列、Yは1行4列です。 X・A=Y という式があり、Aの行列は未知数a,bの要素からなっています。 X,Yはそれぞれ数値として要素が決まっています。 ここからはヒントとして表示されていました。 そこでXの逆行列を両辺の左からかけるとAは求まるはずですが、 Xは正方行列ではないので、Xの転置行列を左からかけます。 X(T)・Xは正方行列になるのでこれを行列Pとおくと Pの逆行列を求められ、右辺にP^-1をかけるとAが求まる。 というものです。 エクセルで書かれている通りにやってみて、エラーになるので調べてみると、XとXの転置行列の積の行列式は要素にかかわらず0になるようです。 実際に数値ではなく、abcdでやってみたところ0のようです。 この場合、逆行列は存在しないのではないかと思いますが、このヒントが間違っているとはあまり思えず、困っています。 補足ですが、この問題は最小二乗法をエクセルで行列を用いて行うという趣旨です。 もとのデータとして(x、y)の座標が4点与えられており、行列Xはxの要素を縦にならべたもの、Aは最小二乗法で求める一次関数式のパラメーターa,bで、YはXと同様座標のy要素です。 私の理解が間違っていて、何行何列という部分に誤りがあるなどの指摘があれば、ぜひお願いいたします。 そもそもある行列とその転置行列の積の逆行列は存在するのかどうかもお願いします。 締め切りが近く、ちょっとあせっています。 よろしくお願いします!! 逆行列 画像の問題の逆行列の解き方が分かりません。ご教授お願いします。 逆二乗根行列を求めるプログラムを探しています (複素)正方行列の逆2乗根行列(inverse square root)を求めるための FORTRANプログラムを探しています。LAPACKのBLASルーチン等を 組み合わせてできますでしょうか? 良い方法がありましたらご教授下さい。よろしくお願いします。 逆行列についてです。 レオンチェフの逆行列というものを経済数学で学びました。が、イマイチピンと来ません。普通の逆行列も若干危ういので……。 逆行列とレオンチェフの逆行列の違いを簡単な正方行列を使って説明してくれるとありがたいです。回答をお待ちしています。 行列 逆元 逆行列 行列の逆元について。 行列Aに対して、Aの各成分の符号を反転させた行列を-Aで表し、Aの逆元と呼ぶ と説明がありました。 私は、行列の逆元とは逆行列の事だと認識していたのですが、行列の逆元とは、 上にある各成分の符号を反転させった行列の事を指すのでしょうか? ご回答よろしくお願い致します。 FORTRANについての質問です。 最近課題でFORTRANをやっているのです。 サブルーチンのMINVS/D/Q/C/Bというのを使って3×3の行列の逆行列を出力するプログラミングを作っているのですが、うまくできません。 サブルーチンを使うのはほとんどはじめてなのでどう使えばいいのかさえ良くわかっていません。 なにかアドバイスがありましたらお願いします。 正方行列の逆行列と一般化逆行列の違い 今まで,逆行列を考えるときには,対象となる行列は正方行列でした. しかし,一般化逆行列というものがあって,対象とする行列は正方行列で なくても良いみたいなのですが,そうすると,逆行列を考えるときには 正方行列であるという縛りはかからず,どんな行列でも良いと考えていいのでしょうか? また,正方行列の逆行列と一般化逆行列の違いは何でしょうか? 一般化逆行列ではどのように逆行列を求めるのでしょうか? ネット上を調べましたが,詳しく分からなかったため質問させて頂きました. 御存知の方は,教えてください. 逆行列 求め方 逆行列の求め方について。 以下の内容はすべてdet(A)≠0:逆行列が存在することを前提にします。 2行2列の場合は、添付画像のように逆行列を求めていました。 これは、通常3行3列などで逆行列を求める場合に使う A^-1=A^~/|A|を簡単にしたものだと考えておりました。 式が見づらくてすいません。A^-1:逆行列、A^~:余因子行列です。 ここで質問なのですが、 2行2列の余因子行列は添付画像にある行列になるのでしょうか? 3行3列の場合はテキストなどに記載されている方法でわかるのですが 同様の方法では2行2列の余因子行列は作れません・・・ また、余因子行列を作る際に小行列式なるものが出てきます。 この小行列式と呼ばれるものは見た目は行列なのになぜ行列式 と呼ばれるのでしょうか? URL:http://kagennotuki.sakura.ne.jp/la/node5.html 以上、ご回答よろしくお願い致します。
補足
手計算はできます。