aula 9 sl direto

Upload: cristiano-da-silva

Post on 07-Jul-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Aula 9 SL Direto

    1/13

      69

     3.3.4 Fatoração LU

     Ax = b A = LU

     L – triangular inferior

    U  – triangular superiorVamos observar o exemplo introdutório

    ( )

    ⎥⎥⎥

    ⎢⎢⎢

    Α

    234

    211

    4230  

    343

    1.

    3

    31

    21

    =

    mult 

    Pivo

     

    ( ) 1.31

    322

    310

    32

    310

    423

    321 =Μ=

    ⎥⎥⎥⎥

    ⎢⎢⎢⎢

    Α   mult  pivo 

    ( )

    ⎥⎥

    ⎢⎢

    Α

    800

    32

    310

    4232  

    Observe que a matriz ( )1Α   pode ser obtida de ( )0Α   pré-multiplicado-a por uma matrizconveniente, no caso:

    ⎥⎥⎥

    ⎢⎢⎢

    Μ−

    Μ−=Μ

    10

    01

    001

    31

    211  =

    ⎥⎥⎥⎥

    ⎢⎢⎢⎢

    1034

    0131

    001

     

    Da mesma forma a matriz ( )2Α  é obtida pré-multiplicando-a por:

  • 8/18/2019 Aula 9 SL Direto

    2/13

      70

    ( )

    ( ) ( )

    ( )

    ( ) ( )

    ( )

    ( )

    ( )

    ( )

    ( )

    ( )

    ( ) U  L

    erior triângular matrizumaé 

     Assim

    ⎥⎥⎥

    ⎢⎢⎢

    ⎡   Α

    ⎥⎥⎥

    ⎢⎢⎢

    ΜΜ

    Μ=Α

    ⎥⎥⎥

    ⎢⎢⎢

    ⎡   Α

    ⎥⎥⎥

    ⎢⎢⎢

    Μ⎥⎥⎥

    ⎢⎢⎢

    Μ

    Μ=Α

    ⎥⎥⎥

    ⎢⎢⎢

    ⎡   Α

    ⎥⎥⎥

    ⎢⎢⎢

    Μ−⎥⎥⎥

    ⎢⎢⎢

    Μ−

    Μ−=Α

    ΑΜΜ=Α

    Α

    ΑΜΜ=Α

    ⎥⎥⎥

    ⎢⎢⎢

    =

    ⎥⎥⎥

    ⎢⎢⎢

    Μ−

    −−

    0

    2

    3231

    210

    2

    323

    210

    2

    32

    1

    31

    210

    012

    11

    0

    2

    012

    2

    32

    2

    0

    01

    001

    10

    010

    001

    10

    01

    001

    10

    010

    001

    10

    01

    001

    .sup

    ,

    010

    010

    001

    10

    010

    001

     

  • 8/18/2019 Aula 9 SL Direto

    3/13

      71

      A matriz L  é uma matriz triangular inferior, pois é resultante do produto de matrizestriangulares inferiores elementares.

    A decomposição LU não é única..

    Seja D uma matriz diagonal não singular qualquer, então:

     L = LD  é triangular inferior

    U  = U  D 1− é triangular superior

     A = LU = L DD 1−  = U  L  

    De modo que U  L   também é uma decomposição  LU . Isto sugere a possibilidade dese normalizar as decomposições LU .

    Seja a transformação A= LDU  

    Onde:  L é triangular inferior unitário (diagonal) D é diagonalU  triangular superior unitária (diagonal)

    Pode-se mostrar que a decomposição  LDU  de uma matriz  A  é única, se suas submatrizes principais guias [ ] [ ] [ ]121 ,.......,,   −ΑΑΑ   n são todos não-singulares.

    ⎥⎥⎥⎥⎥⎥

    ⎢⎢⎢⎢⎢⎢

    Α

    −−−−−

    nnnnnn

    nnnnnn

    nn

    nn

    aaaa

    aaaa

    aaaa

    aaaa

    121

    1111211

    2122221

    1111211

    ............

    ...................................................

    ....................

    .............

     

    isto garante pivôs não nulos.Α = 222111   U  D LU  D L   =Α  

    222111   U  D LU  D L   =  

  • 8/18/2019 Aula 9 SL Direto

    4/13

      72

     

    unitárioerior triang D L L DU U 

    U U  D L DU U  D L L D

    unitárioSuperior TriangU 

    unitárioerior Triang L

    existe D

    existeU 

    existe L

    sup.

    .

    inf .

    221

    11

    11

    21

    1222

    11

    11

    12111

    11

    11

    2

    1

    11

    12

    11

    →=

    =−−−

    −−−−−−

     

    Produto de 2 matrizes triang. sup. unitário resulta matriz triang sup. unitário. Isto força oser diagonal ⇒  Identidade.

    211

    21   U U  I U U    ==−   da mesma forma pode-se chegar .2121   D De L L   ==  

    Diferentes decomposições LU:

    ( )   LU  LD   ==Α   U  →onde: U  é triângular superior unitário – Decomposição de Crout 

    ( )   U  L DU  L   ==Α   →  onde: L é triângular superior unitário – Decomposição de Doolittle 

    Se A for simétrica:

    Choleskydeão Decomposiç L LU  D LD A

     D D Dse

     LDL

    t →=⎟

     ⎠ ⎞⎜

    ⎝ ⎛ ⎟

     ⎠ ⎞⎜

    ⎝ ⎛ =

    =>

    =Α   +

    2121

    21

    21

    0

    Algoritmo para Decomposição de Crout

    →=   U  L A U é triângular superior com diagonal unitária

    { }n jiula  jk 

     jimim

    k    k i ji,.....1,

    ,

    1  ==∑   =  

  • 8/18/2019 Aula 9 SL Direto

    5/13

      73

    Como :111 =u  

    nilula iii ,.....,1,11111   ===  

    ou seja a primeira coluna de é igual a primeira coluna de L.

    Além disso:

     jij   ula 111=  

    n jl

    au

      j

     j ,.......111

    1

    1   ==  

    Assim determinamos 1° linha de U .

    Suponha que as primeiras (p –1) colunas de  L  e as primeiras (p – 1) linhas de U   tenhamsido calculadas e como 1=kk u .

    ).....,.........1,(1

    1

    n p piulla p

    kpik ipip   +=+=   ∑−

    =

     

     portanto a esima p coluna de L é dada por:

    ( )∑  −

    =  +=−=

    1

    1,.....1,

     p

    k    kpik ipip  n p piU lal  

    Da mesma forma

    ( )∑  −

    =  +=+=

    1

    1,....1

     p

    k    kj pk  pj pp pj  n p julula  

    onde

    ( ) ( )n p julalu kj p

    k    pj pj

     pp

     pj ,..111

    1   +=−=   ∑  −

    =  

    Observe que não há necessidade de calcular-se para j = p, pois, 1= ppu .

    OBS: Pode-se verificar que, após ija Ter sido utilizado para calcular  ji ji   uoul , ele não é

    mais utilizado, assim, os elementos não nulos de L e U podem ser escritos sobre oselementos correspondentes de A.

    Algoritmo para Redução de Crout: para p = 1, 2,.....,n:

    1. 

    n piulala  pk k i p

    k  pi pi pi ,.....,,1

    1   =−=←   ∑  −

    −  2.  n p jU lalua

      p

    k    jk k  p j p pp j p j p,......1,

    1

    1

    1 +=−=←   ∑  −

    =

    −  

    -  Os elementos  ppl   são pivôs na redução de Grauss e são ≠ 0, se as submatrizes

     principais guias de A são não – singulares.-  Produtos internos devem ser acumulados em precisão dupla.

  • 8/18/2019 Aula 9 SL Direto

    6/13

      74

    A utilização de pivôs pequenos podem provocar erros de arredondamento quecontaminam significativamente a solução. Uma solução é utilizar o pivoteamento parcial,isto é, fazer uma pesquisa na coluna do pivô de forma a encontrar o elemento de maiorvalor absoluto. O elemento com maior valor absoluto é utilizado como pivô, para tanto, permuta-se a linha do elemento com a linha do pivô.

    É importante observar que, quando forem executadas as etapas de substituição diretae inversa, as permutações realizada no pivotemameto devem ser realizados no vetorindependente do sistema de equação linear.

    Def. Matriz de PermutaçãoMatriz quadrada de ordem n obtida da matriz identidade de ordem n pela permutação

    de suas linhas.A pré-multiplicação de uma matriz A por uma matriz de permutação P resulta em

    uma matriz A’, obtida de A com a mesma seqüência de permutações de linhas , realizadosna matriz P.

    Seja o sistema linear b x A   =   e sejam os fatores  LU   obtidos por redução de Croutcom pivoteamento parcial. Portanto, LU  são fatores de A’. 

    Onde: A’= PA

    As mesmas permutações devem ser efetuados sobre b .

    bPb  ='  

    Algoritmo redução de Crout com permutação de linhas.

    Para p=1, 2,.........n

    1.  ( )∑  −

    =  =−=←

    1

    1.......,,

     p

    k    kpik ipipip  n piU lala  

    2.  ( )n pillquetal Achar  ip p p  p ,......,   =≥ ρ  ρ   

    3.  ( )n jaa  j pj  p ,......2,1=←   ρ   

    4.  ( )nk  julalua  p

    k    kj pk  p pp pj pj,.....1

    1

    111 +=−=←   ∑

      −

    =

    −  

    OBS: O algoritmo de Crout com pivoteamneto parcial pode ser considerado um algoritmoestável.

  • 8/18/2019 Aula 9 SL Direto

    7/13

      75

     3.3.5 Decomposição de Cholesky

    Considerando: A  Simétrica e definida positiva

    Tem-set  LL A =  

    Teorema: Se A é simétrica positiva definida então existe uma única matriz L comelementos diagonais positivos tal que t  LL A = .

    OBS 1: A matriz  A é positiva definida se 0> x A xT    para qualquer vetor  x  diferente dezero.OBS 2: Os elementos diagonais de uma matriz definida positiva são sempre positivos.

    0>=   iiiT i   ae Ae  

    ie  – vetor com elemento igual a 1 na posição i e o restante igual a zero.

    A prova do teorema é feita por indução.

    11:   −×−⎥⎦

    ⎤⎢⎣

    ⎡=   nnordemdesubmatriz H e positivaescalar d onde

     H v

    vd  A

     

    A matriz particionada pode ser escrito como o produto:

    ⎥⎥

    ⎢⎢

    ⎡⎥⎦

    ⎤⎢⎣

    ⎥⎥

    ⎢⎢

    −−

    in

    n  I d 

    vd 

     H  I d 

    vd 

    00

    010

    1

     

    vv H  H 

    −=  a matriz H  é simétrica e também positiva definida, pois para qualquer vetor

     x  de comprimento n-1.

     x H  x xd 

    vv H  x

     xd 

    v x

     H v

    vd  x

    v x   T T 

    T T 

    T T 

    =⎟⎟ ⎠

     ⎞⎜⎜⎝ 

    ⎛  −=⎥⎥

    ⎤⎢⎢

    ⎡−⎥⎦

    ⎤⎢⎣

    ⎡⎥⎦

    ⎤⎢⎣

    ⎡− ,

    0> x H  xT  , pois a matriz original é positiva definida por.

  • 8/18/2019 Aula 9 SL Direto

    8/13

      76

    Por indução H, pode ser fatorado como T  H  H  L L   com elementos diagonais positivos.

    Portanto, A pode ser dada por:

     H 

     H n

     H  H n

     LL

     Ld 

    vd 

     Ld 

    vd 

     I d 

    vd 

     L Lo

    o

     I d 

    vd 

    =

    ⎥⎥

    ⎢⎢

    ⎡=

    ⎥⎦

    ⎤⎢⎣

    ⎡⎥⎦

    ⎤⎢⎣

    −− 0

    0

    00

    0110

    11

     

    Para provar a unidade, tem-se:

    ( )1⎥⎦

    ⎤⎢⎣

    ⎡=

     H v

    vd  A

     

    ( )20⎥⎦

    ⎤⎢⎣

    ⎡=

     Ll

     Lλ 

     

    ( )30

    0 2

    ⎥⎥⎦

    ⎢⎢⎣

    ⎡=⎥

    ⎤⎢⎣

    ⎡⎥⎦

    ⎤⎢⎣

    ⎡==   T 

     L Ll

    l

     L

    l

     Ll LL A

    λ 

    λ λ λ λ  

    De (1) e (3) tem-se:

    λ λ 

    λ λ 

    λ λ 

    vlvl

    vlvl

    d oud 

    T T T T 

    ==

    ==

    ==2

     

    Como podemos ver, os fatores l são únicos para λ  positivo. Este procedimento pode serestendido por indução aos fatores seguintes.

    Computação dos fatores

    Suponha a matriz particionado como ⎥⎦

    ⎤⎢⎣

    ⎡=

    5T u

    u M  A onde os fatores T  M  M  L L da

    submatriz principal M já foram obtidos. Os fatores da matriz A podem se dado por:

    ⎥⎦

    ⎤⎢⎣

    ⎡=⎥⎦

    ⎤⎢⎣

    ⎡⎥⎦

    ⎤⎢⎣

    ⎡=Αsu

    u M 

    w L

    t w

     LT 

    T  M 

     M 

    00  

    uw L M    =  

    212 )(   wwst st ww   T T  −=⇒=+  

  • 8/18/2019 Aula 9 SL Direto

    9/13

      77

    Para i = 1, 2, ......n

    Solucione

    ⎥⎥⎥⎥

    ⎥⎥

    ⎢⎢⎢⎢

    ⎢⎢

    −−− 1,11,1

    11

    ...

    ....

    ..

    0

    iii   ll

    l

     

    ⎥⎥⎥⎥

    ⎥⎥

    ⎢⎢⎢⎢

    ⎢⎢

    −1,

    1

    ii

    i

    l

    l

     =

    ⎥⎥⎥⎥

    ⎥⎥

    ⎢⎢⎢⎢

    ⎢⎢

    −1,

    1

    ii

    i

    a

    a

     

    Compute ⎥⎦

    ⎤⎢⎣

    ⎡−=   ∑

    =

    21

    1k i

    i

    iiii   lal  

    Exemplo 2x2.

    ( )

    ⎥⎦

    ⎤⎢⎣

    ⎡=

    ⎥⎥⎥⎥

    ⎢⎢⎢⎢

    ⎥⎥⎥⎥

    ⎢⎢⎢⎢

    =−=

    =+

    ==

    ⎥⎦

    ⎤⎢⎣

    ⎡=⎥

    ⎤⎢⎣

    ⎡⎥⎦

    ⎤⎢⎣

    ⎥⎥⎥

    ⎢⎢⎢

    31

    14

    411

    212

    411

    21

    2

    4113

    3

    2112

    31

    14

    0

    202

    512

    131214

    21

    2

    wwt 

    t ww

    ww

    w

    t w

     

    ( ) 21

    2

    1

    5

    12

    411

    212

    W W t 

    ww

    uw L

     M 

    −=

    ⎥⎦⎤⎢

    ⎣⎡=⎥

    ⎦⎤⎢

    ⎣⎡

    ⎥⎥⎦

    ⎤⎢⎢⎣

    =

     

  • 8/18/2019 Aula 9 SL Direto

    10/13

      78

     Computado e acessado

    iil  T 

    iK l  

    Elemento nãoCalculado

    Pela simetria de A, apenas é necessário se trabalhar com sua metade inferior. Além disso, oselementos de L podem ser escritos sobre os de  A.

    AlgoritmoPara K = 1, 2, ....n

    ⎟⎟ ⎠

     ⎞⎜⎜⎝ 

    ⎛ −=←

    −=

    ∑−

    =

    1

    1

    1

    1.........,2,1.1i

     j

     jK  jiiK 

    ii

    iK iK   lla

    lla

    K iPara

     

    ∑−

    =

    −=←1

    1

    2.2K 

     j

     jk KK KK KK   lala  

    OBS: A decomposição de Cholesky requer 63n   multiplicações, isto é, a metade das

    exigidas pela redução de Crout. Os produtos internos devem ser acumulados em precisão

    dupla, para se obter exatidão adicional.O algoritmo de Cholesky é incondicionalmente estável. Como  A é positiva definida, não hánecessidade de pivoteamento, pois neste caso ela sempre é diagonal dominante.

    3.4 Solução de Sistemas LinearesA partir das decomposições de Crout e Cholesky vistas anteriormente, pode-se resolver

    os sistemas lineares através de substituições.

    Seja o sistema Linear:b x A   =  

    3.4.1 Decomposição LU

     LU PA =  

    bP x LU    =  

  • 8/18/2019 Aula 9 SL Direto

    11/13

      79

      Substituição Direta'bbP y L   ==  

    Substituição Inversa

     y xU    =  

    Substituição Direta 'bbP y L   ==  

    Atualização por linhas

    nil ylb y ii j

    i

     j

    ijii .........,2,1/1

    1

    ,=⎟

    ⎟ ⎠

     ⎞⎜⎜⎝ 

    ⎛ −=   ∑

    =  

    Substituição Inversa  y xU    =  

    1,.......,11

    −=⎟⎟ ⎠

     ⎞⎜⎜⎝ 

    ⎛ −=   ∑

    +=

    ni xu y xn

    i j

     jijii  

    Substituição Direta 

    Atualização por colunas.

  • 8/18/2019 Aula 9 SL Direto

    12/13

      80

    22

    23233

    22

    2'2

    ,11

    ,,'

    ,131

    '3

    ,'3

    ,121

    ,2

    ,2

    11

    1'1

    2

    11

    2

    1

    1

    2221

    11

    ''

    '

    '2

    .

    1

    blbb

    blbb

    l

    bb

    Coluna

    blbb

    blbb

    blbb

    l

    bb

    Coluna

    b

    b

    b

     y

     y

     y

    ll

    ll

    l

    nnn

    nnn

    nnnnn

    −=

    −=

    =

    −=

    −=

    −=

    =

    ⎥⎥⎥⎥⎥

    ⎢⎢⎢⎢⎢

    =

    ⎥⎥⎥⎥

    ⎢⎢⎢⎢

    ⎥⎥⎥⎥

    ⎢⎢⎢⎢

    M

    M

     

    Coluna n

    nn

    n

    n

    l

    bb

    ''   =  

     No final 'b y = , observe que as atualizações foram feitas por colunas.

    Algoritmo para atualização por colunas 

    '

    ''

    '''

    ,1

    /''

    1.......1

    b y

    lb

    b

    ContinueContinue

    lbbb

    n jk Para

    lbb

    n jPara

    nn

    nn

    kj jK K 

     jj j j

    =

    =

    −=

    +=

    =

    −=

     

    As substituições direta e inversa requerem 2η   multiplicações.

  • 8/18/2019 Aula 9 SL Direto

    13/13

      81

    3.4.2 Decomposição de Cholesky

     Neste caso não há necessidade de utilizar permutações.

    b x LL

     LL

    =

    =Α 

    Substituições direta bY  L   =  

    Substituições Inversa  y x LT  =