Red de conocimiento informático - Conocimiento informático - Para una matriz simétrica real, escriba su programa usando el algoritmo QR y use el programa escrito para encontrar todos los valores propios de la matriz.

Para una matriz simétrica real, escriba su programa usando el algoritmo QR y use el programa escrito para encontrar todos los valores propios de la matriz.

Encuentre todos los valores propios y vectores propios de una matriz tridiagonal simétrica real

//Utilice el método QR variante para calcular todos los valores propios y vectores propios de una matriz tridiagonal simétrica real

// n-El número de pasos de la matriz

//b-Una matriz de longitud n Cuando se devuelve, la matriz contiene los elementos diagonales principales de la matriz tridiagonal

// c. -matriz de longitud n, cuando se devuelve, la matriz contiene los primeros n-1 elementos del elemento subdiagonal

//c-array, matriz de longitud n*n, si se mantiene la matriz unitaria, devuelve el conjunto de vectores propios de la matriz tridiagonal simétrica real

///////////////////////////// ///// //a-Una matriz de longitud n*n, que contiene una matriz simétrica real de orden n

}

else

{

p>

e=p/c[i];

r=sqrt(e*e+1.0);

c[i+1]=s*c [ i]*r;

s=1.0/r;

e=e/r;

}

> p= e *b[i]-s*g;

b[i+1]=h+s*(e*g+s*b[i]);

para ( k=0; k<=n-1; k++)

{

u=k*n+i+1;

v=u- 1 ;

h=q[u];

q[u]=s*q[v]+e*h;

q[v] = e*q[v]-s*h;

}

}

c[j]=s*p;

b[j]=e*p;

}

mientras (fabs(c[j])>d);

}

b[j]=b[j]+f;

}

para (i=0; i<=n-1; i++)

{

k=i; p=b[i];

si (i+1<=n-1)

{

j=i+1;

mientras ((j<=n-1)&&(b[j]<=p))

{

k=j;

p=b[j];

j=j+1;

}

}

if (k!=i)

{

b[k]=b[i];

b[i]=p;

for (j=0; j<=n-1; j++)

{

u=j*n+i

v=j*n+k;

p=q[u];

q[u]=q[v ];

q[ v ]=p;

}

}

}

retorno(1);

}< / p>

/question/42993521.html?si=2