29.10.2014 Views

Práctica 0 Resolución de sistemas de ecuaciones ... - Grupo.us.es

Práctica 0 Resolución de sistemas de ecuaciones ... - Grupo.us.es

Práctica 0 Resolución de sistemas de ecuaciones ... - Grupo.us.es

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Práctica 0<br />

R<strong>es</strong>olución <strong>de</strong> <strong>sistemas</strong> <strong>de</strong><br />

<strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong><br />

0.1. Objetivo<br />

Los métodos numéricos para la r<strong>es</strong>olución <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> diferencial<strong>es</strong> lineal<strong>es</strong> en<br />

<strong>de</strong>rivadas parcial<strong>es</strong> se suelen reducir a r<strong>es</strong>olver <strong>sistemas</strong> <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong> con un<br />

número elevado <strong>de</strong> incógnitas, lo que hace nec<strong>es</strong>aria su r<strong>es</strong>olución por or<strong>de</strong>nador. El<br />

objetivo <strong>de</strong> <strong>es</strong>ta práctica <strong>es</strong> que el alumno se familiarice con las técnicas <strong>de</strong> r<strong>es</strong>olución<br />

<strong>de</strong> <strong>sistemas</strong> <strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong> por or<strong>de</strong>nador. Aunque existen diferent<strong>es</strong> algoritmos<br />

<strong>es</strong>tudiaremos en <strong>es</strong>ta práctica el método <strong>de</strong> <strong>de</strong>scomposición LU.<br />

0.2. Fundamentos <strong>de</strong>l método LU<br />

Considér<strong>es</strong>e el siguiente sistema <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> lineal <strong>de</strong> N <strong>ecuacion<strong>es</strong></strong> con N<br />

incógnitas x 1 , . . ., x N :<br />

don<strong>de</strong> A <strong>es</strong> la matriz <strong>de</strong> coeficient<strong>es</strong> conocidos {a ij }:<br />

⎛<br />

A =<br />

⎜<br />

⎝<br />

A · x = b (1)<br />

⎞<br />

a 11 a 12 . . . a 1N<br />

a 21 a 22 . . . a 2N<br />

.<br />

. . .. ⎟ . ⎠<br />

a N1 a N2 . . . a NN<br />

1


R<strong>es</strong>olución <strong>de</strong> <strong>sistemas</strong> <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong> 2<br />

y x y b los vector<strong>es</strong> <strong>de</strong> incógnitas y términos <strong>de</strong>pendient<strong>es</strong> {b i }:<br />

⎛<br />

x =<br />

⎜<br />

⎝<br />

⎞<br />

x 1<br />

x 2<br />

⎟<br />

. ⎠<br />

x N<br />

⎛<br />

; b =<br />

⎜<br />

⎝<br />

⎞<br />

b 1<br />

b 2<br />

⎟<br />

. ⎠<br />

b N<br />

Supongamos que po<strong>de</strong>mos <strong>de</strong>scomponer la matriz A <strong>de</strong> la siguiente manera:<br />

A = L · U (2)<br />

don<strong>de</strong> L y U son matric<strong>es</strong> triangular inferior (elementos diferent<strong>es</strong> <strong>de</strong> cero por <strong>de</strong>bajo<br />

y en la diagonal) y triangular superior (elementos diferent<strong>es</strong> <strong>de</strong> cero por encima y<br />

en la diagonal), r<strong>es</strong>pectivamente:<br />

⎛<br />

L =<br />

⎜<br />

⎝<br />

⎞<br />

α 11 0 . . . 0<br />

α 21 α 22 . . . 0<br />

.<br />

. . .. ⎟ . ⎠<br />

α N1 α N2 . . . α NN<br />

⎛<br />

⎞<br />

β 11 β 12 . . . β 1N<br />

0 β 22 . . . β 2N<br />

; U =<br />

⎜ .<br />

⎝ . . .. ⎟ . ⎠<br />

0 0 . . . β NN<br />

Entonc<strong>es</strong> la r<strong>es</strong>olución <strong>de</strong>l sistema <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong> (1) se pue<strong>de</strong> <strong>de</strong>scomponer<br />

como:<br />

L · y = b U · x = y (3)<br />

don<strong>de</strong> y <strong>es</strong> el vector formado por N incógnitas auxiliar<strong>es</strong> y 1 , . . .,y N . Dada la forma<br />

<strong>de</strong> las matric<strong>es</strong> L y U, la solución <strong>de</strong> <strong>es</strong>te sistema <strong>es</strong> trivial: primero se r<strong>es</strong>uelve para<br />

y la primera ecuación <strong>de</strong> (3):<br />

y 1 = b 1<br />

α 11<br />

⎡ ⎤<br />

y i = 1 ∑i−1<br />

⎣b i − α ij y j<br />

⎦ i = 2, . . .,N (4)<br />

