• ベストアンサー

フランク行列の逆行列を求める問題で質問です。

フランク行列 a ij={ i (i≦j) 、 j (i>j) (iとjはaの添え字です) ただし、正方行列とする。 というものの逆行列を求めるもので、要素数がいくら大きくなっても書き換えが最小限で済むプログラムを作って、5×5行列のときにその逆行列を求めたいのですが、何回やっても思うようにいかずに、本当に困っています。どうか助けてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

えぇと, 問題がいまひとつわからないんだけど.... 「任意の正方行列の逆行列を (存在すれば) 求める」ことと, 「フランク行列の逆行列を求める」ことって全然違いますよね. どっち?

qngo11
質問者

補足

分かりにくくてすいません。フランク行列の逆行列を求める汎用的なプログラム(要素数がいくら大きくなっても書き換えが最小限で済むという意味です)を作りたいのですが、分からなくて困っています。どうか助けてください。お願いします。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

「フランク行列の逆行列を求める」ルーチンであれば, その引数は「次数」だけでしょうか? もしそうなら, いっそ「書き換える」ということを無視していきなり逆行列を作ってしまうのがおそらく最速ですが, それで OK ですか?

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

どんなソースコードを書いたときに、どんな風にうまくいかないのでしょうか? 状況を具体的に書かないと、ヘルプできないです。 問題のサイズを2次とか3次とかに小さくして考えてみてはいかがでしょうか。 そこでじゅうぶんロジックを吟味できれば、5次に拡張するのは容易だと思います。

関連するQ&A

  • 行列式の計算問題

    n次の正方行列で、行数をi、列数をjとしたとき、 i=jのときの要素がaで、それ以外の要素が1の行列Aの 行列式が求められなくて困っています。 三角行列式に変換しようとしてもうまくいきません。 どういった方法で求めるのが良いでしょうか?

  • 【証明】この行列の逆行列は?

    i行目、j列目の要素が1/(i+j)である正方行列は正則であることを証明せよ。また逆行列のすべての要素が整数であることを証明せよ。 ためしに、n=1,2,3,4の場合のdeterminantを計算してみたのですが、それぞれ、1/2,1/72,1/43200,1/423360000と切りのいい答えになりました。規則性がありそうなので一般化できないかと悪戦苦闘してみたのですが手がかりがつかめません。よろしくお願いします。

  • 行列の問題です。

    行列の問題です。 e[ij]をn*n行列でi行j列成分のみ1で他は0であるとする。 i≠jのとき e[ij]^a=E+ae[ij]とする。ただしE=単位行列、a∈R (1)e[ij]*e[hk]=δ[jh]e[ik]を示せ。 ※δjhはクロネッガーのデルタ。 (2)(e[ij]^a)*(e[ij]^b)=(e[ij]^x)となるxをa,bを使って書け。 (3)e[ij]^aの逆行列を求めよ。 よろしくお願いします。

  • 行列の問題でわからないところが。

    (1)成分に実数を含む行列を以下のように定義する。 │a 1 1 1│ │1 a 1 1│ │1 1 a 1│ │1 1 1 a│ rank(a)=3となるようなaの値を求めよ。 どのように計算したら良いのかわかりません… どなたか計算例等を説明いただけないでしょうか? (2) Aはn次正則行列で、n次正方行列BはAの逆行列である。またn次正方行列CはBの第i行と第j行を交換してできる行列であるとする。 このとき、Cの逆行列の第(i,j)成分はAの成分を用いて表すことができる。 答えはaiiになるんですが過程がわかりません… もし、過程がわかる方いましたらご教授下さい。 よろしくお願いします。

  • Excel 2007 <マクロで逆行列を求めたい>

    Excel 2007 <マクロで逆行列を求めたい> 任意のn次の正方行列の逆行列をシートを介さずマクロ上のみで求めたいのです。 たとえば Option Base 1 Sub test()  dim a() as single  dim b() as single  n=5  redim a(n,n) '行列A  redim b(n,n) '行列B    for i=1 to n   for j=1 to n    ....'a(i,j)に値が入る   next j  next i    ....  .... 'Aの逆行列の要素がBの要素になる。 End Sub  というマクロです。 (行列Aは逆行列を持つという前提で話を進めます) 以下のサイトより、シートに値があれば、Rangeオブジェクト及びWorksheetFunctionを用いて逆行列を求められることが分かりました。 http://makotowatana.ld.infoseek.co.jp/vba_cell.html そこでもう一歩踏み込んで、シートを介さずして逆行列の要素を、取得したいのですが、可能でしょうか? ご存知の方よろしくお願いします。

  • にゃんこ先生の自作問題、ヴァンデルモンドの逆行列

    にゃんこ先生といいます。 n次の正方行列で、 ヴァンデルモンドの行列 V[i,j]=α[i]^(j-1) の行列式は detV[i,j]=Σ[1≦i≦j≦n](α[j]-α[i]) であることはよくしられています。 http://en.wikipedia.org/wiki/Vandermonde_matrix 以前、3次の正方行列で、ヴァンデルモンドの逆行列を計算すると、 (1 α α^2) (1 β β^2) (1 γ γ^2) の逆行列は、 (βγ(γ-β) γα(α-γ) αβ(β-α)) (β^2-γ^2 γ^2-α^2  α^2-β^2)*(1/√D) (γ-β   α-γ    β-α  ) ここで、√D=(α-β)(β-γ)(γ-α) (差積) とにゃりました。 n次の正方行列で、ヴァンデルモンドの逆行列がどういった形ににゃるのかご存知の方は教えていただけにゃいでしょうか?

  • ある行列とその転置行列の積の逆行列は?

    今エクセルで行列を使って問題を解いています。 問題は 行列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要素です。 私の理解が間違っていて、何行何列という部分に誤りがあるなどの指摘があれば、ぜひお願いいたします。 そもそもある行列とその転置行列の積の逆行列は存在するのかどうかもお願いします。 締め切りが近く、ちょっとあせっています。 よろしくお願いします!!

  • 逆行列

    逆行列の証明です。 わかる方、教えてください。 n次元のベクトル、x_1~x_k (1≦k≦n)は1次独立であると仮定したとき、(g(αβ))=x_α ・ x_β (注…xは太字で表していませんがベクトルなので、右辺はもちろん内積です。ちなみにここでの添字α,βはベクトルの要素を表すのではなく、ベクトルの番号を表します) を(α,β)要素とするようなk次の正方行列G=(g(αβ))を考える。 このとき、Gの逆行列G(-1)=(g(αβ))(-1)が必ず存在することを証明してください。 ーーーーーー おそらく行列式を用いて証明するのでしょうが、はじめの1次独立という仮定をうまく利用できません。2次形式を用いてみたら?というアドバイスもいただいたのですが、こっちのほうがもっと手付かずです。 どなたかわかる方、書き表し方が見にくくてすみませんが教えてください。 あと、(g(αβ))(-1)は(g(αβ))の逆行列です。

  • n次正方行列の計算

    n次正方行列の計算問題です。2次や3次正方行列なら、素直に個々の成分をかけていくだけだと思うのですが、n次になると、どうやって解くのかわかりません。 すみませんが、考えかたと、どういった形で答えを書けばいいのか教えてください。 成分が0のところは消えるので、行列の成分がそのまま特定の位置に 移動することを記述すればいいのだと思うのですが・・・ 以下、問題↓ 2つのn次正方行列A、E_ijについてAE_ijおよびE_ijAを求めよ。 ただしE_ijは(i,j)成分のみが1で残りの成分はすべて0である。 (_ijはEの右下につく小さいijです。)  |a11 a12 a13 … a1n| |a21 a22 a23 … a2n| A=|a31 a32 a33 … a3n| |: : : … : | |an1 an2 an3 … ann|      (j)       ∨    |   : |    |   : | E_ij=|………:………|<(i)    |   : |    |   : |

  • 行列式の計算

    n次正方行列Aの、i行j列の成分をA(i,j)とすると A(i,j)=a(j)^(i-1)  *(j)はaの添え字を表す と書けるとします。 このとき、Aの行列式|A|はどのように計算すればよいでしょうか? 各列から第1列を引くと、第1行がほとんど0になり、 各列から a(j)-a(1) が括り出せることはわかりますが、 そこから計算が進みません。 よろしくお願いします。

専門家に質問してみよう