Documente Academic
Documente Profesional
Documente Cultură
Mtodos
Numricos
con MatLab
Francisco
Changotasi.
Introduccin
3 31
ndice general
ndice general 4
1 El mtodo de Jacobi 5
1.1. El mtodo de Jacobi . . . . . . . . . . . . . . 6
1.2. Rotaciones planas . . . . . . . . . . . . . . . 7
1.3. Semejanza de matrices y transformaciones or-
togonales . . . . . . . . . . . . . . . . . . . . 9
1.4. Sucesin de transformaciones de Jacobi . . . 12
1.5. El paso general . . . . . . . . . . . . . . . . . 14
1.6. Cmo hacer dpq y dqp iguales a cero . . . . . 18
1.7. Resumen del paso general . . . . . . . . . . . 21
1.8. Actualizacin de la matriz de autovectores . . 23
1.9. Estrategia para decidir qu apq se elimina . . 25
Bibliografa 31
Captulo 1
El mtodo de Jacobi
5 31
1.1. El mtodo de Jacobi
El mtodo de Jacobi es un algoritmo para calcular
todas las parejas autovalor-autovector de una matriz
simtrica que es muy facil de entender. Es un mto-
do fiable que proporciona respuestas uniformemente
precisas y que para matrices de orden menor o igual
que 10 es competitivo frente a otros mtodos ms
sofisticados; tambin es aceptable para matrices de
orden menor o igual que 20, si la velocidad de conver-
gencia no es una cuestrion muy relevante. El mtodo
de Jacobi funciona para todas las matrices simtricas
reales; esta limitacion no es muy segura ya que, en la
prctica, hay un gran nmero de problemas en la in-
geniera y en la matemtica aplicada que involucran
el clculo de los autovalores de una matriz simtrica.
Desde un punto de vista terico, el mtodo de Jacobi
incorpora algunas tcnicas que se utilizan en algo-
ritmos ms sofisticados por lo que merece la pena
estudiarlo con detalle.
Francisco Changotasi. Mtodos Numricos con MatLab
R1 = R0 o bien R0 R = I
Francisco Changotasi. Mtodos Numricos con MatLab
AX = X (1.1)
Supongamos que K es una matriz invertible y defi-
namos B mediante
B = K 1 AK (1.2)
Multiplicando por K1 X a la derecha de la rela-
cion (1.2) obtenemos
BK 1 X = K 1 AKK 1 X = K 1 X
(1.3)
= K 1 X = K 1 X.
Hacemos ahora el cambio de variable
Y = K 1 X o bien X = KY (1.4)
C = R0 AR. (1.6)
CR0 X = R0 ARR0 X = R0 AX = R0 X = R0 X.
(1.7)
hacemos ahora el cambio de variable
Y = R0 X o X = RY (1.8)
Francisco Changotasi. Mtodos Numricos con MatLab
D0 = A
(1.11)
Dj = R0 J Dj1 Rj para j = 1, 2, ....
Dk D1 (1.13)
Siendo
Si definimos
R = R1 R2 Rk1 Rk , (1.15)
1 0 0 0
.. .. .. ..
. . . .
0
c s 0
R1 = ... .. .. ..
. . . (1.20)
0
s c 0
.. .. .. ..
. . . .
0 0 0 1
Francisco Changotasi. Mtodos Numricos con MatLab
a11 a1p a1q a1n
.. .. .. ..
. . . .
ap1
app apq apn
B0 = ... .. .. ..
. . .
aq1
aqp aqq aqn
.. .. .. ..
. . . .
an1 anq anq ann
15 31
1 0 0 0
.. .. .. ..
. . . .
0
c s 0
B1 = ... .. .. ..
. . .
0
s c 0
.. .. .. ..
. . . .
0 0 0 1
B = B0 x B1 (1.21)
c2 s2
= cot 2 = . (1.26)
2cs
Supongamos que apq 6= 0 y que deseamos obtener
dpq = 0. Entonces, usando la ltima ecuacin de
(1.24), obtenemos
sign()
t = + (2 + 1)1/2 = (1.31)
|| + (2 + 1)1/2
siendo sign()=1 cuando 0 y sign() = 1
cuando < 0. Una vez hallado t, los valores c y s se
calculan usando las frmulas
1
c= 2 y s = ct. (1.32)
(t + 1)1/2
Francisco Changotasi. Mtodos Numricos con MatLab
aqq app
=
2apq
sign()
t= (1.33)
|| + (2 + 1)1/2
1
c= 2
(t + 1)1/2
s = ct
for j=q:n
if(j 6= p) y (j 6= q) (1.34)
djp = cajp sajq ;
dpj = djp ;
djq = cajq + sajp ;
dqj = djq ;
end
end
Francisco Changotasi. Mtodos Numricos con MatLab
Vk = R1 R2 Rk (1.35)
S2 = S1 2|apq |2 . (1.39)
y
n
X
T0 = |djj |2
j=1
entonces:
T1 = T0 + 2|apq |2 .
0,763020 0,000000 0,646375 0,000000
0,000000 1,000000 0,000000 0,000000
R1 = 0,646375 0,000000 0,763020 0,000000
0,000000 0,000000 0,000000 1,000000
0,528779 0,573042 0,582298 0,230097
0,591967 0,472301 0,175776 0,628975
V = 0,536039 0,282050 0,792487 0,071235
0,287454 0,607455 0,044680 0,739169
Bibliografa
31 31