Estás en > Matemáticas y Poesía > Matemáticas

MONOGRAFIAS MATEMÁTICAS ~ TEORÍA MATRICIAL

CÁLCULO DE VALORES PROPIOS

METODO PARA EL CALCULO DE VALORES Y VECTORES PROPIOS DOMINANTES DE UNA MATRIZ PARTE IV


Viene de PARTE I - PARTE II - PARTE III


El algoritmo anterior puede implementarse en MathemáticaTM[16] mediante un programa semejante al siguiente:

(* CODIGO PARA INTRODUCIR LA MATRIZ PROBLEMA *)

    n=100;SeedRandom[];Clear[];VA=Table[0,{n}]; tol=3;VL=250;p=7;q=5;
    A=Table[Table[Random[Real,{0,10}],{n}],{n}]; A=N[A];
    VPA=Reverse[Sort[Eigenvalues[A]]];Print["Val propios = ",VPA//InputForm];
    For[k=1,k<=n,k=k+1,VA[[k]]=Abs[VPA[[k]]]];ERD=Reverse[Sort[VA]];
    Print["VAO = ",ERD//InputForm];Print["R = ",ERD[[1]]/ERD[[2]]];
    For[k=1,k<=p,k=k+1,Print["f",k-1," = ",ERD[[(p+2-k)]]/ERD[[p+1-k]]]];

(* CODIGO PARA EL CÁLCULO DE LOS VALORES PROPIOS DOMINANTES *)
    Print["Extrayendo ",p," Valores de ",n];
    CL=1000;MXI=CL*q;CMX=SE=X=M=MC=0;TM=TN=TX=
    Table[0.01*j,{j,CL}];MN=5; M0=Mi=Table[Table[Random[Integer,{-q,q}],{p}],{n}];S=Take[Mi,p];MiT=Transpose[Mi];
    Do[
    Esc=1/(Max[Abs[Flatten[M0]]]);M1=A.M0; SInt=S;S=Inverse[MiT.M0].(MiT.M1);
    Df=S-SInt;
    X=Log[10,Max[Abs[Flatten[Df]]]]; M=M+X; MC=M/I;
    If[X<=MN,MN=X;CMX=1,CMX=CMX+1];
    If[Mod[I,q]==0,
    M0=M1.Transpose[Eigenvectors[S]]; TX[[I/q]]=X;TM[[I/q]]=MC;TN[[I/q]]=MN,M0=M1]; M0=Esc*M0;
    If[And[I>=VL,Mod[I,50]==0,Abs[TM[[(I/q)-50]]-TM[[(I/q)]]]<=0.01,SE<=p-3], SE=SE+1;VL=I+200;
    Print[Abs[TM[[(I/q)-50]]-TM[[(I/q)]]]," .En I =",I," pasamos a extraer ", p-1," Valores"];
    M0=Transpose[M0]; M0=Take[M0,p-1]; Mi=Take[MiT,p-1]; M0=Transpose[M0];
    Mi=Transpose[Mi]; S=Take[Mi,p-1];MiT=Transpose[Mi];p=p-1];
    If[And[CMX>=125,X<=-tol], Print[" I = ",I," y X = ",X];
    SE=5; ESO=Chop[Reverse[Sort[Eigenvalues[S]]]];Break[]],{I,1,MXI}];
(* CODIGO PARA PRESENTACIÓN DE RESULTADOS *)
EST=Chop[Reverse[Sort[Eigenvalues[S]]]];

If[SE>=5,BM="Buena "; ES=ESO,BM="Mala ";ES=EST];

Print[BM," Convergencia para Eig(S) = ",ES//InputForm];

f=ListPlot[TX,PlotRange->All,PlotJoined->True,PlotStyle->RGBColor[1,0,0],

DisplayFunction->Identity];

g=ListPlot[TM,PlotRange->All,PlotJoined->True,PlotStyle->Dashing[{0.01,0.01}],

DisplayFunction->Identity];

h=ListPlot[TN ,PlotRange->All,PlotJoined->True,DisplayFunction->Identity];

Show[f,g,h,DisplayFunction->$DisplayFunction] (* FIN *)

que aplicado a diversas matrices arbitrarias da resultados como los que presentamos a continuación de modo resumido.

EJEMPLOS

En todos los casos : Matriz arbitraria de dimensión 100

Ejemplo 1 : Valores propios dominantes (8 primeros) obtenidos con Mathematica y ordenados por su valor absoluto
499.2048864703142
21.69083309163059 + 20.5371221620737*I
- 29.79616416877816
12.58709153490718 + 25.10073809542122*I
5.660880321353391 + 26.38599826870335*I

499.2048864703142
29.8708156384943; 29.8708156384943,
29.79616416877816
28.07992033897286; 28.07992033897286,
26.98641270433516; 26.98641270433516

R
f0
f1
f2
f3
f4
f5
f6
16.7121
1
0.961057
1
0.942401
0.997501
1
0.0598368

Extrayendo 7 Valores de 100
0.00461366 .
En I =900 pasamos a extraer 6 Valores
I = 1552 y X = -6.96145
Buena Convergencia para Eig(S) = {
499.2048864703142,
21.69083309163073 +20.53712216207375*I,
21.69083309163069 - 20.53712216207371*I,
12.58709153490723 +25.10073809542124*I,
12.58709153490720 -25.10073809542121*I,
-29.79616416877819}
Cálculo de autovalores

Ejemplo 2 : Valores propios dominantes (7 primeros) obtenidos con Mathematica y ordenados por su valor absoluto
499.5700186929687,
21.45019975014201 + 19.0816395349805*I
- 0.570859108751097 + 29.30660846954756*I
-14.34441096383628 + 25.91482724706522*I
499.5700186929687
29.61993242977878 ; 29.61993242977878
29.31216778249949 ; 29.31216778249949
28.70923260318748 ; 28.70923260318748

R
f0
f1
f2
f3
f4
f5
f6
16.866
0,996017
1
0,979431
1
0.98961
1
0.0592909

Extrayendo 7 Valores de 100
I = 3422 y X = -3.23175
Buena Convergencia para Eig(S) = {
499.570018692968,
21.4501154330112 + 19.08164182844212*I,
21.45011543301115 - 19.08164182844228*I,
-0.5708591087509211 + 29.30660846954771*I,
-0.5708591087509701 - 29.30660846954787*I,
-14.34441096383627 + 25.91482724706537*I,
-14.34441096383633 - 25.91482724706528*I}
Cálculo de autovalores

Ejemplo 3 : Valores propios dominantes (8 primeros) obtenidos con Mathematica y ordenados por su valor absoluto
499.2048864703142,
21.69083309163059 + 20.5371221620737*I,
-29.79616416877816
12.58709153490718 + 25.10073809542122*I,
5.660880321353391 + 26.38599826870335*I,
499.2048864703142,
29.8708156384943 ; 29.8708156384943,
29.79616416877816
28.07992033897286 ; 28.07992033897286
26.98641270433516 ; 26.98641270433516

R
f0
f1
f2
f3
f4
f5
f6
16.7121
1
0.961057
1
0.942401
0.997501
1
0.0598368

Extrayendo 7 Valores de 100 .
0.00461366 .
En I =900 pasamos a extraer 6 Valores
I = 1552 y X = -6.96145
Buena Convergencia para Eig(S) = {
499.2048864703142,
21.69083309163073 + 20.53712216207375*I,
21.69083309163069 - 20.53712216207371*I,
12.58709153490723 + 25.10073809542124*I,
12.5870915349072 - 25.10073809542121*I,
-29.79616416877819}
gráfica de iteración para el Cálculo de autovalores

Ejemplo 4 : Valores propios dominantes (7 primeros) obtenidos con Mathematica y ordenados por su valor absoluto

594.6814773000719
24.44138647365658
-20.77159715856646 + 12.29990043331392*I,
-23.34737721030861
21.36518625943099 + 9.146025182921*I

594.6814773000719
24.44138647365658
24.14014911277895 ; 24.14014911277895
23.34737721030861
23.2405025880854 ; 23.2405025880854,

R
f0
f1
f2
f3
f4
f5
f6
24.3309 0.981976 1. 0.995422 0.96716 1. 0.987675 0.0411

Extrayendo 7 Valores de 100
I = 1062 y X = -3.26464
Buena Convergencia para Eig(S) = {
594.6814773000704,
24.44138647365654,
21.36518621770329 - 9.14602520479902*I,
21.36518621770326 + 9.14602520479884*I,
-20.77159715856639 + 12.29990043331392*I,
-20.77159715856639 - 12.29990043331397*I,
-23.34737720983197}
gráfica de iteración para el  Cálculo de autovalores

Ejemplo 5 : Valores propios dominantes (9 primeros) obtenidos con Mathematica y ordenados por su valor absoluto

499.5700186929687,
21.45019975014201 + 19.0816395349805*I
- 0.5708591087510971 + 29.30660846954756*I
- 14.34441096383628 + 25.91482724706522*I
- 26.26888706116584 - 11.29657389754994*I
499.5700186929687
29.61993242977878 ; 29.61993242977878
29.31216778249949 ; 29.31216778249949
28.70923260318748 ; 28.70923260318748
28.5948773254073 ; 28.5948773254073

R
f0
f1
f2
f3
f4
f5
f6
16.866 0.996017 1. 0.979431 1. 0.98961 1. 0.0592909

Extrayendo 7 Valores de 100
I = 3422 y X = -3.23175
Buena Convergencia para Eig(S) = {
499.570018692968,
21.4501154330112 + 19.08164182844212*I,
21.45011543301115 - 19.08164182844228*I,
- 0.5708591087509211 + 29.30660846954771*I,
- 0.5708591087509701 - 29.30660846954787*I,
-14.34441096383627 + 25.91482724706537*I,
-14.34441096383633 - 25.91482724706528*I}
gráfica de iteración para el  Cálculo de autovalores
Ejemplo 6 : Valores propios dominantes (7 primeros) obtenidos con Mathematica y ordenados por su valor absoluto

603.9478431452871,
22.00337317159735 + 9.32417348711021*I,
-10.28983079020347 + 19.90396192131854*I,
-18.34488255937254 + 12.89745371595267*I
603.9478431452871
24.88342562148805 ; 24.88342562148805
23.89746099790309 ; 23.89746099790309,
22.42496440292185 ; 22.42496440292185

R
f0
f1
f2
f3
f4
f5
f6
24.2711 0.999174 1. 0.938383 1. 0.960377 1. 0.0412013

Extrayendo 7 Valores de 100
0.00619175 .En I =500 pasamos a extraer 6 Valores
0.00946631 .En I =2200 pasamos a extraer 5 Valores
I = 2607 y X = -5.67936
Buena Convergencia para Eig(S) =
603.9478431452859,
22.00337317159739 - 9.32417348711024*I,
22.00337317159708 + 9.32417348711025*I,
-24.8445323709642 - 1.390712741092632*I,
-24.8445323709643 + 1.390712741092607*I
gráfica de iteración para el  Cálculo de autovalores

REFERENCIAS

Stewart, G.W. Introduction to Matrix Computation. Ed. Academic Press. Orlando.

Burden, R.L.; Faires, J.D. Análisis Numérico. Grupo Editorial Iberoamericana, S.A. Mexico.

Hämmerlin, G.; Hoffmann K.H., Numerical Mathematics. Ed Springer-Verlag.

Wilkinson, J.H.; Rensch, C. Linear Algebra. Ed. Springer-Verlag.

Gourlay, A.R.; Watson, G.A.; Computational Methods for Matrix Eigenproblems. Ed. John Wiley & Sons.

Jennings. A. Matrix Computation for Engineers and Scientists. Ed. John Wiley & Sons.

Hervás, J.A.;Hormaza, M.V.; Hernández, A.;Ajuria, M.B.; Matrices sigma: Aplicación al cálculo de valores y vectores propios. Report SA-12. Departamento de Ingeniería Mecánica, UPV.

Wilkinson, J.H.; The Algebraic Eigenvalue Problem. Oxford Sciencie Publications, reprinted

Chatelin, F.; Valeurs propres de matrices. Ed Masson;Paris.

Golub-Van Loan, Matrix computations.The Johns Hopkins Press.

Godement, R.; Algebra. De TECNOS; Madrid.

Horn, R.A. ; Matrix Analysis, Cambridge University Press.

Parlett, B.N.; The Symmetric Eigenvalue Problem, Prentice-Hall, Englewood Cliffs, NJ.

Robinson, D.J.S. A Course in Linear Algebra with Applications. Ed. World Scientific .

Strang, G. Algebra lineal y sus Aplicaciones (Spanish version of the 3rd edition of Linear Algebra). Ed Addison Wesley.

Wolfram, S. Mathematica: A System for Doing Mathematics by Computer. Addison-Wesley.
¿Te han sido de utilidad estos apuntes sobre el cálculo de valores propios?.- ¡Recomiénda esta página!



Página publicada por: José Antonio Hervás