fatoracao qr pdf

6
Fatoração QR Seja 1 : a) !×! , b) rank = c) ! , = 1, , , são os vetores colunas de (linearmente independentes) A Fatoração QR consiste na decomposição da matriz na forma do produto de uma matriz unitária por uma matriz triangular superior. A Fatoração QRReduzida tem a forma: = ou seja: ! ! ! = ! ! ! !! !" !! !! !! !! onde = ! ! ! e = !! !" !! !! !! !! Algoritmo Clássico de GramSchmidt for = 1: ! = ! for = 1: 1 !" = ! ! ! = ! !" ! end !! = ! ! ! = ! !! end Algoritmo de GramSchmidt Modificado for = 1: ! = ! end for = 1: !! = ! ! ! = ! !! for = + 1: !" = ! ! ! = ! !" ! end end 1 Referência: Trefethen & Bau, Capítulos 7 e 8.

Upload: independent

Post on 10-Nov-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Fatoração  QR  

Seja1:  

a) 𝐴 ∈ ℂ!×!,  𝑚 ≥ 𝑛  

b) rank 𝐴 = 𝑛  

c) 𝑎! ,  𝑗 = 1,… ,𝑛,  são  os  vetores  colunas  de  𝐴  (linearmente  independentes)  

A  Fatoração  QR  consiste  na  decomposição  da  matriz  𝐴  na  forma  do  produto  de  uma  matriz  unitária  por  uma  matriz  triangular  superior.    

A  Fatoração  QR-­‐Reduzida  tem  a  forma:  

𝐴 = 𝑄𝑅  

ou  seja:  

𝑎! 𝑎! ⋯ 𝑎! = 𝑞! 𝑞! ⋯ 𝑞!

𝑟!! 𝑟!" ⋯ 𝑟!!𝑟!! ⋯ 𝑟!!

⋱ ⋮𝑟!!

 

onde    

𝑄 = 𝑞! 𝑞! ⋯ 𝑞!      e      𝑅 =

𝑟!! 𝑟!" ⋯ 𝑟!!𝑟!! ⋯ 𝑟!!

⋱ ⋮𝑟!!

 

 

Algoritmo  Clássico  de  Gram-­‐Schmidt  

for  𝑗 = 1:𝑛  𝑣! = 𝑎!  for  𝑖 = 1: 𝑗 − 1  

𝑟!" = 𝑞!∗𝑎!  𝑣! = 𝑣! − 𝑟!"𝑞!  

end  𝑟!! = 𝑣! !

 𝑞! = 𝑣! 𝑟!!    

end  

Algoritmo  de  Gram-­‐Schmidt  Modificado  

for  𝑖 = 1:𝑛  𝑣! = 𝑎!  

end  for  𝑖 = 1:𝑛  

𝑟!! = 𝑣! !  𝑞! = 𝑣! 𝑟!!  for  𝑗 = 𝑖 + 1:𝑛  

𝑟!" = 𝑞!∗𝑣!  𝑣! = 𝑣! − 𝑟!"𝑞!  

end  end  

                                                                                                                     1  Referência:  Trefethen  &  Bau,  Capítulos  7  e  8.  

Exercício 2 :   Obter   a   fatoração   QR-­‐Reduzida   da   matriz  𝐴  empregando   os   dois   algoritmos,   Gram-­‐Schimdt   Clássico   e  modificado.  Verifique   se   as   colunas  da  matriz  𝑄  obtida  pelos  algoritmos  são  de  fato  ortogonais.  Considere  𝜖 ≪ 1.  

𝐴 =

1 1 1𝜖 0 00 𝜖 00 0 𝜖

 

 (a)  Algoritmo  Clássico  

𝑗 = 1  

𝑣! = 𝑎! =

1𝜖00

 

𝑟!! = 𝑣! ! = 1+ 𝜖! ≈ 1  

𝑞! =𝑣!𝑟!!

=

1𝜖00

 

𝑗 = 2  

𝑣! = 𝑎! =

10𝜖0

 

𝑖 = 1  

𝑟!" = 𝑞!∗𝑎! = 1 𝜖 0 0

10𝜖0

= 1  

𝑣! = 𝑣! − 𝑟!"𝑞! =

10𝜖0

− 1 ∙

1𝜖00

=

