Typeset by GMNI & FoilTEX

Documentos relacionados
Typeset by GMNI & FoilTEX

Sistemas de Ecuaciones. Lineales II

SEL - Métodos Directos

Sistemas de Ecuaciones Lineales

SEL Métodos Directos

Resolución de Sistema de Ecuaciones Lineales

Resolución de sistemas de ecuaciones lineales

MÉTODOS SEMI-ITERATIVOS PARA GRANDES SISTEMAS DE ECUACIONES LINEALES: PRECONDICIONAMIENTO

Métodos Numéricos. Grado en Ingeniería en Informática Tema 4. Análisis Numérico Matricial I

Parte 2. Métodos directos para la resolución de sistemas de ecuaciones lineales

A.M. Urbano, R. Cantó, B. Ricarte Institut de Matemàtica Multidisciplinar, Universitat Politècnica de València, E Valencia

RESOLUCIÓN DE SISTEMAS LINEALES

MAT web:

Para resolver un sistema lineal estan permitidas tres operaciones en las ecuaciones.

Departamento de Ecuaciones Diferenciales y Análisis Numérico. CÁLCULO NUMÉRICO I (Tema 3 - Relación 2)

Al considerar varios polígonos regulares inscritos resulta: perímetro del cuadrado < π. perímetro del 96 gono < π

Descomposición LU de matrices

Typeset by GMNI & FoilTEX

Profesor Francisco R. Villatoro 13 de Diciembre de 1999 SOLUCIONES. 1. Una matriz A de n n es diagonalmente dominante (estrictamente) por filas si

Matrices y Sistemas Lineales

Sistemas de ecuaciones lineales

Sistemas de Ecuaciones. Lineales III

SISTEMAS DE ECUACIONES

1. Utilizar el método de Gauss para clasificar y resolver cuando sea posible los siguientes sistemas: x 3y + 7z = 10 5x y + z = 8 x + 4y 10z = 11

Resolución numérica de sistemas de ecuaciones lineales

TEMA 4: Sistemas de ecuaciones lineales II

Métodos directos de resolución de sistemas lineales

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3

Lección 10. Eliminación Gaussiana

Matrices y sistemas de ecuaciones

Programa EUROPA Ayuda a la Mejora en el Aprendizaje Matemáticas Cuarta sesión

Matrices y determinantes

ITERATIVOS Y DIRECTOS PARA SISTEMAS LINEALES. Ayudante: Rodrigo Torres Aguirre Ejercicios:

Cálculo Numérico - CO3211. Ejercicios. d ) Sabiendo que la inversa de la matriz A = es A c d

Factorización QR Método iterativo de Jacobi

Métodos directos de resolución de sistemas lineales

Análisis Numérico para Ingeniería. Clase Nro. 5

Métodos Numéricos para Sistemas de Ecuaciones Lineales

Carmen Torres Blanc, Gloria Sánchez Torrubia DMATIC, ETSIInf, U.P.M. Álgebra Lineal. 1 TEMA 1.1: MATRICES Y SISTEMAS DE ECUACIONES LINEALES

Aplicar este algoritmo para resolver el sistema de ecuaciones: º «« º ««

Clase. 1. Resolución de sistemas de ecuaciones lineales: preliminares

Clase No. 13: Factorización QR MAT 251. Joaquín Peña (CIMAT) Métodos Numéricos (MAT 251) / 16

Cap 3: Álgebra lineal

Matrices y Determinantes.

Una ecuación lineal de n-incógnitas es una igualdad de la forma:

Dr. Alonso Ramírez Manzanares CIMAT A.C. cimat.mx web: alram/met_num/

Gustavo Rodríguez Gómez. Agosto Dicembre 2011

Análisis Numérico para Ingeniería. Clase Nro. 5

2. Sistemas de ecuaciones lineales.

Matrices bandadas Cálculo de la inversa y determinante Normas vectoriales y matriciales

Matrices y Sistemas de Ecuaciones lineales

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Resolución numérica de sistemas de ecuaciones. Introducción

Métodos directos de resolución de sistemas lineales

Sistemas lineales de ecuaciones

Sistema de ecuaciones algebraicas. Eliminación de Gauss.

CONTENIDOS MATEMÁTICAS II SEGUNDA EVALUACIÓN CURSO 2017/2018 MATRICES

Resolución numérica de sistemas de ecuaciones. Introducción

ÁLGEBRA Ejercicios no resueltos de la Práctica 3

Solución de sistemas lineales

de la forma ), i =1,..., m, j =1,..., n, o simplemente por (a i j ).

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

Dr. Alonso Ramírez Manzanares Depto. de Matemáticas Univ. de Guanajuato cimat.mx web:

