UNIVERSIDAD CENTRAL DE VENEZUELA

FACULTAD DE CIENCIAS
´
ESCUELA DE COMPUTACION
´
´
CALCULO CIENTIFICO (6109)
SEMESTRE II-2013
TALLER 6 - Sistemas de ecuaciones lineales (S.E.L.) y condicionamiento.

MATLAB
• [L,U,P] = lu(A): Encuentra la factorizaci´on LU de una permutaci´on de la matriz
A. Es decir, PA=LU.
• tic; instrucciones; toc: Calcula el tiempo de CPU requerido para ejecutar el
conjunto de instrucciones.
• det(A): Obtiene el determinante de la matriz A.
• inv(A): Si A es no singular, el comando inv(A) genera la matriz inversa de A.
• ones(n,m): Genera una matriz de orden n por m, con todos sus elementos iguales a
uno.
• cond(A,p): Determina el n´
umero de condici´on de la matriz A, en la norma subordinada p.
• U=triu(A): Obtiene la matriz triangular superior de A.

Aspecto Te´
oricos
Existen diferentes m´etodos para obtener el vector x ∈ R, tal que:
Ax = b,

(1)

donde A ∈ Rn×n es una matriz no singular y b ∈ Rn un vector no nulo dado. Algunos de
estos m´etodos directos se describen a continuaci´on:
1. Regla de Cramer: cada componente de vector soluci´on viene dado por la f´ormula:
xi =

det([a1 , a2 , . . . , ai−1 , b, ai+1 , . . . , an ])
det(A)

con i = 1, 2, . . . , n,

donde ak representa la k-´esima columna de la matriz A y det(A) representa el determinante de la matriz A.
2. Inversa de la matriz: es bien conocido que la soluci´on exacta de (1) viene dada por
x = A−1 b,
siempre y cuando A sea no singular.

