sl dispersos

Upload: ernesto-dufrechou

Post on 06-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 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