DETERMINANTES Profesor: Fernando Ureña Portero

Resolverlo mediante el método de Gauss con aritmética exacta y sin pivoteo.

Universidad Nacional de Ingeniería Facultad de Ciencias. Física Computacional CC063. Algebra Lineal. Prof: J. Solano 2012-I

Solución de sistemas de ecuaciones lineales: Descomposición LU

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3

Práctica 1: Sistemas de Ecuaciones Lineales - Matrices

MATEMÁTICAS 2º BACH TECNOL. MATRICES. Profesor: Fernando Ureña Portero MATRICES

Dr. Alonso Ramírez Manzanares CIMAT A.C. cimat.mx web: alram/met_num/

SISTEMAS DE ECUACIONES LINEALES. Método de reducción o de Gauss. 1º DE BACHILLERATO DPTO DE MATEMÁTICAS COLEGIO MARAVILLAS AUTORA: Teresa González.

Eliminacion Gaussiana Metodo de cofactores

1 ÁLGEBRA DE MATRICES

3. ÁLGEBRA LINEAL // 3.1. SISTEMAS DE

3. ÁLGEBRA LINEAL // 3.1. SISTEMAS DE

Métodos Numéricos: ecuaciones lineales Eduardo P. Serrano

Matrices. Primeras definiciones

Tema 1 CÁLCULO MATRICIAL y ECUACIONES LINEALES

Formas cuadráticas. Natalia Boal María Luisa Sein-Echaluce Universidad de Zaragoza

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3

O PIC IN A.S: A g u a c e ro s probable*. NUEVA YORK, VIERNES 13 DE JU L IO DE bandidos y un banquero muertos en lucha a tiros

BLOQUE DE ÁLGEBRA: TEMA 1: MATRICES.

