• ベストアンサー

n行n列の行列の2乗

javaでn行n列の行列の2乗を求めたいのですが、どうすればよいでしょうか?3行3列の2乗はできたのですがn行n列への拡張の仕方がわかりません。

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

  • ベストアンサー
回答No.1

行列のかけ算について調べて理論を理解しておいてください。 イメージ的には↓のようなプログラムになります for(i=0; i<n; i++ ){  for(j=0; j<n; j++ ){   b[i][j] = 0 ;   for(k=0; k<n; k++){    b[i][j] += a[i][k]*a[k][j] ;   }  } } ちなみに実際に大規模行列の乗算を行う場合は、上記のようなijk形式のループではなく、キャッシュ等を考慮してブロック化したり演算の順序を変えたりします。

riquelme10
質問者

お礼

早い返信ありがとうございます。とりあえずやってみます。