0−𝜖𝜖0

 

 𝑟!! = 𝑣! ! = 2𝜖  

𝑞! =𝑣!𝑟!!

=12

0−110

 

   

                                                                                                               2  Exercício  proposto  por  Per-­‐Olof  Persson,  MIT  (2006).  

𝑗 = 3  

𝑣! = 𝑎! =

100𝜖

 

𝑖 = 1  

𝑟!" = 𝑞!∗𝑎! = 1 𝜖 0 0

100𝜖

= 1  

𝑣! = 𝑣! − 𝑟!"𝑞! =

100𝜖

− 1 ∙

1𝜖00

=

0−𝜖0𝜖

   

𝑖 = 2  

𝑟!" = 𝑞!∗𝑎! =120 −1 1 0

100𝜖

= 0  

𝑣! = 𝑣! − 𝑟!"𝑞! =

0−𝜖0𝜖

 − 0 ∙

0− 1 21 20

=

0−𝜖0𝜖

 

 𝑟!! = 𝑣! ! = 2𝜖  

𝑞! =𝑣!𝑟!!

=12

0−101

 

Resultado:  

𝑄 =

1 0 0𝜖 − 1 2 − 1 20 1 2 00 0 1 2

         e      𝑅 =1 1 1

2𝜖 02𝜖

 

Verificação:  

𝑞!∗𝑞! = 1 𝜖 0 012

0−110

= −𝜖2≈ 0  

𝑞!∗𝑞! = 1 𝜖 0 012

0−101

= −𝜖2≈ 0  

𝑞!∗𝑞! = 0 −12

12

0

0− 1 2

01 2

=12  

Portanto,  apesar  de  𝑄𝑅 = 𝐴  ,  a  matriz  𝑄  obtida  pelo  algoritmo  Clássico  de  Gram-­‐Schimdt  não  é  unitária.  

(b)  Algoritmo  de  Gram-­‐Schimdt  modificado  

𝑖 = 1  

𝑣! = 𝑎! =

1𝜖00

   

𝑖 = 2  

𝑣! = 𝑎! =

10𝜖0

   

𝑖 = 3  

𝑣! = 𝑎! =

100𝜖

 

𝑖 = 1  

𝑟!! = 𝑣! ! = 1+ 𝜖! ≈ 1  

𝑞! =𝑣!𝑟!!

=

1𝜖00

 

𝑗 = 2  

𝑟!" = 𝑞!∗𝑣! = 1 𝜖 0 0

10𝜖0

= 1  

𝑣! = 𝑣! − 𝑟!"𝑞! =

10𝜖0

− 1 ∙

1𝜖00

=

0−𝜖𝜖0

   

𝑗 = 3  

𝑟!" = 𝑞!∗𝑣! = 1 𝜖 0 0

100𝜖

= 1  

𝑣! = 𝑣! − 𝑟!"𝑞! =

100𝜖

− 1 ∙

1𝜖00

=

0−𝜖0𝜖

 

𝑖 = 2  

𝑟!! = 𝑣! ! = 2𝜖  

𝑞! =𝑣!𝑟!!

=12

0−110

 

𝑗 = 3  

𝑟!" = 𝑞!∗𝑣! =120 −1 1 0

0−𝜖0𝜖

=𝜖2  

𝑣! = 𝑣! − 𝑟!"𝑞! =

0−𝜖0𝜖

−𝜖2

0− 1 21 20

=

0− 𝜖 2− 𝜖 2𝜖

 

𝑖 = 3  

𝑟!! = 𝑣! ! =6𝜖2  

𝑞! =𝑣!𝑟!!

=16

0−1−12

 

Resultado:  

𝑄 =

1 0 0𝜖 − 1 2 − 1 60 1 2 − 1 60 0 2 6

         e      𝑅 =1 1 1

2𝜖 𝜖 26𝜖 2

 

Verificação:  

𝑞!∗𝑞! = 1 𝜖 0 012

0−110

= −𝜖2≈ 0  

𝑞!∗𝑞! = 1 𝜖 0 016

0−1−12

= −𝜖6≈ 0  

𝑞!∗𝑞! = 0 −12

12

0

0− 1 6− 1 62 6

= 0  

Portanto,  utilizando-­‐se  o  algoritmo  de  Gram-­‐Schimdt  modificado  obtemos  uma  matriz  𝑄  unitária.