Determinantes Introducción a los determinantes. Recordemos la definición del determinante de una matriz A de 2 2 ( fórmula.

Sistema de ecuaciones algebraicas. Descomposición LU.

Sistemas de ecuaciones lineales

Factorización de matrices

Se llama adjunto de un elemento de una matriz A, al número resultante de multiplicar por el determinante de la matriz complementaria

1. Lección 3: Matrices y Determinantes

1 Clase sobre determinantes

Sistemas de Ecuaciones Lineales. Matrices y determinantes.

Matemáticas 2ºBachillerato Aplicadas a las Ciencias Sociales

Transcripción:

Typeset by GMNI & FoilTEX

MÉTODOS DIRECTOS PARA GRANDES SISTEMAS DE ECUACIONES LINEALES: FACTORIZACIONES DE CROUT Y CHOLESKY F Navarrina, I Colominas, M Casteleiro, H Gómez, J París GMNI GRUPO DE MÉTODOS NUMÉRICOS EN INGENIERÍA Departamento de Métodos Matemáticos y de Representación Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos Universidad de A Coruña, España e-mail: fnavarrina@udces página web: http://caminosudces/gmni

ÍNDICE FACTORIZACIÓN DE CROUT Ã = L D Ũ Fundamentos teóricos Condiciones de existencia Algoritmos de factorización y de solución de sistemas Programación Almacenamiento de los resultados sobre los datos Adaptación para almacenamientos en banda y perfil T FACTORIZACIÓN DE CHOLESKY Ã = L D L Fundamentos teóricos Condiciones de existencia Algoritmos de factorización y de solución de sistemas Programación Almacenamiento de los resultados sobre los datos Adaptación para almacenamientos en banda y perfil CONDICIONES DE VINCULACIÓN [coacciones] IMPLEMENTACIÓN Método de Cholesky para matrices en perfil ( Column Profile o Sky-Line )

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (I) FACTORIZACIÓN DE CROUT [à = L D Ũ] Sea el problema à x = b con à = a 11 a 12 a 1n a 21 a 22 a 2n, x = a n1 a n2 a nn x 1 x 2, b = x n b 1 b 2 b n La FACTORIZACIÓN DE CROUT consiste en: à = L D Ũ = L z {}}{ D Ũ x }{{} ȳ = b = L z = b, D ȳ = z, Ũ x = ȳ

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIa) FUNCIONAMIENTO DEL MÉTODO Supongamos que ya hemos factorizado [ ] a11 a 1k à k = L k D k Ũ k, con à k =, a k1 a kk siendo [ ] l11 0 L k = l k1 l kk [ ] d11 0, k D =, Ũ k = 0 d kk [ ] u11 u 1k 0 u kk

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIb) Pretendemos factorizar (a partir de lo anterior) à k+1 = L k+1 D k+1 Ũ k+1, con à k+1 = à k c k+1 f T k+1 a k+1,k+1, de forma que 2 Lk+1 = e 6 4 L e k lt k+1 0 l k+1,k+1 3, D k+1 = 7 e 5 2 6 4 D e k 0 T 0 d k+1,k+1 3, U k+1 = 7 e 5 2 6 4 U e k ū k+1 0 T u k+1,k+1 3 7 5 donde c k+1 = 8 < : 9 a 1,k+1 = ;, ū k+1 = a k,k+1 8 < : 9 u 1,k+1 = ;, u k,k+1 f T k+1 = [ a k+1,1 a k+1,k ], lt k+1 = [ l k+1,1 l k+1,k ]

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIc) Multiplicamos por cajas D e k+1 U e k+1 = 2 0 0 z} { e z } { Dk U e e k + 0 0 T Dk ūk+1 + 0 u k+1,k+1 e 0 T U k + d k+1,k+1 0 T 0 T ū k+1 + d k+1,k+1 u k+1,k+1 e 6 7 4 5 {z } 0 T {z } 0 T {z } 0 3 L e k+1 `De k+1 U e k+1 = 2 3 0 0 z} { e z } { Lk D e e k U e k + 0 0 T Lk D e e k ūk+1 + 0 d k+1,k+1 u k+1,k+1 lt k+1 Dk U e e k + l k+1,k+1 0 T lt k+1 Dk ūk+1 + l k+1,k+1 d k+1,k+1 u k+1,k+1 e 6 7 4 {z } 5 0 T

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IId) Igualamos 2 3 2 3 6 4 A e k c k+1 f T k+1 a k+1,k+1 7 5 = 6 4 L e k D e k U e k L e k D e k ūk+1 lt k+1 D e k U e k lt k+1 D e k ūk+1 + l k+1,k+1 d k+1,k+1 u k+1,k+1, 7 5 lo que por cajas equivale a à k = L k D k Ũ k, [ HIPÓTESIS] c k+1 = L k D k ū k+1, f T k+1 = l T k+1 D k Ũ k, a k+1,k+1 = l T k+1 D k ū k+1 + l k+1,k+1 d k+1,k+1 u k+1,k+1

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIe) Por tanto 1 El vector ū k+1 es la solucíón del sistema: [L k D k] ū k+1 = c k+1 2 El vector l k+1 es la solucíón del sistema: [ Ũ T k D k ] lk+1 = f k+1 3 Los coeficientes l k+1,k+1, d k+1,k+1 y u k+1,k+1 verifican: l k+1,k+1 d k+1,k+1 u k+1,k+1 = a k+1,k+1 l T k+1d k ūk+1 (*) (*) Donde l k+1 y ū k+1 se habrán calculado previamente Hay infinitas descomposiciones posibles Por convenio, se eligen (arbitrariamente) los valores: l k+1,k+1 = 1, u k+1,k+1 = 1 = d k+1,k+1 = a k+1,k+1 l T k+1 D e k ūk+1

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIf) 4 Para k = 1: Ã 1 = L 1 D 1 Ũ 1 = l 11 d 11 u 11 = a 11 (*) 5 Para k = n: Ã n = Ã = Ã = L D Ũ con = L n L, = n D D, Ũ = Ũ n (*) Hay infinitas descomposiciones posibles Por convenio, se eligen (arbitrariamente) los valores: l 11 = 1, u 11 = 1 = d 11 = a 11

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIIa) REALIZACIÓN DE LOS CÁLCULOS 1 FACTORIZACIÓN DE LA MATRIZ: Asignar l 11 = 1, u 11 = 1, d 11 = a 11 Para k = 1,, n 1 Resolver [ L k D k] ū k+1 = c k+1, [ Ũ k T D k ] lk+1 = f k+1 Asignar l k+1,k+1 = 1, u k+1,k+1 = 1, d k+1,k+1 = a k+1,k+1 l T k+1d k ūk+1

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIIb) Notas: 1 Los sistemas [L k D k] ū k+1 = c k+1 se resuelven en dos fases: L k v k+1 {}}{ D k ūk+1 = c k+1 = L k v k+1 = c k+1, k D ūk+1 = v k+1 2 Los sistemas Ũ T k [ Ũ T k D k] lk+1 = f k+1 se resuelven en dos fases: m k+1 {}}{ D k l k+1 = f k+1 = Ũ T k m k+1 = f k+1, k D l k+1 = m k+1

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IIIc) REALIZACIÓN DE LOS CÁLCULOS (continuación) 2 SOLUCIÓN DE SISTEMAS: Resolver L z = b, D ȳ = z, Ũ x = ȳ

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IVa) CONDICIONES DE EXISTENCIA Por construcción (unos en la diagonal principal), se cumple det(lk ) = det(u k) = 1 para k = 1,, n e e Por tanto, basta con que se cumplan las condiciones ( det(de k ) 0, k = 1,, n 1 para que pueda realizarse la factorización, det(d e k ) 0, k = n para que pueda realizarse la solución de sistemas Por otro lado, Ak = L e e k D e k U e k = det(ak ) = det(l e e k) det(d e k) det(u e k) = det(d k) k e Luego, las condiciones de existencia pueden expresarse en la forma ( det(ae k ) 0, k = 1,, n 1 para que pueda realizarse la factorización, det(a e k ) 0, k = n para que pueda realizarse la solución de sistemas

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IVb) En general, podemos afirmar que: Si la matriz es REGULAR h i det(a) 0 e puede pasar que la factorización exista; (*) puede pasar que la factorización NO exista; (**) es prácticamente imposible comprobar a priori la condición de existencia anterior; es sencillo (y RECOMENDABLE en todo caso) comprobar sobre la marcha que Aunque la matriz sea SINGULAR d 11 0, d k+1,k+1 0 para k = 1,, n h i det(a) = 0 e puede pasar que la factorización exista; (*) pero no se podrá utilizar para resolver el sistema (***) (*) Esto sucederá cuando det(ak ) 0, k = 1,, n 1 e (**) Esto sucederá cuando no se cumpla la condición anterior Por ejemplo, cuando a 11 = 0 Al igual que en el Método de Gauss, estos casos requieren PIVOTAMIENTO (intercambio de filas y/o columnas) El problema es que el pivotamiento casa mal con los almacenamientos en banda y en perfil (***) Porque el sistema no tiene solución y el algoritmo fallará al resolver D e ȳ = z

FACTORIZACIÓN DE CROUT: Fundamentos Teóricos (IVc) Un caso importante es el de las MATRICES DEFINIDAS: A DEFINIDA = det(ak ) 0, k = 1,, n e e Luego, si à es DEFINIDA (positiva o negativa) puede realizarse la factorización y puede realizarse la solución de sistemas

FACTORIZACIÓN DE CROUT: Algoritmos (I) 1 FACTORIZACIÓN DE LA MATRIZ: l 11 = 1, u 11 = 1 d 11 = a 11 DO k=1,n-1 ENDDO u i,k+1 = a i,k+1 Xi 1 l ij u j,k+1 ; i = 1,, k u i,k+1 = u i,k+1 / d ii ; i = 1,, k l k+1,i = a k+1,i Xi 1 u ji l k+1,j ; i = 1,, k l k+1,i = l k+1,i / d ii ; i = 1,, k l k+1,k+1 = 1, u k+1,k+1 = 1 kx d k+1,k+1 = a k+1,k+1 l k+1,j d jj u j,k+1

FACTORIZACIÓN DE CROUT: Algoritmos (II) 2 SOLUCIÓN DE SISTEMAS: (*) z i = b i Xi 1 l ij z j ; i = 1,, n y i = z i / d ii ; i = 1,, n nx x i = y i u ij x j ; i = n,, 1, 1 j=i+1 (*) Este planteamiento es adecuado para matrices en banda pero inadecuado para matrices en perfil debido a que el bucle interno de la última expresión (sumatorio) barre la matriz U e por filas

FACTORIZACIÓN DE CROUT: Algoritmos (III) 2 SOLUCIÓN DE SISTEMAS: [Planteamiento Alternativo] (*) z i = b i Xi 1 l ij z j ; i = 1,, n y i = z i / d ii ; i = 1,, n x i = y i ; i = 1,, n x j = x j u ji x i ; j = 1,, i 1 ; i = n,, 2, 1 (*) Este planteamiento es adecuado para matrices en banda y también para matrices en perfil Obsérvese que el bucle interno de la última expresión barre ahora la matriz U e por columnas

FACTORIZACIÓN DE CROUT: Programación ( ) Es fácil comprobar que podemos almacenar L, D y Ũ sobre Ã; podemos almacenar z, ȳ y x sobre b; Así a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n a 31 a 32 a 33 a 3n a n1 a n2 a n3 a nn se transformará en d 11 u 12 u 13 u 1n l 21 d 22 u 23 u 2n l 31 l 32 d 33 u 3n l n1 l n2 l n3 d nn b 1 b 2 b 3 b n se transformará en z 1 z 2 z 3 z n se transformará en y 1 y 2 y 3 y n se transformará en x 1 x 2 x 3 x n

FACTORIZACIÓN DE CROUT: Programación (I) 1 FACTORIZACIÓN DE LA MATRIZ: DO k=1,n-1 ENDDO a i,k+1 a i,k+1 Xi 1 a ij a j,k+1 ; i = 2,, k a i,k+1 a i,k+1 / a ii ; i = 1,, k a k+1,i a k+1,i Xi 1 a ji a k+1,j ; i = 2,, k a k+1,i a k+1,i / a ii ; i = 1,, k kx a k+1,k+1 a k+1,k+1 a k+1,j a jj a j,k+1

FACTORIZACIÓN DE CROUT: Programación (II) 2 SOLUCIÓN DE SISTEMAS: (*) b i b i Xi 1 a ij b j ; i = 2,, n b i b i / a ii ; i = 1,, n nx b i b i a ij b j ; i = n 1,, 1, 1 j=i+1 (*) Este planteamiento es adecuado para matrices en banda pero inadecuado para matrices en perfil debido a que el bucle interno de la última expresión (sumatorio) barre la parte superior de la matriz A e por filas

FACTORIZACIÓN DE CROUT: Programación (III) 2 SOLUCIÓN DE SISTEMAS: [Planteamiento Alternativo] (*) b i b i Xi 1 a ij b j ; i = 2,, n b i b i / a ii ; i = 1,, n b j b j a ji b i ; j = 1,, i 1 ; i = n,, 2, 1 (*) Este planteamiento es adecuado para matrices en banda y también para matrices en perfil Obsérvese que el bucle interno de la última expresión barre ahora la parte superior de la matriz A e por columnas

FACTORIZACIÓN DE CROUT: Adaptación a Banda y Perfil (Ia) Sea la matriz à tal que à = 0 0 a i u(i),i a i 1,i 0 0 a i,i l(i) a i,i 1 a ii fila i columna i donde ( l(i) semiancho de banda inferior de la fila i, u(i) semiancho de banda superior de la columna i

FACTORIZACIÓN DE CROUT: Adaptación a Banda y Perfil (Ib) Examinamos en detalle el cálculo { de la fila k + 1 de L, y de la columna k + 1 de Ũ u i,k+1 = a i,k+1 Xi 1 l ij u j,k+1 ; i = 1,, k u i,k+1 = u i,k+1 / d ii ; i = 1,, k IRRELEVANTE l k+1,i = a k+1,i Xi 1 u ji l k+1,j ; i = 1,, k l k+1,i = l k+1,i / d ii ; i = 1,, k IRRELEVANTE

FACTORIZACIÓN DE CROUT: Adaptación a Banda y Perfil (Ic) Observamos que (a falta de dividir por los elementos d ii ) 8 i 1 X i = 1 a i,k+1 = 0 u i,k+1 = a i,k+1 l ij u j,k+1 = 0, i 1 X i = 2 a i,k+1 = 0 u i,k+1 = a i,k+1 l ij u j,k+1 = 0, >< i 1 X i = (k + 1) u(k + 1) 1 a i,k+1 = 0 u i,k+1 = a i,k+1 l ij u j,k+1 = 0, i 1 X i = (k + 1) u(k + 1) a >: i,k+1 0 u i,k+1 = a i,k+1 l ij u j,k+1 = a i,k+1 0 8 i 1 X i = 1 a k+1,i = 0 l k+1,i = a k+1,i u ji l k+1,j = 0, i 1 X i = 2 a k+1,i = 0 l k+1,i = a k+1,i u ji l k+1,j = 0, >< i 1 X i = (k + 1) l(k + 1) 1 a k+1,i = 0 l k+1,i = a k+1,i u ji l k+1,j = 0, i 1 X i = (k + 1) l(k + 1) a >: k+1,i 0 l k+1,i = a k+1,i u ji l k+1,j = a k+1,i 0

FACTORIZACIÓN DE CROUT: Adaptación a Banda y Perfil (II) Por tanto, se conservan los semianchos de banda inferior y superior: Y también los perfiles inferior (por filas) y superior (por columnas):

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (I) FACTORIZACIÓN DE CHOLESKY [à = L D L T, à simétrica] Sea el problema à x = b con à = a 11 a 12 a 1n a 22 a 2n Sim a nn, x = x 1 x 2, b = x n b 1 b 2 b n La FACTORIZACIÓN DE CHOLESKY consiste en: T à = L D L = L z {}}{ D L T x }{{} ȳ = b = L z = b, D ȳ = z, L T x = ȳ

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (IIa) FUNCIONAMIENTO DEL MÉTODO Observamos que es un caso particular de la Factorización de CROUT para matrices simétricas en el que Ũ = L T Debido a la simetría se cumplirá c k+1 = f k+1, T = k L, ū k+1 = l k+1, Ũ k u k+1,k+1 = l k+1,k+1

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (IIb) Por tanto 1-2 El vector l k+1 es la solucíón del sistema: [L k D k] lk+1 = f k+1 3 Los coeficientes l k+1,k+1 y d k+1,k+1 verifican: l k+1,k+1 d k+1,k+1 l k+1,k+1 = a k+1,k+1 l T k+1d k l k+1 (*) (*) Donde l k+1 se habrá calculado previamente Hay infinitas descomposiciones posibles Por convenio, se eligen (arbitrariamente) los valores: l k+1,k+1 = 1 = d k+1,k+1 = a k+1,k+1 l T k+1 D e k l k+1

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (IIc) 4 Para k = 1: Ã 1 = L 1 T 1 1 = l 11 d 11 l 11 = a 11 (*) D L 5 Para k = n: T Ã n = Ã = Ã = L D L con { L = L n, D = D n (*) Hay infinitas descomposiciones posibles Por convenio, se eligen (arbitrariamente) los valores: l 11 = 1 = d 11 = a 11

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (IIIa) REALIZACIÓN DE LOS CÁLCULOS 1 FACTORIZACIÓN DE LA MATRIZ: Asignar l 11 = 1, d 11 = a 11 Para k = 1,, n 1 [ Resolver L k k] lk+1 = D f k+1 Asignar l k+1,k+1 = 1, d k+1,k+1 = a k+1,k+1 l T k+1d k l k+1

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (IIIb) Notas: 1 Los sistemas [L k D k] l k+1 = f k+1 se resuelven en dos fases: L k m k+1 {}}{ D k l k+1 = f k+1 = L k m k+1 = f k+1, k D l k+1 = m k+1

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (IIIc) REALIZACIÓN DE LOS CÁLCULOS (continuación) 2 SOLUCIÓN DE SISTEMAS: Resolver L D z = b, ȳ = z, L T x = ȳ

FACTORIZACIÓN DE CHOLESKY: Fundamentos Teóricos (IV) CONDICIONES DE EXISTENCIA Son las mismas que en el caso de la Factorización de CROUT

FACTORIZACIÓN DE CHOLESKY: Algoritmos (I) 1 FACTORIZACIÓN DE LA MATRIZ: l 11 = 1, d 11 = a 11 DO k=1,n-1 l k+1,i = a k+1,i Xi 1 l ij l k+1,j ; i = 1,, k l k+1,i = l k+1,i / d ii ; i = 1,, k ENDDO l k+1,k+1 = 1, d k+1,k+1 = a k+1,k+1 kx l k+1,j d jj l k+1,j

FACTORIZACIÓN DE CHOLESKY: Algoritmos (II) 2 SOLUCIÓN DE SISTEMAS: (*) z i = b i Xi 1 l ij z j ; i = 1,, n y i = z i / d ii ; i = 1,, n nx x i = y i l ji x j ; i = n,, 1, 1 j=i+1 (*) Este planteamiento es adecuado para matrices en banda pero inadecuado para matrices en perfil debido a que el bucle interno de la última expresión (sumatorio) barre la matriz L e por columnas

FACTORIZACIÓN DE CHOLESKY: Algoritmos (III) 2 SOLUCIÓN DE SISTEMAS: [Planteamiento Alternativo] (*) z i = b i Xi 1 l ij z j ; i = 1,, n y i = z i / d ii ; i = 1,, n x i = y i ; i = 1,, n x j = x j l ij x i ; j = 1,, i 1 ; i = n,, 2, 1 (*) Este planteamiento es adecuado para matrices en banda y también para matrices en perfil Obsérvese que el bucle interno de la última expresión barre ahora la matriz L e por filas

FACTORIZACIÓN DE CHOLESKY: Programación ( ) Es fácil comprobar que podemos almacenar L Y D sobre la parte inferior de Ã; podemos almacenar z, ȳ y x sobre b; Así a 11 a 21 a 22 a 31 a 32 a 33 a n1 a n2 a n3 a nn se transformará en d 11 l 21 d 22 l 31 l 32 d 33 l n1 l n2 l n3 d nn b 1 b 2 b 3 b n se transformará en z 1 z 2 z 3 z n se transformará en y 1 y 2 y 3 y n se transformará en x 1 x 2 x 3 x n

FACTORIZACIÓN DE CHOLESKY: Programación (I) 1 FACTORIZACIÓN DE LA MATRIZ: DO k=1,n-1 ENDDO a k+1,i a k+1,i Xi 1 a ij a k+1,j ; i = 2,, k a k+1,i a k+1,i / a ii ; i = 1,, k kx a k+1,k+1 a k+1,k+1 a k+1,j a jj a k+1,j

FACTORIZACIÓN DE CHOLESKY: Programación (II) 2 SOLUCIÓN DE SISTEMAS: (*) b i b i Xi 1 a ij b j ; i = 2,, n b i b i / a ii ; i = 1,, n nx b i b i a ji b j ; i = n 1,, 1, 1 j=i+1 (*) Este planteamiento es adecuado para matrices en banda pero inadecuado para matrices en perfil debido a que el bucle interno de la última expresión (sumatorio) barre la parte inferior de la matriz A e por columnas

FACTORIZACIÓN DE CHOLESKY: Programación (III) 2 SOLUCIÓN DE SISTEMAS: [Planteamiento Alternativo] (*) b i b i Xi 1 a ij b j ; i = 2,, n b i b i / a ii ; i = 1,, n b j b j a ij b i ; j = 1,, i 1 ; i = n,, 2, 1 (*) Este planteamiento es adecuado para matrices en banda y también para matrices en perfil Obsérvese que el bucle interno de la última expresión barre ahora la parte inferior de la matriz A e por filas

FACTORIZACIÓN DE CHOLESKY: Adaptación a Banda y Perfil (Ia) Sea la matriz à tal que à = SIM 0 0 a i,i l(i) a i,i 1 a ii fila i columna i donde ( l(i) semiancho de banda inferior de la fila i, semiancho de banda superior de la columna i

FACTORIZACIÓN DE CHOLESKY: Adaptación a Banda y Perfil (Ib) Examinamos en detalle el cálculo de la fila k + 1 de L l k+1,i = a k+1,i Xi 1 l ij l k+1,j ; i = 1,, k l k+1,i = l k+1,i / d ii ; i = 1,, k IRRELEVANTE

FACTORIZACIÓN DE CHOLESKY: Adaptación a Banda y Perfil (Ic) Observamos que (a falta de dividir por los elementos d ii ) 8 i 1 X i = 1 a k+1,i = 0 l k+1,i = a k+1,i i 1 X i = 2 a k+1,i = 0 l k+1,i = a k+1,i >< i 1 X i = (k + 1) l(k + 1) 1 a k+1,i = 0 l k+1,i = a k+1,i i 1 X i = (k + 1) l(k + 1) a >: k+1,i 0 l k+1,i = a k+1,i l ij l k+1,j = 0, l ij l k+1,j = 0, l ij l k+1,j = 0, l ij l k+1,j = a k+1,i 0

FACTORIZACIÓN DE CHOLESKY: Adaptación a Banda y Perfil (II) Por tanto, se conservan los semianchos de banda inferior y superior: Y también los perfiles inferior (por filas) y superior (por columnas):

FACTORIZACIÓN DE CHOLESKY: Adaptación a Banda y Perfil (IIIa) 1 FACTORIZACIÓN DE LA MATRIZ: (*) DO k=1,n-1 ENDDO a k+1,i a k+1,i Xi 1 a ij a k+1,j j=max{i l(i),(k+1) l(k+1)} ; i = [(k+1) l(k+1)+1],, k a k+1,i a k+1,i / a ii ; i = [(k+1) l(k+1)],, k kx a k+1,k+1 a k+1,k+1 a k+1,j a jj a k+1,j j=(k+1) l(k+1) (*) l(i) es el semiancho de banda inferior de la fila i Este valor indica que el primer elemento no nulo de la fila i es el coeficiente a i,i l(i)

FACTORIZACIÓN DE CHOLESKY: Adaptación a Banda y Perfil (IIIb) 2 SOLUCIÓN DE SISTEMAS: (*) b i b i Xi 1 j=i l(i) a ij b j ; i = 2,, n b i b i / a ii ; i = 1,, n b j b j a ij b i ; j = [i l(i)],, i 1 ; i = n,, 2, 1 (*) l(i) es el semiancho de banda inferior de la fila i Este valor indica que el primer elemento no nulo de la fila i es el coeficiente a i,i l(i)

CONDICIONES DE VINCULACIÓN [coacciones] (I) Sea el sistema a 11 a 12 a 13 a 1v a 1n x 1 a 21 a 22 a 23 a 2v a 2n x 2 a 31 a 32 a 33 a 3v a 3n x 3 a v1 a v2 a v3 a vv a vn x v a n1 a n2 a n3 a nv a nn x n = b 1 b 2 b 3 b ṿ b n + 0 0 0 r v 0, con la coacción adicional x v = p v, donde v = GRADO DE LIBERTAD (GDL) COACCIONADO, p v = VALOR PRESCRITO (conocido), r v = REACCIÓN (desconocida)

CONDICIONES DE VINCULACIÓN [coacciones] (II) El planteamiento anterior puede reescribirse en la forma b 1 a 1v p v a 11 a 12 a 13 0 a 1n x 1 a 21 a 22 a 23 0 a 2n b x 2 a 2v p v 2 a 31 a 32 a 33 0 a 3n x 3 b 3 a 3v p v = 0 0 0 1 0 x v p v a n1 a n2 a n3 0 a nn x n b n a nv p v x 1 con la ecuación adicional x 2 x 3 r v = [ a v1 a v2 a v3 a vv a vn ] b v, x v x n que se utiliza una vez resuelto el sistema anterior,

CONDICIONES DE VINCULACIÓN [coacciones] (III) TRATAMIENTO DE LAS CONDICIONES DE VINCULACIÓN [coacciones] Dado el sistema A e x = b + r, con algunas x v = p v, se procede de la siguiente manera: 1) Al factorizar se ignoran filas y columnas correspondientes a GDL prescritos (v) 2) Las columnas correspondientes a GDL prescritos pasan restando a los términos independientes multiplicadas por los valores prescritos ( a iv p v ) 3) Las filas correspondientes a GDL prescritos (a vj ) se usan a posteriori para calcular las reacciones ( r v ) Luego, los datos almacenados en filas y columnas correspondientes a GDL prescritos no se alteran durante la factorización y se pueden utilizar para resolver múltiples sistemas con la misma matriz y distintos términos independientes o valores prescritos (*) (*) OJO!: pueden cambiarse los valores prescritos (pv), pero no pueden cambiarse los GDL prescritos (v)

IMPLEMENTACIÓN: Cholesky para matrices en perfil (Ia) CODIFICACIÓN DEL ALMACENAMIENTO ( ) Ã = a 11 0 SIM 0 0 0 0 0 0 0 a i,i lsbi a i,i 1 a ii fila i 0 0 0 0 0 0 a nn ( ) PARTE TRIANGULAR SUPERIOR EN PERFIL POR COLUMNAS PARTE TRIANGULAR INFERIOR EN PERFIL POR FILAS

IMPLEMENTACIÓN: Cholesky para matrices en perfil (Ib) ALMACENAMIENTO EN PERFIL (*) { Ã se almacena en v = [a11,, a i,i lsbi,,, a i,i 1, a ii,,, a nn ] a ij v k, con k = lpij puntero del coeficiente a ij Si lp(i) puntero del coeficiente a ii, entonces: 8 lpii = lp(i) puntero de a ii, ( ) >< lsbi = lpii ( lp(i 1) + 1) semiancho de banda inferior de la fila i, ( ) lpiø = lpii i, >: lpij = lpiø + j puntero de a ij, con i lsbi j i, (*) Sistema de punteros y variables utilizado en la subrutina SLE$Solver_LDLt_CP() (**) Se utilizan valores absolutos porque esta subrutina cambia los signos de los punteros de los GDL coaccionados

IMPLEMENTACIÓN: Cholesky para matrices en perfil (II) PROGRAMACIÓN 1) CAMBIAR SIGNO A PUNTEROS DE GDL COACCIONADOS 2) FACTORIZAR: Ã = L D L T (*) 3) INICIALIZAR REACCIONES E IMPONER CONDICIONES DE VINCULACIÓN 4) RESOLVER LOS SISTEMAS: L z = b, D ȳ = z, L T x = ȳ (*) 5) CALCULAR REACCIONES 6) RESTAURAR SIGNO A PUNTEROS DE GDL COACCIONADOS (*) IGNORANDO FILAS Y COLUMNAS CORRESPONDIENTES A GDL COACCIONADOS

IMPLEMENTACIÓN: Cholesky para matrices en perfil (IIIa) 1 FACTORIZACIÓN DE LA MATRIZ: (*) DO k=2,n ENDDO a ki a ki Xi 1 a ij a kj ; i = [k lsbk+1],, k 1 j=max{i lsbi,k lsbk} a ki a ki / a ii ; i = [k lsbk],, k 1 a kk a kk Xk 1 j=k lsbk a kj a jj a kj (*) lsbi es el semiancho de banda inferior de la fila i Este valor indica que el primer elemento no nulo de la fila i es el coeficiente a i,i lsbi

IMPLEMENTACIÓN: Cholesky para matrices en perfil (IIIb) 2 SOLUCIÓN DE SISTEMAS: (*) b i b i Xi 1 a ij b j j=i lsbi ; i = 2,, n b i b i / a ii ; i = 1,, n b j b j a ij b i ; j = [i lsbi],, i 1 ; i = n,, 2, 1 (*) lsbi es el semiancho de banda inferior de la fila i Este valor indica que el primer elemento no nulo de la fila i es el coeficiente a i,i lsbi