3行3列の行列 A に対して、Aの2乗, Aの3乗 を求めよ。
3行3列の行列 A に対して、Aの2乗, Aの3乗 を求めよ。
という問題で
#include <stdio.h>
#define N 3
int A[N][N];
int A_2[N][N]; /* 行列Aを2乗したもの */
int A_3[N][N]; /* 行列Aを3乗したもの */
int main()
{
int i,j,k,l;
/* 3行3列の係数行列Aの成分を入力 */
printf("係数行列Aを%d行%d列で入力してください\n", N, N);
for( i=0; i<N; i++)
{
for( j=0; j<N; j++)
{
printf("A[%d][%d]=", i+1, j+1);
scanf("%d", &A[i][j]);
}
}
ここまでがあたえられえているのですが、単純にA_2=A×Aとしてみたのですが、セグメントエラーが出てしまいうまく出力できませんでした。
A_2とA_3の計算方法とあたえられているプログラムの動作を教えてください。
よろしくお願いします
お礼
ご回答本当にありがとうございます! (A^2)^t=(AA)^t=(A^t)(A^T)=(A^t)^2=A^2 なので 対称行列ですね! わかりやすいヒントに感謝です♪