39
Optimización Notación asintótica Álgebra Lineal Númerica Factorización LU Factorización Cholesky Gram-Schmidt y Factorización QR Cuadrados Mínimos Algoritmos iterativos Optimización Repaso de Cálculo Numérico Departamento de Matemática, FCEyN, Universidad de Buenos Aires 14/04/2020

Optimización Notación asintótica Álgebra Lineal Númerica

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

OptimizaciónRepaso de Cálculo Numérico

Departamento de Matemática, FCEyN, Universidad de Buenos Aires

14/04/2020

Page 2: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Big-O

I Sea T (n) una función definida en los naturales.I T (n) usualmente es el tiempo de ejecución en el

peor caso de un algoritmo, n es el tamaño del input.

Definición(D. Knuth) T (n) = O(f (n)) si y solo si ∃c > 0,n0 ∈ N talque T (n) ≤ c · f (n) para n ≥ n0.

Page 3: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Big-O II

EjemploSea T (n) = aknk + · · ·+ a1n + a0 donde k ∈ N y ai sonreales. Entonces T (n) = O(nk ).

I Sea c = |ak |+ · · ·+ |a1|+ |a0|.I T (n) = aknk + · · ·+ a1n + a0

I T (n) ≤ |ak |nk + · · ·+ |a1|n + |a0|I T (n) ≤ (|ak |+ · · ·+ |a1|+ |a0|)nk = cnk .I Luego n0 = 1 y c = |ak |+ · · ·+ |a1|+ |a0| funcionan.

Page 4: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Big-O III

EjemploSea T (n) = nk , entonces T (n) no es O(nk−1).

I Si lo fuera entonces ∃c > 0,n0 ∈ N tal quenk ≤ c · nk−1 para n ≥ n0.

I Luego n ≤ c para n ≥ n0. Absurdo.

Page 5: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Big-O IV

EjemploSea T (n) = n!, entonces T (n) no es O(kn) para ningúnk ∈ N.

I Si lo fuera entonces ∃c > 0,n0 ∈ N tal quen! ≤ c · kn para n ≥ n0.

I Luego ln(n!) ≤ ln(c · kn) = ln(c) + n ln(k) si n ≥ n0.

I Pero ln(n!) =n∑

i=1ln(i) ≥ n

2 ln(n2 ).

I Como ln(n2 ) no es acotado llegamos a un absurdo.

Page 6: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Big-O V

EjercicioDadas funciones no negativas, probar quef (n) + g(n) = O(max{f (n),g(n)}) ymax{f (n),g(n)} = O(f (n) + g(n)).

Proof.Hacer.

DefiniciónSi f (n) = O(g(n)) y g(n) = O(f (n)) decimos quef (n) = Θ(g(n)).

Page 7: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Little-O

DefiniciónDadas funciones f ,g : Rn → R y x0 ∈ Rn decimos quef (x) = o(g(x)) cuando x → x0 si para todo ε > 0 existeδ > 0 tal que |f (x)| ≤ ε|g(x)| cuando ‖x − x0‖ < δ.Es decir lim

x→x0

|f (x)||g(x)| = 0.

ObservaciónLa definición aplica a funciones a valores naturales conx0 = +∞.

EjemploSea f : Rn → R, x0 ∈ Rn y sea R(x) el resto del polinomiode Taylor de orden k , entonces R(x) = o(‖x − x0‖k )cuando x → x0.

Page 8: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Complejidad via Flops

I El costo de un algoritmo de algebra lineal se expresausualmente en el número total de operaciones depunto flotante (flops) , en función del tamaño de laentrada.

I Un flop es una suma, multiplicación, resta o divisiónde dos números de punto flotante (usualmente endoble precisión, 64-bits).

Page 9: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Costo de operaciones básicas I

EjemploDados x , y ∈ Rn queremos saber el costo de calcular elproducto interno xT y .

I xT y =n∑

i=1xiyi .

I Tenemos que hacer n productos, y luego n − 1sumas.

I En total T (n) = 2n − 1, aproximadamente 2n flops.I Luego T (n) = O(n).

Page 10: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Costo de operaciones básicas II

EjemploDada A ∈ Rm×n y x ∈ Rn queremos saber el costo decalcular el producto y = Ax .

I Tenemos que hacer m operaciones de productointerno aix donde ai denota el i-ésimo vector fila deA.

