8/17/2019 SL Dispersos
1/26
ALN – Sistemas
LinealesdispersosIn. Co.Facultad de IngenieríaUniversidad de la República
8/17/2019 SL Dispersos
2/26
Versión 1.0 2
Factorización de matrices dispersas
La clave al trabajar con matrices dispersases el ahorro en:
Espacio de memoria Cantidad de cálculos
Si factorizamos una matriz dispersa A enLU , nada nos garantiza que las matrices Ly U sean dispersas !!!!
8/17/2019 SL Dispersos
3/26
Versión 1.0 3
Factorización de matrices dispersas
Si A es dispersa y las matrices L y U no,estaríamos cometiendo varios errores:Utilizando estructuras dispersas para matrices
completas.
Engañándonos con respecto al número de
operaciones realizadas. Nos encontramos frente al problema de
“llenado” (fill-in en la literatura anglosajona)
8/17/2019 SL Dispersos
4/26
Versión 1.0 4
Factorización de matrices dispersas
La resolución de sistemas completosconsta de 2 etapas: Factorización (escalerización).
Sustituciones.
En el caso de las matrices dispersascuales son las etapas ??!
8/17/2019 SL Dispersos
5/26
Versión 1.0 5
Factorización de matrices dispersas
Además de las tareas de la resolución desistemas completos, necesitamos:
Minimizar, o por lo menos controlar, el fill-in. Prever la estructura de las matrices L y U.
La mayoría de los trabajos comenzaronresolviendo matrices simétricas y definidaspositivas.
Factorización de Cholesky.
8/17/2019 SL Dispersos
6/26
Versión 1.0 6
Motivación Si tenemos la siguiente matriz:
¿cuanto cuesta factorizarla?
x x
x
x
x x
00
000
000
00
x
x
x x
x x
000
000
00
00
Y la siguiente?!
8/17/2019 SL Dispersos
7/26
Versión 1.0 7
Conocimientos Previos
Antes de comprender las distintas etapasde la factorización sobre matrices
dispersas es necesario introducir algunasherramientas.
Para estudiar las estrategias de
ordenamiento y factorización simbólica seutilizan grafos.
8/17/2019 SL Dispersos
8/26
Versión 1.0 8
Definiciones
La envolvente de una matriz A se definecomo:
0:max0:min
iji
iji
a jl
a j f
}1,:),{()( nil j f ji A Env ii
8/17/2019 SL Dispersos
9/26
Versión 1.0 9
Sistemas dispersos y grafos
Definiciones básicas de grafos: Un grafo G(V,E) es un conjunto de vértices (o
nodos) V = v1 , v2 , ..., vn y un conjunto de aristas E =
(vi , v j ). Si el conjunto de aristas es ordenado el grafo de
define como dirigido, en caso contrario sedenomina grafo no dirigido.
Si el conjunto de aristas cumple que existe unaarista (u, v) perteneciente a E para todo u, vpertenecientes a V .
8/17/2019 SL Dispersos
10/26
Versión 1.0 10
Sistemas dispersos y grafos Un camino en un grafo del nodo vi al nodo vk se define
como una secuencia de aristas (vi , v j ), (v j ,vl ),...., (v p , vk ). Si vi = vk el camino se denomina ciclo. Se dice que un grafo es conexo si existe por lo menos un camino
entre todo par de nodos. Una cuerda en un camino es una arista que une dos vértices no
consecutivos.
Un grafo Cordal es aquel que no posee ciclos sin cuerdas.Un ciclo sin cuerdas es un ciclo de largo mayor o igual a 4
sin cuerdas.
Un árbol es un grafo acíclico.
8/17/2019 SL Dispersos
11/26
Versión 1.0 11
Sistemas dispersos y grafos
H(U, F) es un subgrafo de G(V,E) si H es ungrafo y el conjunto de vértices U está incluidoen V y F está incluido E.Clique es un sub-grafo completo.
Se define el conjunto de vértices adyacentesal vértice v, ( AdjG(v)) a aquellos vértices queposeen aristas incidentes desde el vértice v.
El grado de un vértice v del grafo G se definecomo la cardinalidad del conjunto de vérticesadyacentes: gradoG(v) = |AdjG(v)|.
8/17/2019 SL Dispersos
12/26
Versión 1.0 12
Una matriz dispersa A cuadrada de dimensión n sepuede representar mediante un grafo etiquetado dirigidoG = (V,E) donde el conjunto de vértices es V = {1..n} y el
conjunto de aristas se compone de (i, j) si aij ≠ 0.
Sistemas dispersos y grafos
8/17/2019 SL Dispersos
13/26
Versión 1.0 13
Para representar una matriz con estructura simétrica sepuede utilizar un grafo etiquetado no dirigido G = (V,E)donde V = {1..n} y (i, j) pertenece a E si aij ≠ 0 (a ji ≠ 0).
Los vértices adyacentes a cierto vértice x son los índicesde columna/fila de los elementos no nulos en la
fila/columna x
Sistemas dispersos y grafos
8/17/2019 SL Dispersos
14/26
Versión 1.0 14
Árbol de eliminación Permite describir las dependencias entre las filas y
columnas en la factorización de Cholesky. Los nodos delárbol de eliminación son enteros entre 1 y n, querepresentan las columnas (filas) de la matriz. El padre de la
fila i es el menor j tal que j > i y que el elemento A(i, j) seadistinto de cero.
Los primeros autores enutilizarlo fueron Schreiber, Duffy Reid
Sistemas dispersos y grafos
8/17/2019 SL Dispersos
15/26
Versión 1.0 15
DAG
Gilbert y Liu extendieron el concepto de árbol de eliminaciónpara matrices no simétricas. La propuesta se basa en lautilización de dos grafos dirigidos acíclicos (directed acyclicgraph - DAG) que llaman DAGs de eliminación. Los DAGs seobtienen mediante reducciones transitivas de los grafos
(dirigidos) asociados a las matrices L y U.
8/17/2019 SL Dispersos
16/26
Versión 1.0 16
Etapas de la resolución de
matrices dispersasOrdenamiento
Factorización simbólica
Factorización numéricaSustitución
8/17/2019 SL Dispersos
17/26
Versión 1.0 17
Ordenamientos
Lo vamos a ver en forma separada en lapróxima clase.
En forma resumida, reordenan lasfilas/columnas de la matriz para facilitar latarea de factorización
El número de posibles de ordenaciones esn!
8/17/2019 SL Dispersos
18/26
Versión 1.0 18
Factorización simbólica
Motivación
Predecir la estructura de las matrices resultado.
Esta etapa permite prever y reservar en formaanticipada la memoria de las distintasestructuras de datos a utilizar.
Acceder en forma “sencilla” a las distintas
estructuras. No es necesario realizar operaciones en punto
flotante!!!!
8/17/2019 SL Dispersos
19/26
Versión 1.0 19
Factorización simbólica
Como se hace:
En forma simbólica, trabajar con la estructura de
la matriz (las posiciones no nulas) y no con loscoeficientes. Se asume que toda operación sobreelementos no nulos resultara no nula (se obtieneuna estimación de la estructura, cota superior).
Schreiber fijo la base de muchos de los trabajossobre factorización simbólica utilizando el árbolde eliminación.
8/17/2019 SL Dispersos
20/26
Versión 1.0 20
Factorización simbólica
Como se hace (grafos):
8/17/2019 SL Dispersos
21/26
Versión 1.0 21
Factorización simbólica
Como se hace (grafos):
Durante el paso k de la eliminación, se resta la fila k multiplicada por un coeficientea cada una de las filas que tienen elementos no nulos en la columna k (debajo delpivote).
Los elementos no nulos de la fila k “bajan” a estas filas y pasan a ser elementos no
nulos de las mismas.
En el grafo de adyacencia, esto equivale a que los vértices adyacentes a k pasana ser adyacentes a los vértices correspondientes a las filas mencionadas.
8/17/2019 SL Dispersos
22/26
Versión 1.0 22
Factorización simbólica
Como se hace (grafos):
Por esta razón, al eliminar un vértice se forma un clique entre sus adyacentes
8/17/2019 SL Dispersos
23/26
Versión 1.0 23
Factorización simbólicaComo se hace (con conjuntos):
),( 1ii S x Alc es el conjunto de vértices alcanzables desde xi a través devértices con numeración menor (que serán eliminados antes que i)
Si x j pertenece a Alc(xi , Si-1) hay un camino desde xi a x j a través Si-1, por lo quecuando se eliminen todos los vértices de Si-1 se generará una arista de fill-in entre
xi y x j.Entonces, el grafo de adyacencia que incluye las aristas de fill-in quedacaracterizado por:
ii
x xS ,....,1
Sea
),(|),( 1 ii j ji F S x Alc x x x E
8/17/2019 SL Dispersos
24/26
Versión 1.0 24
Factorización simbólica
Una definición recursiva usandoconjuntos alcanzables:
i
S x Alc x
k k iii S S x Alc x AdjS x Alck k i
),(
11
1
),()(),(
8/17/2019 SL Dispersos
25/26
Versión 1.0 25
Factorización numérica
Existen varias sub-técnicasdependiendo del acceso de memoria:
Super-nodo
Frontal
MultifrontalOtras
8/17/2019 SL Dispersos
26/26
Más info…
Alan George, Joseph Liu, and EsmondNg. "Computer Solution of Sparse Linear
Systems." Academic, Orlando (1994). Disponible en:http://web.engr.illinois.edu/~heath/courses/cs
598mh/george_liu.pdf
Versión 1.0 26
http://web.engr.illinois.edu/~heath/courses/cs598mh/george_liu.pdfhttp://web.engr.illinois.edu/~heath/courses/cs598mh/george_liu.pdfhttp://web.engr.illinois.edu/~heath/courses/cs598mh/george_liu.pdfhttp://web.engr.illinois.edu/~heath/courses/cs598mh/george_liu.pdf