Universidad de Chile Departamento de Ingeniería Matemática
Cálculo Numérico MA-33A
Métodos Numéricos para Sistemas de Ecuaciones Lineales Gonzalo Hernández Oliva GHO
SEL - MA33A
1
MN para SEL: Temario 1) Motivación – Aplicaciones SEL: a) Interpolación Polinomial b) Mínimos Cuadrados c) Método Simplex – Optimización Lineal 2) Definiciones y Resultados Básicos 3) Métodos de Pivoteo (Directos) para SEL: Gauss y Gauss-Jordan 4) Análisis de Error del Método de Gauss GHO
SEL - MA33A
2
MN para SEL: Temario 5) Matriz Inversa y Determinante 6) Factorización de Matrices 7) Métodos Iterativos para SEL a) Método de Jacobi y Gauss-Seidel b) Método de Relajación SOR y Gradiente Conjugado c) Análisis de Error de los Métodos Iterativos d) Métodos para Vectores y Valores Propios GHO
SEL - MA33A
3
MN para Sist. de Ecs. Lineales: 1) Motivación 1: Interpolación Polinomial Dados (n+1) puntos ( xi , yi ) Encontrar un polinomio de grado n tal que:
n
yi = p ( xi ) = ∑ ak xi k k =0
p(xi ) = yi ∀i =1,..., n +1
yi
x
x x
x x
x
x
x
p(x)
x
xi GHO
SEL - MA33A
4
MN para Sist. de Ecs. Lineales: 1) Motivación 1: Interpolación Polinomial yi = p ( xi ) ∀i = 1,..., (n + 1) n
yi = p ( xi ) = ∑ ak xi k k =0
1
x1
x 21
x n1
a0
y1
1
x2
x 22
x n2
a1
y2
1
x3
x 23
x n3
a2
an
y n1
1 x n1 x 2n1 x nn1 GHO
SEL - MA33A
y3
5
MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados yk = β 0 + β1 xk
yi
Nube de puntos con tendencia lineal
+ + + + ++ ++ + + + + + + + + ++ + + + + + + + ++ + + + ++ + + + + ++ ++ + + +
Dados n puntos (xi , yi ) Encontrar la recta que mejor los “representa”: n
min ∑ [ yk − ( β 0 + β1 xk )] β 0 , β1
2
k =1
xi GHO
SEL - MA33A
6
MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados
GHO
SEL - MA33A
7
MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados
Sea f ∈ ζ [a, b] . Se quiere determinar un polinomio pn ( x) de grado n según MCC: b
bi + j +1 − a i + j +1 δ ij = i + j +1
min ε T = ∫ [ f ( x) − pn ( x) ] dx pn ( x )
2
a
tes n Matriz tipo Hilbert ! c ie i f e co
Ecuaciones Normales: b
b
a x 0 dx a x 1 dx b
b
a x dx a x dx 1
b
GHO
2
b
b 3 x dx a
b
b
a x 2 dx a x n dx b
b
a x
n1
dx
b
a x dx a x dx a x dx SEL -MA33A x dx a n
n1
n2
2n
b
a x 0 fxdx
a0 a1 an
b
a x 1 fxdx b
a x n fxdx
8
MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados
Sea f ( x) = sin(π x) . Determinemos p3 ( x) polinomio de grado 3 según MC: a0
1/2 1/3 1/4 1/5
a1
1/3 1/4 1/5 1/6
a2
1/4 1/5 1/6 1/7
a3
2/
2
sin(pi*x) v/s -1/20+103/25x-103/25x
1
1/
0.8 3 2 − 4/
sin(pi*x) v/s p 3(x)
1 1/2 1/3 1/4
3 0.6 2 − 6/
p3 ( x) = −4.12x + 4.12x − 0.05 2
0.4
0.2
0
GHO
0 0.1 SEL - MA33A
0.2
0.3
0.4
0.5
x
0.6
0.7
0.8
0.9
91
MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados Ejemplo 1: f ( x) = sin( x)
5,6
f ( x) = sin( x) GHO
SEL - MA33A
p ( x) = ∑ ak xi k =0
k 10
MN para Sist. de Ecs. Lineales: 1) Motivación 2: Mínimos Cuadrados Ejemplo 2: x f ( x) = 2 x +1
0.5 0.4
7
0.3
p ( x) = ∑ ak xi k
0.2
k =0 9
0.1
p ( x) = ∑ ak xi k
0 y=x/(x 2+1) 7th degree 9th degree
-0.1 -0.2
k =0
-0.3 -0.4 -0.5 -5
GHO
-4
-3
-2
-1
0
1
2
SEL - MA33A
3
4
5
11
MN para Sist. de Ecs. Lineales: 1) Motivación 3: Programación Lineal n
cT x = ∑ ck xk
z
minn c t x
k =1
x∈\
Ax ≤ b x≥0
Región Factible
Ax ≤ b x≥0
x2 Vértices
x1 GHO
SEL - MA33A
12
MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 1 Resolver un sistema de n ecuaciones lineales y n incógnitas consiste en determinar los valores de las variables: x1 , x2 , ... , xn tales que, dados: A = (aij) y b = (bi) (i =1,...,n ; j =1,...,n) se satisfagan las ecuaciones: Ax = b
. .. GHO
⎛ a11 ⎜ . .. ⎜ a21 ⎜ # ⎜ ⎝ an1
a12 " a1n ⎞⎛ x1 ⎞ ⎛ b1 ⎞ . ⎟⎜. ⎟ ⎜ ⎟ a22 " . a2 n ⎟⎜.x2 ⎟ ⎜ b2 ⎟ . . = % # ⎟⎜ # ⎟ ⎜ # ⎟ ⎟⎜ ⎟ ⎜ ⎟ an 2 " ann ⎠⎝ xn ⎠ ⎝ bn ⎠ SEL - MA33A
13
MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 2
Todo SEL se puede resolver bien numéricamente ? Sea A ∈ ℜm×n invertible y b ∈ ℜm. Entonces es posible demostrar que si se perturba A o b se tiene: δx δA −1 ≤ A A x+δx A
δx x GHO
≤ A
A
−1
SEL - MA33A
δb b
(1)
(2) 14
MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 3
La norma de C ∈ ℜm×n se define según: C
∞
n ⎧ n ⎫ ⎧ n ⎫ = max ⎨∑ cij ⎬ = max ⎨∑ c1 j ,..., ∑ cnj ⎬ i =1,...,n i =1,...,n j j =1 1 = ⎩ ⎭ ⎩ j =1 ⎭
Se define el número de condicionamiento* de A según:
cond ∞ ( A) = A ∞ ⋅ A
−1 ∞
Se tiene que: cond (A) ≥ 1. GHO
SEL - MA33A
*Revisar cálculo del cond(A) en Matlab
15
MN para Sist. de Ecs. Lineales: 2) Defs. y Resultados Básicos 4
Veamos un ejemplo: A=
0.550 0.423 0.484 0.372
A+δA =
0.550
0.423
0.48 3 0.372
b=
b=
0.127 0.112 0.127 0.112
⇒ ⇒
x =
x’ =
1 -1 -0.4536 0.89
Se tiene: cond(A) = 0.973×7833.3 = 7621.8 !!! El sistema es mejor condicionado si se tiene que cond (A) esta cerca de 1 (Mat. de Hilbert) GHO
SEL - MA33A
16
MN para Sist. de Ecs. Lineales 3) Método de Gauss 1 Método de Gauss sin Anulación de Pivote:
Parte 1: Eliminación de variables bajo la diagonal en las ecuaciones mediante operaciones elementales: ÆMultiplicar una ecuación por un real ÆSumar dos ecuaciones Se entonces producen ceros bajo la diagonal.
Parte 2: Sustitución backward de las variables en las ecuaciones
GHO
SEL - MA33A
17
MN para Sist. de Ecs. Lineales 3) Método de Gauss 2 Sustitución Backwards:
xn =
u n ( n +1) u nn
1 xk = u kk
⎛ ⎜ u k ( n +1) − ⎝
⎞ u kj x j ⎟ ∑ j = k +1 ⎠ n
k = ( n − 1),...,1
Veamos un ejemplo. GHO
SEL - MA33A
18
MN para Sist. de Ecs. Lineales: 3) Método de Gauss 3 Estrategias de Pivoteo
En la iteración k de la primera etapa del método de Gauss es posible que el pivote akii (elementos de la diagonal de la ecuación i) se anule. En este caso se permuta la ecuación i con la ecuación m de mayor pivote en módulo (pivoteo parcial): . .. k k | a mi | ≥ | a ji | para todo j = i+1,…,n
Investigue la estrategia de pivoteo completo GHO
SEL - MA33A
19
MN para Sist. de Ecs. Lineales: 3) Método de Gauss 4: # de Ops
Una medida de la eficiencia de un algoritmo es el tiempo que demora en ejecutarse, el cual es proporcional al número de operaciones aritméticas (ops) n-1
Ops_Gauss(n) =
∑ (n - i)(2n - 2i + 6) i=1
±,×,÷
n
O(n3)
+
∑ (2i - 1) i=1
GHO
Parte 1
SEL - MA33A
Parte 2
O(n2) 20
MN para Sist. de Ecs. Lineales: 3) Método de Gauss - Jordan:
El método de Gauss – Jordan consiste en aplicar 2 veces la primera parte del método de Gauss, es decir: triangularizar superior e inferiormente la matriz A n-1
Ops_G-J(n) =
∑ (n - i)(2n - 2i + 6) i=1
±, × , ÷
n-1
O(n3)
+
∑ 4i + n i=1
GHO
Parte 1
SEL - MA33A
Parte 2
O(n2) 21
MN para Sist. de Ecs. Lineales: 4) Análisis de Error del M. de Gauss:
Es posible hacer un análisis de propagación de errores, que se obtienen al realizar las operaciones aritméticas de la primera y segunda etapa del método de Gauss o Gauss – Jordan
Se demuestra que esta propagación de errores disminuye si se utiliza alguna técnica de pivoteo (parcial o completo) GHO
SEL - MA33A
22
MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 1:
Matriz inversa A: Se aplica el método de Gauss – Jordan al SEL aumentado con las columnas de la matriz identidad a 11 a 12 a 1n
¦
1 0 0
a 21 a 22 a 2n
¦
0 1 0
¦
¦
0 0 1
a n1 a n2 a nn GHO
SEL - MA33A
23
MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 2:
El det(A) se puede definir recursivamente mediante la fórmula de Laplace: n
det( A) = ∑ (−1) j =1
Fórmula válida para cualquier fila i o columna j GHO
i+ j
aij det( Aij ) Matriz Cofactor ij de A Se obtiene eliminando fila i y columna j
SEL - MA33A
24
MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 3: Propiedades del Determinante: a) Si todos los coeficientes de una fila o columna de A son ceros ⇒ det(A) = 0 b) Si dos o más filas o columnas de A son linealmente dependientes ⇒ det(A) = 0 c) Si se reemplaza la fila i (Fi) por la fila j (Fj) donde i ≠ j entonces ⇒ det(A’) = -det(A) d) Si se reemplaza la fila i (Fi) por (Fi + λFj) donde i ≠ j entonces ⇒ det(A’) = det(A) GHO
SEL - MA33A
25
MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 4: Propiedades del Determinante: e) Si A y B son dos matrices cuadradas de igual tamaĂąo: det(AB) = det(A)det(B) f) det(At) = det(A) g) Si A es invertible: det(A-1) = 1/det(A) h) Si A es una matriz triangular inferior, superior o diagonal: n
det( A) = � akk GHO
k =1
SEL - MA33A
26
MN para Sist. de Ecs. Lineales: 5) Matriz Inversa y Determinante 5:
Para calcular el det(A) se aplica el método de Gauss y la descomposición A = LU:
Efectivamente, si se puede triangularizar la matriz A, entonces: PA = LU ⇒ det(A) = det(PTLU) det(A) = det(PT)det(L)det(U) = det(PT)det(U) n
det(U ) = ∏ ukk GHO
k =1
SEL - MA33A
27
MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 1: A=LU
Descomposición A = LU (Alg. Gauss) …
u1n-1
u1n
m21
1
…
0
0
u22
…
u2n-1
u2n
m31
m32
… …
0
…
0
0
0
…
mnn-1
mn1
mn2
L GHO
1
1
0
0
A = LU SEL - MA33A
… … …
un-1n-1
… …
u12
…
u11
…
0
…
0
…
…
…
0
…
1
0
unn
U 28
MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 2: Crout
Una matriz A cuadrada es tridiagonal si sus coeficientes no nulos se ubican en las diagonales principal y secundarias a 11 a 12
0
a 21 a 22 a 23 A
GHO
0
0
0
0
0
0
a 32 a 33 a 34
0
0
a 43 a 44
0
0
0
0
SEL - MA33A
a nn−1 a nn 29
MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 3: Crout
Una matriz A cuadrada tridiagonal puede ser factorizada según A=LU donde: 0
0
0
0
l 21 l 22
0
0
0
l 32 l 33
0
0
l 11 0
GHO
0
0
l 43 l 44
0
0
0
0
L
l nn−1 l nn
1 u 12
0
u 23
0 0
0
0
1
0
0
1
u n−1n
0
0
0
1
U SEL - MA33A
30
MN para Sist. de Ecs. Lineales: 6) Factorización de Matrices 4: Crout
Método de Crout para matrices tridiagonales: Paso 1:
l 11
u 12
a 11 a 12 l 11
Paso 2: Para i=2,…,n-1 l ii−1 a ii−1
Paso 3:
l ii a ii − l ii−1 u i−1i a ii1 u ii1 l ii
l nn−1 a nn−1
l nn a nn − l nn−1 u n−1n GHO
SEL - MA33A
31
MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 5: Cholesky
Una matriz cuadrada A es definida positiva si y solo si: xtAx > 0 para todo x ∈ ℜn
Teorema: Si A es definida positiva: a) det(A) ≠ 0 b) akk > 0 para todo k=1,…,n akj ≤ max akk c) 1max ≤k , j ≤n 1≤ k ≤ n
d) (aij ) 2 < aii a jj ∀i ≠ j GHO
SEL - MA33A
32
MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 6: Cholesky
Teorema: A es definida positiva si y solo si
…
…
los determinantes de las matrices cofactores principales son positivos: det(Akk) > 0 para todo k=1,…,n. a11 … a1k Matriz cofactor … Akk = principal k ak1 … akk GHO
SEL - MA33A
33
MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 7: Cholesky
Teorema: A es definida positiva si y solo si puede factorizarse como A = LLT donde L es una matriz triangular inferior con lii > 0 para todo i=1,…,n.
En este caso para resolver un SEL Ax = b se debe aplicar la sustitución forward backward GHO
SEL - MA33A
34
MN para Sist. de Ecs. Lineales: 6) Fact. de Matrices 8: Met. Cholesky Paso 1: l 11
a 11
Paso 2: Para j=2,…,n l j1 a j1 /l 11 1/2
i−1
Paso 3: Para i=2,…,n-1 l ii
a ii −
∑ l2ik k1
i−1
a ji −
Para j=(i+1),…,n l ji 1/2
n−1
Paso 4: l nn GHO
a nn −
∑ l2nk k1
SEL - MA33A
∑ ljk l ik k1
l ii 35
MN para Sist. de Ecs. Lineales: 6) Fact. Matrices 9: Ortogonalización
Factorización QR: A = QR Q matriz ortogonal: QtQ = I (Gram-Schmidt) R = QtA Factorización SVD: Anxm = USVt Unxn , Vmxm matrices ortogonales Snxm matriz valores singulares (raíz v.p. At*A) GHO
SEL - MA33A
36
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 1: Métodos Iterativos: x
(0)
x
(k+1)
∈ℜ
n (k)
= F(x )
∀k≥0
Los métodos para SEL son de la forma: (k)
F(x ) = Bx donde B ∈ ℜ GHO
n×n
,h∈ℜ
(k)
+h
n
SEL - MA33A
37
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 2:
En general se construyen B y h de la siguiente forma: n×n
Sean M y N ∈ ℜ tales que: M es invertible y A = M – N Entonces: -1 -1 Ax = b ⇔ Mx = Nx + b ⇔ x = M Nx + M b
Esto sugiere definir: -1
-1
B=M N y h= M b GHO
SEL - MA33A
38
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 3:
Luego, si descomponemos A = (aij ) invertible según:
A = diag(A) + low(A) + up(A)
Donde diag(A) , low(A) , up(A) ∈ ℜ
n×n
se
definen según: diag(A)ij = GHO
aij
si i = j
0
si i ≠ j
SEL - MA33A
39
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 4: low(A)ij =
up(A)ij =
aij
si i > j
0
si i ≤ j
aij
si i < j
0
si i ≥ j
En base a estas definiciones se tienen los métodos de Jacobi y Gauss - Seidel GHO
SEL - MA33A
40
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 5:
Jacobi: define M y N según: M = diag(A) N = -[low(A) + up(A)] -1
B = - diag(A) [low(A) + up(A)] -1
h = diag(A) b GHO
SEL - MA33A
41
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 6:
Si x(k) = (xi(k)) i = 1,…,n es el vector de la
iteración k del método de Jacobi, entonces satisface la siguiente fórmula iterativa:
xi GHO
(k )
⎛ n ⎞ ⎜ − a x ( k −1) + b ⎟ ij j i ⎜⎜ ∑ ⎟⎟ j =1 j ≠i ⎝ ⎠ 1 ≤ i ≤ n, k = 1, 2,3... = aii SEL - MA33A
42
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 7:
Gauss - Seidel: define M y N según M = [diag(A) + low(A)]
N = - up(A) -1
B = - [diag(A) + low(A)] [up(A)] -1
h = [diag(A) + low(A)] b
J y G-S convergen ∀x0 si A es estrictamente diagonal dominante: n akk > ∑ j =1, j ≠k akj ∀k = 1,..., n
GHO
SEL - MA33A
43
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 8:
Si x(k) = (xi(k)) i = 1,…,n es el vector de la iteración k del método de Gauss-Seidel, satisface la siguiente fórmula iterativa:
xi
(k )
⎛ i −1 (k ) a x − ⎜ ∑ ij j − j =1 ⎝ =
n
∑a x
j =i +1
ij
aii
( k −1) j
⎞ +bi ⎟ ⎠ 1 ≤ i ≤ n, k = 1, 2,3...
GHO
SEL - MA33A
44
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 9:
Si x(k) = (xi(k)) i = 1,…,n es el vector de la
iteración k del método de SOR, satisface la siguiente fórmula iterativa:
xi ( k )
n ⎛ i −1 ⎞ (k ) ( k −1) +bi ⎟ ⎜ −∑ aij x j − ∑ aij x j j =1 j =i +1 ⎝ ⎠ ( k −1) = (1 − ω) xi +ω aii
1 ≤ i ≤ n, k = 1,2,3... GHO
SEL - MA33A
45
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 10:
Para matrices tridiagonales y definidas
positivas, el valor óptimo de ω está dado por la fórmula:
Donde:
2 1 1−T −1
TJ = −[ Diag ( A)] ( Low( A) + Up ( A)) −1
TG = −[ Diag ( A) + Low( A)] Up ( A) GHO
SEL - MA33A
46
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 11:
Si A es definida positiva, el método del gradiente conjugado está dado por: minn q ( x) = x Ax − x b ⇔ Ax = b t
1 2
x∈\
t
Paso 0: x ∈ \ , g = Ax − b, d = − g 0
n
0
0
k t
0
0
k
(g ) d Paso 1: α = − k t k (d ) Ad k +1 k k k Paso 2: x = x + α d k
GHO
SEL - MA33A
47
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 12:
Método del gradiente conjugado: k +1 k +1 Paso 3: g = Ax − b k +1 t k ( g ) Ad k Paso 4: β = k t k (d ) Ad k +1 k +1 k k Paso 5: d = − g + β d Si no hay errores de redondeo el método del gradiente conjugado converge en a lo más n iteraciones.
GHO
SEL - MA33A
48
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 13: Análisis de Error de los Métodos Iterativos
Es posible hacer un análisis de propagación de errores que se obtienen al realizar las operaciones aritméticas de las iteraciones del método de Jacobi y Gauss – Seidel Si x(k) es la iteración k de J o G-S y Ax = b: x−x x GHO
(k )
≤ A A
−1
SEL - MA33A cond(A)
b − Ax
(k )
b 49
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 14:
Si A es una matriz cuadrada, el polinomio en λ definido por: p(λ) = det(A- λI) es el polinomio característico de A
El polinomio p es de grado n y tiene a lo más n raíces distintas (complejas). Estas raíces de p se denominan valores propios de A. GHO
SEL - MA33A
50
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 15:
Definición: El radio espectral de A: ρ(A) se define como: ρ(A) = max | λi | i=1,…,n
donde λi es un valor propio de A
Proposición: Si A es una matriz cuadrada: a) || A ||2 = ρ(AtA)½ b) ρ(A) ≤ || A || GHO
SEL - MA33A
51
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 16:
La relación entre métodos iterativos para SEL y valores propios la establece los siguientes resultados: Proposición: Si xk es la iteración k de un método iterativo para un SEL que tiene la forma: xk+1 = Txk + c y Ax = b Entonces: Para k → ∞ || xk – x || ≈ ρ(T)k || x0 – x || GHO
SEL - MA33A
52
MN para Sist. de Ecs. Lineales: 7) Métodos Iterativos para SEL 17:
Proposición: Si xk es la iteración k de un método iterativo para un SEL que tiene la forma: xk+1 = Txk + c y Ax = b Entonces: xk → x ssi ρ(T) < 1
Proposición: Si los métodos de Jacobi y Gauss-Seidel convergen se tiene que: GHO
0 ≤ ρ(TGS) < ρ(TJ) < 1 SEL - MA33A
53
Bibliografía 1) R. Burden & J. D. Faires, Análisis Numérico, Séptima Edición, Thomson Learning, 2002. 2) J. Stoer & R. Burlisch, Introduction to Numerical Analysis, Second Edition, Springer, 1992. 3) G. Hernández O.: Apuntes de Cálculo Numérico 2007 GHO
SEL - MA33A
54