I Cada uno cuesta 2n flops.I En total T (m,n) = 2mn flops.I Luego T (m,n) = O(mn).

Page 11: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Costo de operaciones básicas III

EjemploDada A = UV ∈ Rm×n y x ∈ Rn queremos saber el costode calcular el producto y = Ax . Pero ahora V ∈ Rp×n,U ∈ Rm×p con p << min{m,n}.

I Hacemos primero z = Vx , costo 2pn flops.I Luego hacemos y = Uz, costo 2mp flops.I Total T (n) = 2p(n + m) que es mucho menor que

2mn.I Por ejemplo si n,m = 1000 y p = 10 entonces

2p(n + m) = 4.104 mientras que 2mn = 2.106.

EjercicioDadas A ∈ Rm×n y B ∈ Rp×m calcular el costo decomputar C = BA ∈ Rp×n en la forma usual.

Page 12: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Eliminación Gaussiana

Empecemos por la parte más fácil. Supongamos queA ∈ Rn×n es triangular superior inversible (i.e. aij = 0 sii > j , aii 6= 0).Dado b ∈ Rn calculamos x = A−1b porback-substitution:

I annxn = bn, luego xn = bnann

.I a(n−1)(n−1)xn−1 + a(n−1)nxn = bn−1, luego:

xn−1 = 1a(n−1)(n−1)

(bn−1 − a(n−1)nxn).

I...

I a11x1 + a12x2 + · · ·+ a1nxn = b1, luego:x1 = 1

a11(b1 − a12x2 − a13x3 − · · · − a1nxn)

I En cada paso hacemos a lo sumo 2n flops, luegoT (n) ≤ 2n2 = O(n2) (de hecho son exactamente n2

flops).

Page 13: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización LU

I Sea A =

2 1 34 5 2−2 2 2

I Hacemos eliminación, r ′2 = r2 − 2r1. Esto equivale a

multiplicar por E :

EA =

1 0 0−2 1 00 0 1

2 1 34 5 2−2 2 2

=

2 1 30 3 −4−2 2 2

I Luego r ′3 = r3 − (−1)r1. Esto equivale a multiplicar

por F :

F (EA) =

1 0 00 1 0

−(−1) 0 1

2 1 34 5 2−2 2 2

=

2 1 30 3 −40 3 5

Page 14: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización LU II

I Luego r ′3 = r3 − 1r2. Equivale a multiplicar por G:

G(FEA) =

1 0 00 1 00 −1 1

2 1 30 3 −40 3 5

=

2 1 30 3 −40 0 9

I Sea U el resultado, entonces A = E−1F−1G−1U.I Hay que invertir E F y G.

E−1 =

1 0 02 1 00 0 1

F−1 =

1 0 00 1 0−1 0 1

G−1 =

1 0 00 1 00 1 1

I Pues la inversa de restar es sumar.

Page 15: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización LU IIII Luego L = E−1F−1G−1 es la siguiente matriz:

L =

1 0 02 1 0−1 1 1

Ejercicio: Pensar por qué vale esta igualdad, elorden importa.

I Es decir, abajo de la diagonal aparecen losmultiplicadores por los cuales restamos en cadapaso.

I A = LU =

1 0 02 1 0−1 1 1

2 1 30 3 −40 0 9

I No hay necesidad de hacer las multiplicaciones de

matrices, solo hay que guardar los multiplicadoresen cada paso.

Page 16: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización LU III

I Analicemos el costo de realizar la factorizaciónA = LU, para A ∈ Rn×n.

I Para el primer pivote hay que restar un múltiplo de laprimera fila al resto de las filas, el costo de haceresto es 2n flops por cada fila, luego 2n(n − 1).

I En el siguiente pivote son 2(n − 1)(n − 2)operaciones, etc.

I En total:n∑

k=12k(k − 1) = 2(n(n+1)(2n+1)

6 − n(n+1)2 ) = 2n3−n

3

I Es decir el costo de LU es aproximadamente 23n3

flops.

Page 17: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización LU IV

ObservaciónI En general no siempre es posible factorizar A = LU.I Puede ocurrir que algún pivote sea cero, pero con

permutar filas (costo 0 flops) esto se puede evitar yvolvemos al caso anterior.

I En general se tiene que A = PLU con P una matrizde permutación, L triangular inferior y U triangularsuperior.

