double sum=0;
for (int i=0;i<n;i++)
sum+=array(i,i);
array为矩阵,sum输出结果。对角线上坐标特点为 (i,i)
#include <stdio.h>
int sum(int a[3][3])
{
int i, s;
s=0;
for(i=0; i<3; i++)
{
s += a[i][i];
}
return s;
}
int main()
{
int i, j, b[3][3];
scanf("请输入3*3矩阵的数据:\n");
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
scanf("%d", &b[i][j]);
}
}
printf("主对角线的和为:%d\n", sum(b));
return 0;
}
分别写出 AB,BA的主对角线元素之和就行了
tr(AB) 这是AB主对角线元素之和的符号,称为 迹 (Trace)
= ∑(i=1,2,...,n) ∑(k=1,2,...,n) aikbki (1)
同样有
tr(BA)
= ∑(i=1,2,...,n) ∑(k=1,2,...,n) bikaki
和号交换
= ∑(k=1,2,...,n) ∑(i=1,2,...,n) akibik
脚标的记法换符号(i,k 转换一下)
= ∑(i=1,2,...,n) ∑(k=1,2,...,n) aikbki (2)
比较(1),(2)式,
所以有
tr(AB-BA)
= tr(AB) - tr(BA) 这是迹的性质
= 0.