0060  14. Factorizaci´on P A = LU : Se resuelven dos sistemas triangulares a saber Ly = P b y luego U x = y.0040 4.0020 2.0000 4. Considere los SEL Bx = d  1. donde k. Emplee los valores de n indicados en la siguiente Tabla. Este valor posee ciertas propiedades de inter´es • condp (A) ≥ 1 • condp (AB) = condp (A)condp (B) • condp (A) = condp (AT ) • condp (αA) = condp (A). Programe los m´etodos enunciados en la secci´on anterior.0000  6. Una medida que nos ayuda a determinar si (1) se encuentra mal condionado es el n´ umero de condici´on de A.0001 2. · · · .3.0000 2. en cuanto a tiempo de CPU.0000  2.0020 4. 1.0000 Tiempo de CPU Cramer Inversa P A = LU y Qx = d. sabemos que puede ocurrir que el problema (1) se encuentre mal condicionado.0001 1.kp es la norma inducida p.0001 .0000 2.0000   2. n 100 200 300 400 2. El objetivo del siguiente ejercicio es comparar.0021   9. ciertos m´etodos directos para resolver sistemas de ecuaciones lineales (SEL). ∀α 6= 0 • condp (AT A) = condp (A)2 • Si A es ortogonal entonces condp (A) = 1 • 1 condp (A) p = min kA−Bk . Por otro lado. es decir. peque˜ nas variaciones en la matriz de coeficientes A y/o en el vector independiente b pueden generar grandes variaciones en el vector soluci´on x. donde: 2.0000 12. 1)t con b ∈ Rn .0000   c=  4. denotado por cond(A) y definido como condp (A) = kAkp kA−1 kp . Use dichos metodos para resolver Ax = b donde A ∈ Rn×n es aleatoria y b = (1.0000  4.0000  4. Parte Practica 1.0000 B=  1. kAkp B singular Esta u ´ltima propiedad nos indica que el inverso multiplicativo del n´ umero de condici´on de A es igual a la distancia relativa de A a la matriz B no invertible m´as cercana.

• ¿Qu´e observa en relaci´on a las soluciones obtenidas en ambos sistemas. • 1 condp (A) p .3717 −0. entonces la matriz A est´a cerca de ser singular? (d) ¿Si |det(A)| es significativamente mayor que 0.6015 0. Asuma que los c´alculos para la matriz A se realizan en una aritm´etica de 14 d´ıgitos de mantisa.9999]t y el vector d a de = [1. • Resuelva los sistemas Be x=e c y Qe x = de y en ambos casos calcule el error relativo de la soluci´on.6015  d =  0. • Cambie el vector c a e c = [6.4596.6015 0.0060.0001.6015    0    Q=  0. responda las siguientes preguntas: (a) ¿Si det(A) es un n´ umero cercano a cero.3717 1.3717 −0. entonces cond(A) tiene que ser un valor grande? Ahora bien.4595  0.   0. Considere las siguientes proposiciones (ambas verdaderas): • det(A) = 0 si y s´olo si A es singular.3717 −0. 9. 12. 0.3717 0. 0]t y calcule el error relativo.3717 0  Para ambos sistemas . 0. entonces la matriz A est´a cerca de ser singular? (b) ¿Si det(A) es significativamente mayor que 0.0021.? • Emplee la siguiente cota del error relativo para la solu´on de Ax = b para justificar el comportamiento observado de manera formal: kb − ebkp kx − x ekp ≤ condp (A) kxkp kbkp 3. = min kA−Bk kAkp B singular Teniendo en cuenta estas verdades.6015 −0.3717 −0. considere la siguientes matrices  10−7 10−7 2 × 10−7 A =  10−7 −7 2 × 10 10−7   7  1 10 1  1 B= 1014 1021 1 y complete la siguiente tabla para corroborar o refutar sus respuestas.6015 0.6015 0. se tiene que soluci´on exacta es el vector x = [1 1 1 1]t .6015 −0. . entonces cond(A) debe ser un valor peque˜ no? (e) ¿Si det(A) es un valor peque˜ no.9465  0.9466.3717 0. 13. entonces la matriz A es no singular? (c) ¿Si cond(A) es un n´ umero muy grande.

n − 1.B. el c´alculo de A−1 es de un costo computacional mucho mayor que resolver el SEL. · · · j − 1 17: end if 18: end for 19: cond(U )∞ ≈ kyk∞ kU k∞ 1 K. En la expresi´on anterior se necesita de kA−1 k con lo cual se podr´ıa pensar que se requiere de A−1 . 1979 . Cline. 0. 1/|u22 |. 1 do 5: ypj = (1 − pj )/ujj 6: ymj = (−1 − pj )/ujj 7: for i = j − 1. · · · . H. An estimate for the condition number of a matrix. SIAM J Numer Anal. G. 1/|unn |)t 3: p ∈ Rn : p = (0. j − 2. · · · . surgen los llamados Estimadores de la norma de la inversa. con A ∈ Rn×n . 2. 1 do 8: ppi = pi + uij ypj 9: pmi = pi + uij ymj 10: end for P P 11: if wj |1 − pj | + j−1 ≥ wj |1 + pj | + j−1 i=1 wi |ppi | i=1 wi |pmi | then 12: yj = ypj 13: pi = ppi con i = 1. C. donde p es la norma subordinada seleccionada. Moler. A continuaci´on se presenta el pseudoc´odigo de este algoritmo: Algoritmo 1 An estimate for the condition number of a matrix 1: Dado U ∈ Rn×n triangular superior 2: w ∈ Rn : w = (1/|u11 |. Considere el SEL Ax = b. Ahora bien. Recuerde que el n´ umero de condici´on de la matriz A viene dada por la siguiente expresi´on: condp (A) = kAkp kA−1 kp .A B det(?) k ? k∞ k[?]−1 k∞ cond∞ (?) 4. · · · . Wilkinson. Uno de gran utilidad fue propuesto Cline y otros1 . · · · . W. · · · j − 1 14: else 15: yj = ymj 16: pi = pmi con i = 1. Stewart and J. Este algoritmo estima el valor kT −1 k∞ donde T es una matriz triangular superior. 0)t 4: for j = n. 2. En vista que para obtener el n´ umero de condici´on se requiere la norma de la inversa y no la inversa propiamente dicha.

para hallar Cond∞ (Hs ) y Cond∞ (Rs ) • Complete la siguiente Tabla para los valores de n indicados. Luego use la instrucci´on triu para obtener la triangular superior de H y R respectivamente. Denote estas matrices por Hs y Rs . • Use la rutina cU=Econd(U) que implementa el Algoritmo descrito. para hallar un estimado del n´ umero de condici´on en norma infinito de Hs y Rs .• Genere matrices de orden n con las siguientes funciones: H=hilb(n) y R=rand(n). n Cond∞ estimador Hs 50 100 200 Rs 100 200 300 Grupo Docente de C´alculo Cient´ıfico I / Realizado por M. Monsalve .’inf’) que provee MATLAB. • Use la funci´on cond(A.