I En MATLAB: [P,L,U] = lu(A) nos devuelve unafactorización LU de la matriz.

Page 18: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Solución de sistemas lineales víafactorización LU I

I Dada A ∈ Rn×n no singular y b ∈ Rn.I Supongamos que A = LU, queremos resolver

Ax = b.I Esto es LUx = b.I Primero resolvemos Lz = b, i.e. z = L−1b (por

forward-substitution).I Luego resolvemos Ux = z, i.e. x = U−1z (por

backward-substitution).I Finalmente x = U−1z = U−1L−1b = A−1b, i.e.

Ax = b.

Page 19: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Solución de sistemas lineales víafactorización LU II

Algoritmo: Dada A ∈ Rn×n no singular y b ∈ Rn.1. LU. Factorizar A = PLU (2

3n3 flops).2. Permutation. Resolver Pz1 = b (0 flops).3. Forward substitution. Resolver Lz2 = z1 (n2 flops).4. Backward substitution. Resolver Ux = z2 (n2 flops).

Output: x es la solución de Ax = b.

I Costo total T (n) = 23n3 + 2n2 ≈ 2

3n3.I En MATLAB: x = A \b resuelve con este método

(usualmente).

Page 20: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Solución de sistemas lineales víafactorización LU III

I Supongamos que queremos resolver Axi = bi parai = 1, . . . , k .

I Al hacer LU una vez, queda hacer k veces forward yback substitution.

I Costo total T (n) = 23n3 + 2kn2.

I Si queremos calcular A−1 hay que resolver Axi = eipara i = 1, . . . ,n.

I Costo total T (n) = 83n3.

Page 21: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización Cholesky

I Sea A =

2 1 01 2 10 1 2

. Notar que es definida positiva.

I Hagamos la factorización LU.2 1 01 2 10 1 2

r ′2=r2− 12 r1→

2 1 00 3

2 10 1 2

r ′3=r3− 23 r2→

2 1 00 3

2 10 0 4

3

I Luego se tiene A = LU donde:

A =

2 1 01 2 10 1 2

=

1 0 012 1 00 2

3 1

2 1 00 3

2 10 0 4

3

= LU

I Pero podemos escribir:

U =

2 1 00 3

2 10 0 4

3

=

2 0 00 3

2 00 0 4

3

1 12 0

0 1 23

0 0 1

= DLT

Page 22: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización Cholesky II

I Luego se tiene A = LDLT con D diagonal D > 0.I Esto vale en general para A definida positiva, no hay

necesidad de permutar filas (los pivotes son todospositivos) y siempre vale que U = DLT (por simetríay unicidad de tal factorización).

I Luego A = LDLT = (L√

D)(L√

D)T , esta se llama lafactorización Cholesky de A.

I El costo de esta factorización es n3

3 flops ya que nonecesitamos hacer las operaciones arriba de ladiagonal.

DefiniciónDada A ∈ Rn×n A > 0, la factorización Cholesky de Aes una descomposición de la forma A = LLT donde L estriangular inferior con entradas reales positivas en ladiagonal.

Page 23: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Solución de sistemas lineales definidospositivos vía factorización Cholesky

Algoritmo: Dada A ∈ Rn×n definida positiva y b ∈ Rn.1. Cholesky. Factorizar A = LLT (1

3n3 flops).

2. Forward substitution. Resolver Lz = b (n2 flops).3. Backward substitution. Resolver LT x = z (n2 flops).

Output: x es la solución de Ax = b.

I Costo total T (n) = 13n3 + 2n2 ≈ 1

3n3, la mitad deltiempo.

I En MATLAB: R = chol(A) es una matriz triangularsuperior con A = RT R, luego L = RT .

Page 24: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

State of the Art

I Qué podemos resolver hoy en día?I En una computadora de escritorio, la mayoría entre 1

giga flop/s y 1 tera flop/s, i.e. entre 109 y 1012 flop/s.I Por ejemplo resolver un sistema lineal denso con

n = 3000 requiere de 23 · 2.7 · 1010 flops, luego en

una computadora con 10 giga flop/s debe tardar≈ 1.8 segundos.

I Si n = 100 son 23 · 106 flops, debe tardar ≈ 0.0001

segundos (i.e. una décima de un milisegundo).I Resolver sistemas lineales es de hecho el

benchmark (LINPACK) usado para medir lassupercomputadoras (TOP500), ≈ 1.5 · 1017 flop/s o150 peta flop/s.

