Professional Documents
Culture Documents
INVERSION DE MATRICES.
[A] = [L][U]
[A]
Descom-
posición
[U] [L]
Sustitución
[L] {D} = {B}i hacia adelante
• [L], es la matriz triangular inferior donde su diagonal contiene elementos con valor
uno. Esta matriz se puede obtener por el procedimiento GAUSS y se forma con los
factores f generados en la eliminación hacia delante (ver eliminación de GAUSS).
Ejemplo:
⎡ 3 − 0 .1 − 0 .2 ⎤
[A] = ⎢⎢ 0.1 7 − 0.3⎥⎥
⎢⎣0.3 − 0.2 10 ⎥⎦
Guardar los factores que se emplean para obtener la matriz triangular superior
⎡3 − 0 .1 − 0 .2 ⎤
[U] = ⎢0 7.00333 − 0.293333⎥⎥
⎢
⎢⎣0 0 10.0120 ⎥⎦
0.1
El elemento a21 se eliminó con el factor f 21 = = 0.0333333
3
0.3
El elemento a31 se eliminó con el factor f 31 = = 0.100000
3
− 0.19
El elemento a32 se eliminó con el factor f 32 = = −0.0271300
7.00333
⎡ 1 0 0⎤
⎢
[L] = ⎢0.0333333 1 0⎥⎥
⎢⎣ 0.100000 − 0.0271300 1⎥⎦
Paso 2: Obtener el vector de incógnitas {D} del siguiente sistema [L]{D}={B1}, aplicando
sustitución hacia adelante
Para i =1
⎡ 1 0 0⎤ ⎧ d1 ⎫ ⎧1⎫
⎢0.0333333 ⎪ ⎪ ⎪ ⎪
⎢ 1 0⎥⎥ ⎨d 2 ⎬ = ⎨0⎬
⎢⎣ 0.100000 − 0.0271300 1⎥⎦ ⎪⎩d 3 ⎪⎭ ⎪⎩0⎪⎭
⎡3 − 0 .1 − 0 .2 ⎤ ⎧ x1 ⎫ ⎧ 1 ⎫
⎢0 7.00333 − 0.293333⎥ ⎪ ⎪ ⎪ ⎪
⎢ ⎥ ⎨ x2 ⎬ = ⎨− 0.03333⎬
⎢⎣0 10.0120 ⎥⎦ ⎪ x ⎪ ⎪ − 0.1009 ⎪
0 ⎩ 3⎭ ⎩ ⎭
Paso 3: Obtener el vector de incógnitas {D} del siguiente sistema [L]{D}={B}2, aplicando
sustitución hacia adelante
Para i =2
⎡ 1 0 0⎤ ⎧ d1 ⎫ ⎧0⎫
⎢0.0333333 ⎪ ⎪ ⎪ ⎪
⎢ 1 0⎥⎥ ⎨d 2 ⎬ = ⎨1⎬
⎢⎣ 0.100000 − 0.0271300 1⎥⎦ ⎪⎩d 3 ⎪⎭ ⎪⎩0⎪⎭
{D}T = [0 1 0.027130]
⎡3 − 0 .1 − 0 .2 ⎤ ⎧ x1 ⎫ ⎧ 0 ⎫
⎢0 7.00333 − 0.293333⎥ ⎪ ⎪ ⎪ ⎪
⎢ ⎥ ⎨ x2 ⎬ = ⎨ 1 ⎬
⎢⎣0 10.0120 ⎥⎦ ⎪ x ⎪ ⎪0.027130⎪
0 ⎩ 3⎭ ⎩ ⎭
Paso 4: Obtener el vector de incógnitas {D} del siguiente sistema [L]{D}={B}3, aplicando
sustitución hacia adelante
Para i =3
⎡ 1 0 0⎤ ⎧ d1 ⎫ ⎧0⎫
⎢0.0333333 ⎪ ⎪ ⎪ ⎪
⎢ 1 0⎥⎥ ⎨d 2 ⎬ = ⎨0⎬
⎢⎣ 0.100000 − 0.0271300 1⎥⎦ ⎪⎩d 3 ⎪⎭ ⎪⎩1⎪⎭
{D}T = [0 0 1]
⎡3 − 0 .1 − 0 .2 ⎤ ⎧ x1 ⎫ ⎧0⎫
⎢0 7.00333 − 0.293333⎥ ⎪ ⎪ ⎪ ⎪
⎢ ⎥ ⎨ x2 ⎬ = ⎨0⎬
⎢⎣0 10.0120 ⎥⎦ ⎪ x ⎪ ⎪1⎪
0 ⎩ 3⎭ ⎩ ⎭
Ejercicio:
[A] = [L][U]
Tarea: Hacer un programa que obtenga la inversa de una matriz. Generar la función inversa.
void inversa(A,Ainv,n)