如何求矩阵的秩,二阶矩阵的秩( 二 )
{ int i,j;
do
{ printf("m(1-%d)=",MAX);
scanf("%d",&(dat->m));
} while((dat->m)<1||(dat->m)>MAX);
do
{ printf("n(1-%d)=",MAX);
scanf("%d",&(dat->n));
} while((dat->n)<1||(dat->n)>MAX);
for(i=0;i<(dat->m);i++)
for(j=0;j<(dat->n);j++)
{ printf("a(%d,%d)=",i+1,j+1);
scanf("%d",&(dat->a[i][j]));
}
}
void output_matrix(matrix dat) //显示矩阵
{ int m,n,i,j;
m=dat.m;n=dat.n;
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
printf("%-4d",dat.a[i][j]);
printf("\n");
}
}
void exchang_row(int *a,int *b,int n)
{ int i,t;
for(i=0;i<n;i++)
{ t=a[i];
a[i]=b[i];
b[i]=t;
}
}
void mul_row(int *a,int k,int n)
{ int i;
for(i=0;i<n;i++)
a[i]*=k;
}
void add_row(int *a1,int *a2,int k,int n)
{ int i;
for(i=0;i<n;i++)
a1[i]+=a2[i]*k;
}
int rank_matrix(matrix dat,matrix *res) //求秩(返回值为秩, 第2个参数为变换得到的阶梯阵)
{ int m,n,i,t;
int ri,ci; //行标记与列标记
int f_z; //某列是否全为0的标志, 为1表示全为0
m=dat.m;n=dat.n;
for(ri=ci=0;ci<n;ci++)
{ f_z=1;
for(i=ri;i<m;i++)
if(dat.a[i][ci]!=0)
{ if(i!=ri)
if(f_z)
exchang_row(&(dat.a[ri][ci]),&(dat.a[i][ci]),n-ci);
else
{ t=dat.a[i][ci];
mul_row(&(dat.a[i][ci]),dat.a[ri][ci],n-ci);
add_row(&(dat.a[i][ci]),&(dat.a[ri][ci]),-t,n-ci);
}
f_z=0;
}
if(!f_z) ri++;
}
*res=dat;
return ri;
}
怎样在excel中求矩阵的秩 引理设矩阵A=(aij)sxn的列秩等于A的列数n, 则A的列秩, 秩都等于n 。
定理矩阵的行秩, 列秩, 秩都相等 。
定理初等变换不改变矩阵的秩 。
定理矩阵的乘积的秩Rab<=min{Ra,Rb};
当r(A)<=n-2时, 最高阶非零子式的阶数<=n-2, 任何n-1阶子式均为零, 而伴随阵中的各元素就是n-1阶子式再加上个正负号, 所以伴随阵为0矩阵 。
当r(A)<=n-1时, 最高阶非零子式的阶数<=n-1, 所以n-1阶子式有可能不为零, 所以伴随阵有可能非零(等号成立时伴随阵必为非零) 。
扩展资料
矩阵的秩是反映矩阵固有特性的一个重要概念 。
设A是一组向量, 定义A的最大无关组中向量的个数为A的秩 。
定义1. 在m*n矩阵A中, 任意决定k行和k列交叉点上的元素构成A的一个k阶子矩阵, 此子矩阵的行列式, 称为A的一个k阶子式 。
推荐阅读
- 如何快速写完作业,暑假作业怎么三天写完
- 申论如何备考,申论每天怎么练
- 如何感谢老师,如何感谢以前的老师
- 银耳如何泡发,快速泡发银耳的正确方法
- 如何制作干冰,干冰制作视频
- 犯小人如何化解,最简单破小人方法
- 如何降低论文查重率,第一次查重40算高吗
- 如何落实企业安全生产主体责任,18个安全生产主体责任
- 如何查电费明细,电费每日用电量查询
- 如何打蚊子,睡觉一躺下就听到蚊子声音