Page 25: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Gram-Schmidt y Factorización QR

Algoritmo de Gram-Schmidt: dados vectores a1, . . . ,anindependientes en un e.v. con p.i (e.g. Rm para m >> n):

I q1 = a1, q1 = q1‖q1‖

.

I q2 = a2 − 〈q1,a2〉q1, q2 = q2‖q2‖

.

I qk = ak −〈q1,ak 〉q1−· · ·− 〈qk−1,ak 〉qk−1, qk = qk‖qk‖

.

Output: q1, . . . ,qn ortonormales, tal que〈a1, . . . ,ak 〉 = 〈q1, . . . ,qk 〉 para todo k .

Page 26: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización QR

Dada A ∈ Rm×n con columnas independientes:I Consideremos a1, . . . ,an sus vectores columna.I Por G-S obtenemos q1, . . . ,qn ortonormales,

vectores columna de Q matriz ortogonal.I Cómo se relacionan A y Q?I a1 = (qT

1 a1)q1.I a2 = (qT

1 a2)q1 + (qT2 a2)q2.

I ak = (qT1 ak )q1 + (qT

2 ak )q2 + · · ·+ (qTk ak )qk .

Page 27: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización QR II

I Luego A = QR donde:

A =

...

......

q1 q2 · · · qn...

......

......

...

qT1 a1 qT

1 a2 · · · qT1 an

0 qT2 a2 · · · qT

2 an...

. . . . . ....

0 · · · 0 qTn an

I Costo: en el paso k hacemos (k − 1) productosinternos ((k − 1)2m flops), (k − 1) productosescalares y (k − 1) restas de vectores ((k − 1)2mflops), y el calculo de qk y rkk aporta 3m.

I T (m,n) =n∑

k=1(4m(k − 1) + 3m) ≤

4m · n(n−1)2 + 3mn ≈ 2mn2.

Page 28: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Factorización QR III

I Luego el costo es T (m,n) ≈ 2mn2.I El algoritmo de Gram-Schmidt clásico descripto en la

práctica es numéricamente inestable.I Si se van restando las proyecciones de a una

(Gram-Schmidt modificado) es estable. Mismo costo.I En la práctica el algoritmo más usado es otro, el

algoritmo de Householder (en MATLAB:[Q,R] = qr(A)).

Page 29: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Cuadrados Mínimos

I Problema: resolver de forma aproximada Ax = b conA ∈ Rm×n m >> n.

I Interpretación: A variable medida y b resultado,queremos estimar los parámetros x de una relaciónlineal, notación usual y = Xθ.

I Formulación: minx‖Ax − b‖2 donde ‖−‖ es la norma

del p.i. usual.I Solución: Si x es la solución Ax es la proyección

ortogonal de b en el espacio columna de A.I Entonces e = Ax − b es ortogonal a los vectores

columna de A, i.e. 0 = AT (Ax − b).I AT Ax = AT b, luego x = (AT A)−1AT b (asumimos

columnas de A linealmente independientes).

Page 30: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Cuadrados Mínimos via Factorización QR

ObservaciónI Si A = QR entonces AT A = RT QT QR = RT R.I Luego AT Ax = AT b es RT Rx = RT QT b.I Luego se resuelve Rx = QT b.I Si se requiere R triangular superior con rkk > 0,

entonces la factorización es única.

Algoritmo LSQR: A ∈ Rm×n , b ∈ Rm

I QR. Factorizar A = QR (2mn2 flops).I Back-substitution. Resolver Rx = QT b (2n2 flops).

Output: x = arg minx‖Ax − b‖2.

En MATLAB: x = lsqr(A,b).

Page 31: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

AplicaciónI Sea yt el número de casos totales de Coronavirus en

Argentina en el día t (empezando en t = 1 el 8 deMarzo).

I Suponemos yt ≈ Kr t , luego ln(yt ) ≈ ln(K ) + t ln(r).I Hacemos LSQR, obtenemos ln(K ) = 2.2782,

ln(r) = 0.2164, i.e. r = 1.2416.

Figure: o yt , — yt .

Page 32: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Algoritmos iterativos I

I Hasta ahora los algoritmos descriptos para matricesno son iterativos, son métodos directos.

I Por algoritmo iterativo nos referimos a un algoritmoque computa una secuencia x (0), x (1), x (2), . . . conx (k) → x∗ cuando k →∞ y tal que x∗ es solución delproblema.

