C语言求5阶实对称矩阵的全部特征值的程序
#include
#include
#include "celmhes。c "
#include "chqr。
c "
#define N 3
void main()
{
double b[N 1][N 1]={{0,0,0,0},{0,3,1,-1},{0,2,2,-1},{0,2,2,0}};/*这里矩阵无需对称,若对称,则特征值均为实数*/
double **a;
double wr[N 1],wi[N 1];/*特征值的实部和虚部*/
int i,j;
a=(double **) malloc((unsigned) (N 1)*sizeof(double*));
for(i=0;i <=N;i )
a[i]=b[i]; /*赋值完毕*/
printf( "Original A: ");
for(i=1;i <=N;i )
{
for(j=1;j <=N;j )
printf( "%f ",a[i][j]);
printf( " ");
}
elmhes(a,N); /*变换至上Hessenburg型,特征值不变*/
printf( "After Elmhes: ");
for(i=1;i <=N;i )
for(j=1;j <(i-1);j )
a[i][j]=0;
for(i=1;i <=N;i )
{
for(j=1;j <=N;j )
printf( "%f ",a[i][j]);
printf( " ");
}
hqr(a,N,wr,wi);/*用QR方法求上Hessenburg型矩阵的特征值*/
printf( "Eigenvalue: ");
for(i=1;i <=N;i )
printf( "%f %f * i ",wr[i],wi[i]);。
问:已知1,1,-1是3阶实对称矩阵A的3个特征值,向量...
答:详细解答如下:详情>>