α ii<br />

j=1<br />

y luego se r<strong>es</strong>uelve la segunda ecuación <strong>de</strong> (3):<br />

x N = y N<br />

β NN<br />

⎡<br />

x i = 1 ⎣y i −<br />

β ii<br />

N∑<br />

j=i+1<br />

β ij x j<br />

⎤<br />

⎦ i = N − 1, N − 2, . . ., 1 (5)


R<strong>es</strong>olución <strong>de</strong> <strong>sistemas</strong> <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong> 3<br />

Por tanto, hemos reducido la r<strong>es</strong>olución <strong>de</strong>l sistema <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> (1) a encontrar<br />

la <strong>de</strong>scomposición LU <strong>de</strong> la matriz A. Para ello nos damos cuenta <strong>de</strong> que hemos <strong>de</strong><br />

r<strong>es</strong>olver el siguiente conjunto <strong>de</strong> N 2 <strong>ecuacion<strong>es</strong></strong> con N 2 + N incógnitas (α ij y β ij ):<br />

α i1 β 1j + . . .α iN β Nj = a ij (6)<br />

Dado que hay más incógnitas que <strong>ecuacion<strong>es</strong></strong>, tenemos que introducir N condicion<strong>es</strong><br />

más. Como veremos a continuación, <strong>es</strong> posible consi<strong>de</strong>rar siempre que los elementos<br />

<strong>de</strong> la diagonal <strong>de</strong> L son igual<strong>es</strong> a la unidad, <strong>es</strong> <strong>de</strong>cir, α ii = 1.<br />

Existe un método para r<strong>es</strong>olver las <strong>ecuacion<strong>es</strong></strong> (6) si se or<strong>de</strong>nan <strong>de</strong> una cierta<br />

manera: el algoritmo <strong>de</strong> Crout. La secuencia <strong>es</strong> la siguiente:<br />

1. Fijamos los valor<strong>es</strong> <strong>de</strong> α ii = 1 para todos los valor<strong>es</strong> <strong>de</strong> i.<br />

2. Para cada valor <strong>de</strong> j = 1, 2, . . ., N, hacemos los siguient<strong>es</strong> pasos:<br />

Para i = 1, . . .,j, obtenemos:<br />

β ij = a ij −<br />

i−1 ∑<br />

k=1<br />

(cuando i = 1 el término <strong>de</strong> la suma se consi<strong>de</strong>ra cero).<br />

En segundo lugar, para i = j + 1, . . ., N, obtenemos:<br />

0.3. D<strong>es</strong>arrollo <strong>de</strong> la práctica<br />

0.3.1. Cu<strong>es</strong>tion<strong>es</strong> teóricas<br />

α ik β kj (7)<br />

⎛<br />

⎞<br />

α ij = 1 j−1 ∑<br />

⎝a ij − α ik β kj<br />

⎠ (8)<br />

β jj<br />

Demostrar que el sistema <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> (3) <strong>es</strong> equivalente a la ecuación (1).<br />

Demostrar que las <strong>ecuacion<strong>es</strong></strong> (4) y (5) r<strong>es</strong>uelven el sistema <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> (3).<br />

Demostrar que el algoritmo <strong>de</strong> Crout da una solución al sistema <strong>de</strong> <strong>ecuacion<strong>es</strong></strong><br />

(6).<br />

k=1


R<strong>es</strong>olución <strong>de</strong> <strong>sistemas</strong> <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong> 4<br />

0.3.2. Práctica<br />

Escribir un programa <strong>de</strong> or<strong>de</strong>nador don<strong>de</strong> se implemente el método <strong>de</strong> <strong>de</strong>scomposición<br />

LU para la r<strong>es</strong>olución <strong>de</strong> <strong>ecuacion<strong>es</strong></strong> lineal<strong>es</strong>.<br />

Aplíqu<strong>es</strong>e dicho programa para la r<strong>es</strong>olución <strong>de</strong>l siguiente sistema <strong>de</strong> <strong>ecuacion<strong>es</strong></strong>:<br />

x 1 − x 2 + 2x 3 − x 4 + x 5 = 3<br />

2x 1 − x 2 + x 3 − x 4 + x 5 = 4<br />

3x 1 + 2x 2 + x 3 + 4x 4 + 5x 5 = 5<br />

2x 1 − x 2 + 3x 3 − 3x 4 + 2x 5 = 4<br />

x 1 + x 2 − x 3 − 5x 4 + x 5 = 3<br />

Modifíqu<strong>es</strong>e el programa anterior para obtener: (a) la matriz inversa A −1 <strong>de</strong><br />

la matriz <strong>de</strong> coeficient<strong>es</strong>, (b) el <strong>de</strong>terminante <strong>de</strong> la matriz <strong>de</strong> coeficient<strong>es</strong> A.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!