I El algoritmo termina cuando ‖x (k) − x∗‖ ≤ ε paraε > 0 dado (tolerancia).

I El costo total de un algoritmo iterativo usualmente seexpresa dando una cota superior para el número deiteraciones (y a cada iteración su costo en flops).

Page 33: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Algoritmos iterativos II

I ‖x (k) − x∗‖ se llama el error absoluto.

I ‖x (k)−x∗‖‖x∗‖ se llama el error relativo, es el “número de

dígitos correctos”.

DefiniciónDada una sucesión convergente x (k) → x∗ decimos que:

I es linealmente convergente si existe c ∈ (0,1) talque: ‖x (k) − x∗‖ ≤ c‖x (k−1) − x∗‖.

I es R-linealmente convergente si c ∈ (0,1) y M talque: ‖x (k) − x∗‖ ≤ M · ck .

I es cuadráticamente convergente si existec ∈ (0,1) tal que: ‖x (k) − x∗‖ ≤ c‖x (k−1) − x∗‖2

Page 34: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Algoritmos iterativos III

Como ejemplo veamos el algoritmo de la bisección.Dada f : [a,b]→ R continua tal que f (b)f (a) < 0 y ε > 0.Sean l := a, u := b.Mientras que u − l > ε:

I tomar x = (u + l)/2 = l + (u − l)/2.I Si f (x) = 0 devolver x .I Si f (x)f (l) < 0 u := x , en caso contrario l := x .

Page 35: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Algoritmos iterativos IV

I Sea x (k) = (u(k) + l(k))/2 del algoritmo de bisección.I Afirmamos que es R-linealmente convergente.I ‖x (k) − x∗‖ ≤ u(k) − l(k) ≤ 1

2k (b − a).I Luego c = 1/2 y M = (b − a).

Page 36: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Algoritmos iterativos VI Por ejemplo si f (x) = ex−e−x

ex+e−x , sabemos que 0 es unaraíz de f . Empezamos en a = −1,b = 3/2.

I Los puntos que toma sonx (0) = 0.25, x (1) = −0.375, x (2) = −0.0625,x (3) = 0.0938, x (4) = 0.0156, . . .

Figure: A la izquierda f (x) y los puntos del método de labisección. A la derecha el error.

Page 37: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Método de Newton I

Empezando en algún valor x0 y ε > 0.I Supongamos que estamos en el paso k -ésimo.

Hacemos Taylor de orden uno en x (k):

f (y) ≈ f (x (k)) + f ′(x (k))(y − x (k))

I Igualando a cero entonces despejamos x (k+1):

x (k+1) = x (k) − f (x (k))

f ′(x (k))

I Si ‖f (x (k))‖ ≤ ε termina y devuelve x (k).

Page 38: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Método de Newton II

I Analicemos el error, ek = x (k) − x∗ donde f (x∗) = 0.

I ek+1 = x (k+1) − x∗ = ek − f (x (k))

f ′(x (k))= ek f ′(x (k))−f (x (k))

f ′(x (k))

I Hacemos Taylor de orden 1 en x (k) evaluando en x∗

con resto de lagrange:I 0 = f (x∗) =

f (x (k)) + f ′(x (k))(x∗ − x (k)) + f ′′(ξ)2 (x∗ − x (k))2

I 0 = −f ′(x (k))ek+1 + f ′′(ξ)2 e2

k

I Luego ek+1 = f ′′(ξ)2f ′(x (k))

e2k .

I De esto se sigue que cerca de un cero simple def ∈ C2([a,b]), el método de Newton converge enforma cuadrática.

Page 39: Optimización Notación asintótica Álgebra Lineal Númerica

Optimización

Notación asintótica

Álgebra LinealNúmerica

Factorización LU

FactorizaciónCholesky

Gram-Schmidt yFactorización QR

CuadradosMínimos

Algoritmositerativos

Método de Newton IVI Por ejemplo si f (x) = ex−e−x

ex+e−x , sabemos que 0 es unaraíz de f . Empezamos en x (0) = 0.95.

I Los puntos que toma son x (0) = 0.95, x (1) = −0.68,x (2) = 0.23, x (4) = −0.0087, x (5) = 5.06 · 10−7.

Figure: A la izquierda f (x) y los puntos del método de Newton.A la derecha el error.