• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:3行3列の行列 A に対して、Aの2乗, Aの3乗 を求めよ。)

行列の2乗と3乗を求める方法とは?

このQ&Aのポイント
  • 行列Aの2乗と3乗を求める方法について教えてください。
  • 与えられたプログラムでA_2とA_3の計算方法を教えてください。
  • セグメントエラーが出てしまう原因についても教えていただけますか?

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

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.3

| A B C | | a b c | | Aa+Bd+Gc Ab+Be+Ch Ac+Bf+Ci | | D E F | | d e f | | Da+Ed+Fc Db+Ee+Fh Dc+Ef+Fi | | G H I | | g h i | | Ga+Hd+Ic Gb+He+Ih Gc+Hf+Ii | 本当ですか? 積のところで、gがどこにも登場していません。 まあ、それはさておき、 X = A * B のとき、 積Xのi行j列要素は、Aのi行目とBのj行目の積和です。 いきなり3行3列の積を求めようとするより、 まずは2行2列あたりでじゅうぶん考え方をマスターなさるのが よいのではないでしょうか。

dyebe011
質問者

お礼

返信が遅れてしまい申し訳ありません。   >本当ですか? >積のところで、gがどこにも登場していません。 間違った1行目をコピーしたためgが出ていませんでした。 2行2列から勉強しようと思います。 こんな私に付き合っていただき、ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.4

>積Xのi行j列要素は、Aのi行目とBのj行目の積和です。 おっと失礼しました。 誤:Aのi行目とBのj行目の積和 正:Aのi行目とBのj列目の積和

すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.2

>A_2[i][j] = A[i][j] * A[i][j]; 間違っています。 行列の掛け算の方法を勉強し直してください。

dyebe011
質問者

補足

ご指摘ありがとうございます。 例として、3行3列の行列の積は | A B C | | a b c | | Aa+Bd+Gc Ab+Be+Ch Ac+Bf+Ci | | D E F | | d e f | | Da+Ed+Fc Db+Ee+Fh Dc+Ef+Fi | | G H I | | g h i | | Ga+Hd+Ic Gb+He+Ih Gc+Hf+Ii | となるので、このプログラムでその計算をさせるには for(i=0;i<3;i++) for(j=0;j<3;j++) A_2[i][J] += A[I][j]*A[j][i]; と計算すればよいのでしょうか?

すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.1

>単純にA_2=A×Aとしてみた 考え方は正しいです。 うまくいかない、というコードを貼ってください。

dyebe011
質問者

補足

回答ありがとうございます。 A_2[i][j] = A[i][j] * A[i][j]; としました。 あたえられているプログラムだと int i,j,k,l; となっていますが、k,lはどのようにつかうのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A