Objetivos. Escribir una funci´on que resuelva sistemas de ecuaciones lineales de la si-
guiente forma (para un orden n arbitrario):
a1 b 1 0 0 0 x1 r1
x2 r2
c1 a 2 b 2 0 0
x3 = r3
0 c2 a 3 b 3 0 . (1)
3 4 4 x4 r4
0 0 c a b
4
0 0 0 c a 5 x5 r5
−4 −5 4 −11 2 → 0 1 4 −9 3 → 0 1 4 −9 .
0 5 2 9 0 25 2
2x1 + 3x 9 0 0 −18 54
2
La ´ultima matriz aumentada corresponde al siguiente3 sistema:
3 2 1 = 1;
x + 4x 3 = −9;
3 2 1
− 18x = 54.
Comprobaci´on:
2 3 0 −4 −8 + 9 1
−4 −5 4 3 = 16 − 15 − 12 = −11 .
0 5 2 −3 0 + 15 − 6 9
a1 b 1 0 0 0 r1 d1 b1 0 0 0 s1
1 2 2 d 1 :=a 1 2 2
c a b 0 0 r2 s1 :=r 11
−−−−− c d b 0 0 r2
1 3 3 2 3 3
00 c0 ac ba b0 r3 → 0 c0 dc bd b0 r3
3 4 3 4 4
4 r4 0 r4
4 4
0 0 0 c a 5 r5 0 0 0 c a5 r5
Para deducir las f´ormulas que se aplican en el p-´esimo paso del algoritmo consideremos
un caso particular:
4 4 | {z }
?
d = , s =
| {z } + µ | {z } | {z } + | {z } | {z } .
? ? ? ? ?
Programaci´on: Sistemas tridiagonales de ecuaciones lineales, p´agina 2 de 4
4. Primera etapa: f´ormulas generales.
El contador del ciclo p toma valores desde | {z } hasta | {z } .
? ?
c + µ
| {z } = 0 =⇒ µ := | {z } .
p+1 p
? ?
p+1
r p+1 denotados
p+1 por d p+1 y s respectivamente, se calculan mediante las siguientes
f´ormulas:
d := , s p+1 :=
as. Consideremos
| {z } | la segunda
{z etapa
} . cuando
? ?
1 1 x s1
2 2 x2 s2
3 3 x3 = s3
5. Segunda etapa: sustituci´on hacia4 atr´ 4 x4 s4
la matriz del sistema es triangular superior: 5
n n−1
d1 b 0 0 0 1
0 d b 0 0 5
5 0 0 d b 0 .
0 0 0 d b
0 0 0 0 d5 x5 s
5 5
Calculemos x , x ,...,x .
Escribimos de manera expl´ıcita la ´ultima ecuaci´on (que contiene x ) y despejamos
la inc´ognita x : es de x k+1
= s =⇒ x =
| {z } | {z } .
? ?
expres´andola a trav´ :
| {z
} =
=⇒x =
| {z } | {z } .
? ? ?