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} |
 |
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} |
 |
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}
|
 |
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}
|
 |
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}
|
 |
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
|
 |
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.
Continuar leyendo en ... PARTE
I - PARTE II - PARTE
III
|