ll.LGORlTMOS PARALELOS .t:,LGEBRl\ LI NEJ..E
KARABI DA'I''I'A
Jos~ Vit6rio Zago
Tese apresentada no InstiLuto de ~atcm~ tica, Estatistica c Ciência da Computa -ção da Unj_ vers idade E~>tadual de Campinas como requisito parciaJ para obtenç~o do título de "Doutor em Ciências".
Campinas 1980
Alcebra and i t ' s Applications'', para se~~ comc~=arl~S conslr~ tivos sobre a mat~ria do Capitulo III.
à Fundaç~o de ~nparo a Pes~~isa do Estado de S~o Pau lo - EAPESP, que com seu apo~a financeiro, tDrnou possível realizaç~o deste trabalho.
h:ralc1os L:<_lstcntes 2 . 1 . (' c ' ) )
.
(, --; • " ~ • • • • • .. • " ' • • • • • ,. • • • .J I • Paralelo . . . . • J l . . 1 3 .. : ... -' - Soluçao de Siste~a Triangular .
- Sc;1LlÇ<~o Siste:na Tr iê iag on:d. . } 8.
ele~ Csanky.
3 . l . . 22.
- ~atr1z Determinante . . . . . . . . 22. 3. 3 - l\~gu:;1a:c; Propriedades da >latr-L:é
Deter::ii nante . . . . . . . 2-L J .. ; -A Generalizaç~o do m~todo do Csanky. . .. 3
s.
novo para COH!~JU ta r o polinomio caracteristico de uma
Capitulo IV - Simetrizador, In~rcia e Ques t6es Relacionadas
4.1 - Simetrizadores e suas
aplica-ções ... 45.
4.2- Simetrizadora positiva defini
da e sua Implementaç~o em
pa-ral.elo ... t,g. 4.3 - O M~todo de Carlson e Datta ,
para computa.r a in~rcia de tma matriz não-hermitiana e sua
implementaç~o em paralelo
Capitulo V - Solução em Paralelo dos Pro-blemas de Localização de Raí-zes de um Polinomio e Separa-ção de auto-valores de uma ma tr.1 z
5.1 - Introdução
5.2 - O Algoritmo de Routh-Hurwitz e sua Implementação em parale
56.
59.
lo . . . . . . . . . . . . . . . . . . . 59.
5.3 -- O Algoritmo de Datta e sua Im
plementação em Paralelo ... 62. 5.4 - Um Novo Algoritmo para
resol-ver o Problema de Localização de Auto-valores de urna matriz
de Hessenber~1 ... 7 3.
INTRODUÇÃO:
Nos últimos anos alguns computadores foram construídos, pr i!:J:
cipalmente nos Estados Unidos, com processadores múltiplos. Esses computadores são conhecidos como computadores Paralelos. Os exem-plos de alguns computadores paralelos são: Illiac IV com 64 proce.§_ sadores trabalhando sob direção de uma unidade e Staran com me mória associada e até 32 processadores que podem executar "bit" a
"bit" operaçoes nas 256 palavras simultâneamente.
A motivação para construir esses computadores e claramente conseguir uma velocidade alta na computação.
Uma idéia básica sobre computadores paralelos e que os pr~ gramas usando P processadores centrais deverão trabalhar ~ vezes mais rápidos do que os programas idênticos usando só um processa-dor. Computação usando computadores paralelos é chamado computa-çao paralela.
Os algoritmos numéricos ordinários(muitas vezes referidos corno algoritmos seqüênciais) são formulados de maneira a não pod~ rem aproveitar os processadores múltiplos dos computadores paral~ los. Então existe agora urna grande necessidade de criar al9orítmos eficientes em paralelo reformulando os existentes ou descobrindo algoritmos novos. Existem na literatura algoritmos em paralelo p~ ra resolver os problemas básicos de Âlgebra Linear tais como: mul tiplicações de matrizes, computação de um polinômio, solução de sistemas lineares{especialrnente nos casos particulares como siste
2 .
ma tridiar:ronal e sistE~ma. triangular), ê1 inversao de matrizes,etc.
Todavia, ainda nâo existem algoritmos em paralelo para mui tos problemas importantes. Entre eles destacamos os problemas de localizaçâo de raizes de um polin6mio e separaçâo de autovalores :le uma matriz (esses problemas surgem r:as várias aplicações,
espe-cialment~e no estudo de estabilidade de sistemas lineares dE~ contra le), computaç~o de simetrizadores de urna matriz(sirnetrizadores t~rn um papel significante na resoluçâo do problema num~rico de autova lares) e em geral na computaçáo de autovalores de uma matriz ou raizes de um polin6mio.
A finalidade desta tese e dar urr: estudo breve de algoritmos em paralelos existentes e depois propor algoritmos novos e eficien tes para resolver alguns dos problemas mencionados acima.
Especificamente, no Capítulo I I, estudamos os algorí tmos em paralelo existentes. O mais importante desses algoritmos ~ um
al-~ .,.. +- d C - . - ,.. .. , ~ to..-.. , . - ··1 . . c· -t ,....,,, ~ • A -·b· , .. .l r- s· -~j
•3or l ~mo · e sanKy .:h''-a rc..;:::.O.u.tçac ~o s L:> ,_,_: ... a. X·- ·• Csan <.y 1 _ mos.
trou que o sistema Ax=b por.1e ser reso1vido em paralelo usando so-mente
O(log~)
passos, onde n~a
ordem do sistema.Tamb~m, o mesmo número de passos e necessário para inverter uma matriz A de ordem n ou computar o determinante de A.
No Capítulo III generalizamos este resultado importante de Csanky no sentido de que mostramos que o problema de computar a i,!2 versa de uma matriz A ou problema de computar o polinômio caract~ ris ti co de A podem ser resolvido em O
(log~)
passos mesmo que osel~
mentes de A não sejam números reais mas rratrizes de um anel comutati-vo. Os resultados de Csanky, então seguem como casos especiais.Propomos também aqui um novo método seqüência! para compu-tar o polinômio característico de uma matriz de Hessenberg e de-pois implementamos este método em paralelo. Estabelecemos o nGme-ro de passos necessários da ordem O(logf) neste método também. Sa be-se que 1 este método seqüência! JJ.rece cstr]vel c~nqJanto CJUe o ":létodo
de Csanky é conhecido como instável por causa da necessidade de computar os traços de potencias da matriz A [4ll.
Os resultados desse Capítulo dependem de um conceito novo chamado "Matriz-Determinante" (denotado por M.det A) introduzido pela primeira vez na literatura nesta tese.
Deduzimos algumas propriedades importantes e interessantes da M.det A e depois aplicamos essas propriedades para obter nos-sos resultados.
No Capítulo IV, estudamos simetrizadores 1 inércia e os pr~ blemas relacionados. Aqui damos as implemtações em paralelos de um método de Datta \lO] para computar simetrizadores e de um método recente de Carlson e Datta [6
J
para computar a inércia de uma ma triz de Hessenberg. O problema de computar a simetrizadora posit! va definida é tratado (seqüência! e paralelamente) aqui pela pri-meira vez na literatura.No capítulo V 1 tratamos dos problemas de localização de raí
zes de um polinômio e separação de autovalores de uma matriz com algoritmos paralelos.
Implementamos aqui em paralelo dois algoritmos de localiz~ çao de raizes de um polinômio: Um o algoritmo antigo e bem conhe-cido de Fout.~[201Vo1.ri]e o outro1um método recente de Datta
[9
J
usan4 .
do as matrizes de Hankel dos parfimetros de Markov. Al~m disso,nes te Capitulo propomos um algoritmo novo(seqil~ncial) ~ara resolver o problema de separaç~o de autovalores de uma rnatrizdeHessenberg e discutimos sua implantaç~o em paralelo.
Todos os
m~todos
acima precisam de passos da ordemO(log~)
e as deduç6es de todos esses resultados dependem de resultados ob tidos no Capitulo III.UM ESTUDO DOS ALGORITMOS EM PARALELOS EXISTENTES
2.1. INTRODUÇÃO:
Neste Capitulo introduzimos alquns conce:!tos básicos de Computaç~o em paralelo e fazemos um breve estudo dos algori! ~os paralelos existentes de Âlqebra Linear. ~osso estudo ~
ba-seado no artigo recente de Heller [2C ] e muna bibliografia pre 8arada por Poole e Vogt [ 3 ::i 1
-Notamos aqui aue ainda nao existe nenhur~ algoritmo em paralelo na literatura para resolver o problema de Localizaç~o de r a
·r
zes de um polinômio ou separaç~o de aut.ovalores de uma matr-iz. r-;esta Tese tratamos destes nroblemas num capitulo poste-rior.
Fazemos as seguintes hip6teses b~sicas:
(i) Temos acesso a qualauer nfimero de processadores idênticos. (embora em mui tos casos daremos limi taçôes aos pro-cessadores).
(ii) Qualquer numero de processadores e mem6rias po-dem ser usados em qualquer tempo.
(iii) Qualquer processador pode executar qualquer uma das quatro operações aritmêticas em qualquer tempo, mas
preces-sadores diferentes podem fazer operações diferentes ao mesmo tE>.JnpO.
6.
(iv) Não
é
gasto nenhum tempo para comunicação dE! dados entre processadores e me>JnÓrias.
{v) Instruções são sempre d.isponiveis para execuçao quando necessárias e nunca são paradas por unidades de controle.
(vi) Cada operação gasta um mesmo tempo, a que nos re ferü'los como um passo unitário.
Urna motivação básica para o desenvolvimento de aJ.go-rltinos em paralelo
é
se conseguir urna maior velocidade de com-putcção. Então~ a eficiência de um algoritmo paralelo depende d.e quão rápido o algoritmo é ern comparaçao com o algoritmo ord in~rio (sequencial) correspondente.
A velocidade de um algoritmo sequencial depende do ~
nu mero de operações aritméticas necessárias ao processo, enquanto a velocidade de um al~Jori tmo paralelo
é
determinada pelo nume::-o de passos unitários. Um resultado básico para os dois e:Se pelo menos q operações s~o necessirias para com-putar :.un numero ~ Q então qualquer algoritmo usando p
proces·-sador para computar Q precisa de pelo menos m (P ,q+l) nas-~:
sos, onde e m(P,N) é aproximadamente rn(P,N)
=
N p + log(P/2) para p<
N rn (P, N) = [ log N ] para P>
N • Se Tcial) e T p o tempo de execuçao do mesmo algoritmo usando processares, então
é
uma medidade melhoramento do tempo de execuçao usando-se paralelismo e
E
=
S/p
p p
é
a medida da eficiência.2. 2. ALGUNS RESUL'l'ADOS BÂSICOS:
p
2. 2 . l • Dado { x} , x n pode ser computado em tempo [ log n ] usando-se apenas dois processadores:
DEHONSTRAÇÃO: Um prcxessador computa sucessivamente
2 4 8 2r
x , x , x , .•. ,x , ••• ,enquanto outro processador acumula o
-produto das potências apropriadas de x a medida que elas sao geradas. Cada têrmo no produto acumulado corresponde a um 1. na representação binária de n •OBSERVAÇÃO: A computação de X n precisa de log n passos
mes-mo que um número infinito de processadores seja usado. A mesma delimitação pode ser conseguida apenas com 2 processadores.
2.2.2. A Soma
usando-se N 2
N
L
ai pode ser computada em (log N) passos i=lDEt-10NSTRJ\ÇÃO: Escrevemos N a. 1. + ( N \ .,
i~n
ai) \,/
8. , n ==Aplicando .:~ssa decomposição repetidamente, a soma
N
-
~N
2
compu ta da e..m log N ] passos e ·-2-· orocessores sao necessa-rios.
~ 2 3 A] ., trn d t. "F . " •. l
-1.. · · - . . _gorl. o o 1po an J.n cornputaçao Cle recursao:
AN onde f o t
~
aritméti
-
a1 o a 2 o, ••• , aN e uma operaçao
(+ x) pode computado log N
[
Nl
c a OU. ser em passos se
2 processadores são usados na computação.
DE.NIONSTRAÇÃO: Daremos urna demonstração no caso especial N
=
8 . O caso geral ~ an~logo. A demonstraçãoé
melhor entendida se-guindo-se a seguinte ~rvore:2.2.4. ~amputação de ITERACÕES
Dada a relação recursiva onde f (y)
e uma função racional e V ~ Ü
=
X I pode ser computado emO(loq n) oassos.
DEMONSTRAÇÃO: Consideremos primeiro o caso ouando f(y) e
-
li-near,istoé,
f(y)=
ay + b , neste casov
=
a( . . . a(ax + b) ·n + b...
) + b n-1 i n l:: 3 X + ,_ I a i=O n(,
i_an-10
=
a X +\L)
a - 1=
a n( 1 X +__!2_)
- ( _ _ bl
\ \ a -lj
\ a - 1 )r~ c ]_ a r o cr \]. (• v . n node spr comnutado c~ r loq n . 1 + 2 nassos .
Se ~ um função linear de v . 1 , • • • 1 · : . 1 a com r: u
• 1 - ~ . l. -!'1
+.:.a c ao
é
r:: o i s compl i c .. da, r:1a s a inda C ( loq n) nas sos s~') neces sarÍ'IS.
2. 2. 5.
Então dada a relação recursiva
e a condição inicial
10.
y
=
x , pelo me onos [n log d
l
passos são necessários para computar Yn.DEMONSTRAÇÃO: O resultado segue do resultado anterior obser-vando-se o fato de que o grau de v ~n e
.
2.2.6. O Produto escalar de dois vetores:
ou
O produto escalar de dois vetores com n componentes pode ser computado a~ (log n) + 1 passos.
DEMONSTRAÇÃO: Computamos n multiplicações no primeiro passo, depois adici.onamos os n produtos em (log n) passos.
2.2.7. O Produto de Duas Matrizes:
O produto de duas matrizes A e B A de ordem m x n e B de ordem n x p pode ser computado ern (log n) + 1 passos.
DEMONSTRAÇÃO: A matriz de produto
é
de ordem m x p e cada com ponente dessa matri.zé
um produto escalar de dois vetores com n componentes. O resultado então segue do resultado anterior.OBSERVAÇÃO: O resultado acima foi generalizado por Kuck e Maruyama [ 32] da sequinte maneira:
Se tA, ~ e t 1 passos sao necessárlos para fazer a-dições, multiplicações e inversões de matrizes de ordem N , en tão qualquer expressão matricial envolvendo n matrizes de or-dem N (sem inversão) pode ser computada em 2 [ log n] [tA+ tm] passos. Se inversões são necessárias então
[ log n I ( 2tA + 3~ + t
1) - tm + t1 passos sao necessários
2. 3. COMPUTAÇÃO DE UM POLINCHIO EM PARl.,LELO: (a implementação do algoritmo de Horner).
O algoritmo de Horner para computar o valor de um po-linÔmio p(x) num ponto dado foi um dos primeiros métodos im-plernentados em paralelo.
Estrin[S,pp.132ldeu um algoritmo para computar p (x) e..rn a aproxi·-madamente 2 [ log n passos.
Seja p (X) -n
I
i=O ::t a. x lentão o algoritmo de Estrin computa recursivamente
l
n/21
+ 1 p(x)=
q(x) X + r{x) [ n/2- 11
onde q(x) =I
ai+ [n/2 + lJx i i=O e [ n/2 ] r(x) =I
i ai X i=ODorn [ 19 l descreveu um a1qori tmo crue decompÕe o po
~ ~ '
-linômio ell'. k sub polinômios e computa cada polinômio usando
o método padrão de Horner:
seja qi(x)
--k-1 enti-i:o p(x) =I
i= O m-·
(n-
i)/k rnI
a "+k-i :j=O J ' ·' i q. (x) x 1. kj X coml
e i -o,
. . .
,k-·
1 .l •k processadores este algoritmo
pode ser :i.mplementado e:-11 2n/k + 2 log k passos.
Munro e Paterson [31 ] mostraram que p (x) pode ser 1/2
computado em menos que log n + O ( (log n) ) passos.
O algoritmo pode ser descri·to da sequinte maneira: Seja D == _1:_ __ r (r + 1) + 1 , e
r 2
1-J ,= l og ( n + 1 ) J
Suponha que D < p ..:;;; D •
r-1 r
O polinômio pode ser escrito na forma:
p(x)
=
qo(x) + ql (x) X p-r 2. ( ) 2. 2 + q 2 X X p-r +onde qi (x) sao polinÔmios de grau menor que 21:" 1:.1-r
Então para computar p(x), computamos {q
seguinte multiplicamos por potências apropriadas da x e de-pois usamos mais r passos para adicionar 2r termos.
Podemos mostrar por indução que o algoritmo precisa de (p +r + 1) passos no máximo.
PROVA: Para r~~ O e p
=
1 e o polinÔmio de grau 1pode ser computado em 2 passos.
#
Suponha que o resultado e verdadeiro para todos os graus menores que n ; então {qi} pode ser computado em tempo
(p -r) + (r -1) + 1= p desde que
As potências de x também são obtidas neste tempo. Então o alqori trno precisa de p +r+ 1 passos. Como
{ r ( r - l ) ) / 2 < p podemos af i:t:mar que
1/2
O tempo total ~ log n +(2 log n) + 0(1) •
2.4. COMPUTAÇÃO DE INVER!:.".:\ DE UMA MATRIZ
E SOLUÇÃO DE SISTEMJ\ DE EQUAÇÕES:
Por algum tempo se acredi t.ava que o processo de elim!_ nação de Gauss-,Jordan seria o mF.ühor método para resolução (em paralelo) do sistema Ax
=
b e inversão da matriz A.14.
Intuit.ivamente1
é
claro que qualquer algoritmo recur-sivo como o processo de eliminação precisa de pelo menos n pa~ sos.Recente.mente fo:t most.rado por Csanky { 8
l,
que o número de passos necessários para inverter urna matrlz de ordem n , o número de p;"i::;sos para computar o determinante de urnama-triz de ordem n e~ o nümero de pEl.ssos para rE'.!Solver n equaçoes lineares com n incóqni t.as, são todas da mesma ordem de magn}:, tude.
Ern cada caso, sao necessários, O (logft ) passos, dado
um numero f tni t.o r:'ie D:CC'!cer:sadores .. Nenhu.rn resultado melhor do
que esse foi encontrado ainda.
Abaixo nós explicamos o método de Csanky para resolu-·
-çao do sisteJna
Ax
=
bSeja f { z) z n-1 + ... + C 1 z+ ..
c
n-... n
O polinômio car·acterist.i.co de e seja ;,:._,~,
l
'I'
(i) Compute o vetm: tr• , . ._ r-r C ) 1 à · t t
1, '"'2,. , .• , 'n reso. ven .o o s1s .. ema rl angular l
o
o
o
o
\
I
~l
\ -s.
.
\
l sl 2o
' ' l c ~1 3!
~2 = I/I
\
i s r,-1 5 n-2 sl n f"" '-n -s n(i i) Compute A-1 usando a fórmula
-1
A C
2 A + C l I ) / C
n- n- n
(iii) Compute A-l b •
Akl 1
com
Para determinar o numero de passo, notamos que ~ k ~
3 n(n )
2
n pode ser computado em log n(log n +1) passos processadores. Como n tr(A)
=
~a .. , podemos . '1 l l ]_= computar s. ,l,;;::i.<::n1. em log n passos usando
2
n
processa-dores.
O sistema triangular pode ser resolvido em 3
O (n2)
(log n + 1) (log n + 2)/2 passos usando n +
proces-68
sa.dores e A -1 pode ser computado em (log 2 n + 2) passos usando 3
processadores. Finalment.e computação de -1 b
preci-n a X
=
Asa de (log n + 1) passos e n 2 processadores ent~o concluimos que, o processo todo precisa de ap~nas O(loq n) passos. 2
Embora, o método do Csanky citado acima
é
realmente in teressan te teor .icamente 1 o métodoé
instável numer icarnente. Oserros de arrf~dondarnento cometidos na computação do traço de A causam problemas de instabilidade em mui tos casos r L 4lj. ,
Para se obter estabilidade, temos de usar os métodos padrÕes de eliminação: Gauss-Jordan 1 I.,U ou decomposição QR.
16.
SOLUCÃO DE: ~;rSTE!v1~\ THIANGULhF~:
Nessa secc;:ão consi.dAramos o r_)robler.ia de computar a
so-lução do sistema />.x ~" b j em paralelo; onde A é uma matr i.z
triangular.
r.
fácil ver que a solucão sequencial do sistema aci-ma precisa de n"'-· ')do siste .. rna foi cons.íderada p.r.irneL~('; por Heller [22] que pode ser computado em
')
O (1oq'";!) passos com
dores.
em paralE:lo que mostre,_ processa
Est.e resul taào fo5. melhor-ando depois. 1\gora sab(;mos que a solução x pode sE;r compu t.;,,-la em O(log n) passos usando-2
se processadores. Na realidade ~ oosslvel mostrar [ 7 1
que com algumas rest.rições, x pode ser computado em
passos com o mi'11ero de processadores abaixo de n 3
Discutiremos aqora mais alguns alqorí t.mos.
1) Algoritrno (Boroàin f'! ~1L:nrc l 51) ( Al
o \
Seja ll. ::::.A)
•\
A~, L .., .:. O (loq n) onde A1 e A3 sao matrizes trianaulares inferiores e A ~ de
FASE I
FASE II
Compute simultaneamente
r.iultiplique y por A-1 1 •
Então t(n) , o tempo necessário para inverter uma matriz triang~
lar A de ordP~ n de acordo com o algoritmo acima,
é
dado por:n 2
t(n) ~
T(--2--) + [ 2 log n ]
=
O(log n)Observe que o determinante de urna matriz triangular pode ser com putado em paralelo em loq n passos.
2) Outro e o método criado independentemente por Heller (22].
Suponha que A tem a diagonal unitária e seja A
=
I - L onde L é uma matriz triangular inferiorX
=
(I - L) -l.b já que Lno
2 n-1
=
(I+L+L . . . -+· IJ ) • b=
(I+L2p-l) (I+L2P-2 ) .•• (I+L)bonde p -
!
log nl
acu-r.1ul.:.nào-se os rJrcdutc:; ele acordo com a fórmula acima. O al9orítmo :;)r:)de ser efetua.do
no máximo proces3adore.s.
2. 6. SOLUÇÃO DE SISTEMA TRIDIAGONAL:
~)
em p + p passos
18.
c.sando
O p:rotllerna de: resolver o sis·tema Ax == v onde A é uma ma triz tridiagonal surge e1n várias aplicações orãticas e por isso, daremos aqui um tr3tamento seoarado deste problema.
Na literatura existem vãrias maneiras de se resolver es te pronle:r>a c.;rn pa:t·a} elo. O problema i:oi estudado nrimeiramente r:.or Stone ,-. ~38~ .., crue no.strou que
b, .L d. == b. J J (. a 11d. J J . ' J--u. c ./d. J J J
A ::::. IJDi 0 cbti.do ::'ac i lmentt::! oor:
2<J<n
:2<j<n
l
!
on:le A
Stone sugere a seguinte maneira de computar os elementos da diago nal de D (em paralelo).
Defina
Po
-- l pl -· bl P· -- b. Pj-1-
a.c. 1 o J J J J- ~j-2 d. - pj./Pj-1• JUma vez a matriz D é computada;as matrizes L e U sao com pletamente determinadas por D e, o sistema Ax
=
v, pode então ser resolvido; resolvendo-se os dois sistemas bidiagonais:LW == v e Vx
A computação de D usando o método acima exige O(log n) passos. Os sistemas bidiagonais podem ser resolvidos usando-se relações recu~ sivas de primeiro grau, e então a solução de cada sistema precisa
-1
de O(log n) passos. Finalmente D W pode ser computado em apenas um passo, usando-se n processadores. Então o número total de passos nes te processo é de O(log n).
O processo de Stone falha quando o pivotamento é neces-sário na fatorização de A. Isso pode ser evitado usando-se a foto-rização QR de A, em vez da fatofoto-rização LDU. Num artigo recente Samch e Kuck '37' mostraram que a fatorização QR de uma matriz tri diagonal pode ser obtida em O(log n) passos com n Processadores.E~
tão neste caso também, podemos resolver um sistema tridiagonal em O(log n) oassos usando n orocessadores.
Alternadamente,Traub r39, su~eriu dois métodos iterati
-·- .J j
vos:
O método LR em paralelo e o 1.1étodo de Gauss em paralelo. Descrevemos abaixo o método de Gauss:
20.
Suponha que os elementos da diagonal principal de A sao nao nulos. De fato, podemos assum:Lr sem perda de
generaliza-çio
que eles s~o unitirios.Seja A -- "~L " + T -- + A R
onde AL e urna rnatr iz cujos elenentos na o ..• nulos sao
-que ficam na primeira subd:iaqonal e os elementos na o
AR ficam na primeira subdiaqonal sunerior. Sejam E(o), f(o) e x(o) dados
Então
-
., TI!(i) (I ALE (i --1) ) E (i) ....
.t-.R ' i= 1
. . .
• 1dados
dados
(j_i) {I
-
ALE{H))f(i) == v-
AL f (i-l) .... '-( i i i ) X ( i ) -- f ( N ) - E (H ) X ( j_ - l ) , i == l • • • P (o) e. , j·=2 ••• ,n-1 J (i) e 1
=
c1 , i= 0,1 •.• M {i v) e. (i)=
J c. J (i -1) 1-·a. e. 1 J J-. f (.o), J .=
2. . .
n J f (i)=
1 bl , i= O ••• N i"" 1 j ::: 1 M n-1 somente os nulos de 1. . .
N(v) dados (vi) f~i) ·-J b . - a . . f (i-1) 1 J J J·-1-a. e. l{M) J
J-x~o)
j=
l , . . . rn-1 J (i) X=
f I i= 0,1 . . . p m m i.= 1 j=
2 (i) x. -· F (N) ~ j {H) (i·-1) e. xJ.+l J J N n i= 1, p j = l , n-1~ claro que o algoritmo acima
é
um algoritmo paralelo, pois, to-dos os componentes de E(i) podem ser computado em paralelo a partir dos componentes de~ interessante observar que o algoritmo paralelo acima nos permite resolver um sistema tridiagonal num tempo independe~
te de n , o numero de equações e incógnitas. O tempo depende so mente da domin5ncia diagonal da matriz A , os erros iniciais e acuidade final exigida. Mas ainda, a norma do erro ~ reduzida a cada passo da iteraç~o.
Cl\.Pl'I'C'L~) III
O CONCEI'rO D2\ MA'T'RI Z DETER~HNA~JTE E A GENEPALI ZAÇÃO DO t1i::TODO DO CSA.NSKY
3 .1. IN'rRODUÇÃO:
Neste capí ttüo ir.-troduzi.rnos um novo cone e i to chamado Matriz r~.eterminam':e de t:ma rt:dtr i.z cujos ele..rnent:os pertençam a um
anel comutativo X Usando es·te generalizamos os métodos de
Csansky oara .inverter uma matriz l\ e comp11t.ar o polinômio
ca-r a c ter istico de A • .r-1ostrarnos que os i!létodos de Csansky citados
no capitulo II valem também p;.:~.ra mat;rizes sobre um anel comuta t i vo X
Implementamos tarnbém e:m n<J.ralelo o método de Datta &
Datta [ lSJ para (::Omputa.r '.:) polinÔ;:r•io caracterlst:.ico de urna r:<a-triz de Hessenberg.
3. 2. !v'I.ATRIZ DE'l'ER!vl:INANTE:
/>i uma matriz de ordem n sobre X, onde X e um anel comutativo de matrizes de ordem n cujos elementos
es-tão no corpo numérico F • Seja ( 711 • A= I
'
Anl· Aln)
• A n n ondeA . . C X V ij l.J e.g. DEFINIÇÃO
=
(~:
11 • . • • Aij anl Matriz-Determinanter)
nn i j onde a ..c
F 1]A matriz determinante (notado como M det A) de uma matriz A será definido como uma matriz de ordem n sobre o
a-nel X tal que
M det A
=
IA. ·I
l.J
=L
(Sgn n}Aln(l) ··· Ann(n}1T
onde a soma é tomada sobre todas as permutações de elementos de
S
= {
1 . . . n }Cada termo da soma
é
o produto de n elementos, e ca-da elementoé
tomado de uma linha e uma coluna diferente de A . O número né
chamado ordem de determinante.Se
A
= (
All Al2)
A21 A22
All A12 então e.g. M det A
=
24.
onde B
é
uma matriz 2 x 2 E X e todos os elementos de B es tão no corpo numérico F •OBSERVAÇÃO: Observe que a definição acima nao vale se a matriz A é definida sobre um anel não-comutativo; pois, neste caso o produto • • • A ( )
nrr n nã.o pode ser definido.
3.3. ALGUMAS PROPRIEDADES DA MATRIZ DETERMINANTE
PROPOSIÇÃO 1
T
M.det A
=
M.det A .Na expansão de M.det A , cada termo ~ da forma
(Sgn ·rr) Al'IT (1) A2TI (2) •. • Anrr (n) Também na expansão de M.detA T os mesmos fatores vão aparecer, mas eles serão ordenados de acor do com indices das linhas de A 'l' , ~sto . e ~
das colunas de A .
Então cada termo da expansão de ma
de acordo com indices
T
M.det A será da for
-1
(Sg mr ) ATI-l(l)l ATI-2( 2 ) ,2 .•. ATI-l(n) ,n
onde 1--.ij
e x ,
como Sgn(n -1 )
=
Sgn rr , concluímos quePROPOSIÇÃO 2 : Se B e uma matriz obtida de A pela multi-plicação de uma linha (coluna) de A por uma matriz C C X
então
M.det B
=
C(M. det A)Cada termo da expansao de M det A contém so uma ma-triz C E X de cada linha de A . Entâo a multiplicação de uma linha de A por C introduz a matriz
c
em cada termo deM det A • (observe que A
é
um anel comutativo)Então M det B
=
C. M. det A .e.g.
Seja onde C C X
então
=
C M. det A .
PROPOSIÇÃO 3 : Se a matriz B sobre X
é
obtida de A pela troca de quaisquer duas linhas (ou colunas) de A ,26.
DEMONSTRAÇÃO Trocar dua.s l:ir.rLas ,.1e A t..e.m o efeito de
tro-,
car duas linhas lndices dos elemE::nt:os em A . Se c e urna
per·
-mutação trocando esses 1ndices, essa operaçao tem o efeito de trocar cada permu taç2i.o r: pela permutação 110 • Como
a
e uma ...perrnut:ação impar, .isso t.em um e f e i t.o de trocar o sinal de cada
•.. termo na expansa.o de EXEMPLO: M. det. A M. det B Então, !-1. det B
-/Al. ( . J..=
A-., LJ.. \ l\\:·31
/ / A21 It
.A. l. . l\
'~'']
.) .. l'o.l ') .'·
~_"\ 3 ')..
l-\2 2 Al2 A32 -!~l. det. 11.. • A.,3"'-.,
~ \ I A] . ., .:..))
I A.p I ' - ' /l
I I I onde cada A .. lJ são matrizes 3 :x: 3 em X .PROPOSIÇÃO 4 Se A tem duas linhas (ou colunas) iguais
en-tão M. det A
=
O •DEMONSTRAÇÃO Este resultado segue da proposição 3 •
M det A
=
-M det A=> M det A
=
O (matriz nula em X)EXEMPLO:
A
=
- O matriz nula em X .
PROPOSIÇÃO 5 : Se B
é
uma matriz (sobre X) obtida de Aadicionando-se um múltiplo de urna linha (coluna) com outra, então
M det B
=
M det ADEMONSTRAÇÃO Suponha que B e obtida de A adicionamo-se o múltiplo C E F da linha K à linha j .
M det B
=
I {
(Sgn n} Aln(l) •.• (Aj'IT(j) + cAKn(j)) • .. AK'IT (K) .•. An;r (n)}L
Sgn 'IT Al n(l)+ c
I
Sgn rrTI
Aln(l) .•. AKn(j) •.. AKn(K) .•• Ann(n) .
28.
~
A segunda soma no lado direito desta equaçao e o determinante de uma matriz cujas linhas j e K são iguais. Então essa parte
é
zero. [Proposição 4 1 • A primeira soma é igual ao M determi nante de A .EXE~1PLO A
=
PROPOSIÇÃO 6 : Se A tem uma linha (ou coluna) nula então H. det A = O •
DEHONSTR.l\ÇÃO Pela definição de
r1. det A
=
I
(Sgn rr)Al'IT(l)""" Ann(n) ... (3.3.1)'IT
onde uma matriz é nula. Isso implica que M.det A
=
O matriz em X .PROPOSIÇÃO 7 Se A e B sao quais~1er duas matrizes sobre X , então
M. det (A.B)
=
M. det A. M. det B=
M. det (B.A)DEHONSTRAÇÃO H. det (AB)
=
L
'IT onde A .. lJ ( Sgn 'IT) Al ( l) • • • ;r Jl. nTI n ( ) Bl (, } ••• B rr ~ nn ( ) n r~x
e Xé
um anel comutativo~então M. det (AB)
=
=
M. det B. M. det A - M.det A M.det B=
M. det (B.A)Porque M. det A , M. det B sao matrizes em X então, elas sao comutativas.
PROPOSIÇÃO 8 : A. ""' .Lll \ Seja I \
'
)
A /n.n/
onde A . . 1J E X/
X y \ \ I Seja E=\p
I f QJ
onde X, Y, P, Q sao blocos da partição de E . Se P, Q comutrun então,
det E
=
det(M. det E)DEMONSTRAÇÃO
/x
y \ det E = àet ( P\.
o )
./
= \,,
/X
' detI
y'\/I
) \ -1 det \ p\.
Q ,~/ \ \,, -Q p / ' -1(X -
~Q p\
o
:)
o')·
I 30.= det(X - YQ-lP) det Q
=
det{XQ - YQ-lPQ)=
det(XQ - YP)=
det(M. det E)EXEMPLO 1 :
(x
\y \
E
--
I i I onde X, y sao comutativos e P, Q \ PQ)
sao comutativos. ( all:22)
=C
:)
Seja X=
\ a21
pc
o \
º
=Cll
:2J
y=
1)
d21 M. det E=
XO - YP/
= (
alldll + d21 -l '\;_21d11 + a22d21 det(M det E)=
(3.1.1)32. a11 1 l
o
det E=
a21 a22o
1 1o
dl1 1o
1 d21 d22=
+claro que (3.3.1.)
é
igual a (3.3.2) • então det E=
det M det EEXEMPLO 2
X y
E -· onde X, y sao
-
comutativas e P, Qp Q
-
-na o sao comutativas. (a11 1~
=C
o\
Seja X=
y1)
\a21 I a22)cll
:2~
Q=
(dll
1\
p=
c21 d21 d22)EXEMPLO 3
E onde X, Y nao sao comutativas, mas
-P, Q sao comutativas. Seja p=C :)
~·! det E Q=
(dll
~21
(3.3.5)34.
M det E
=
XQ - YP=
(3.3.3)
al1 1 1
o
det E
=
a21 a22o
1cl1 1 dll 1
c21 c22 d21 d22
=
(3.3.4)
Na expressao (3.3.3) nao existe o termo a11d 22 que todavia está em (3.3.4)
a11 1 b11 1 det E
=
a21 a22 b21 b22 1o
d11 1o
1 d21 d22 (3.3.6) Claro que (3.3.5) é igual a (3.3.6)então det(M det E)
=
det Ece a X X
é
um anel comutativo de matrizes de ordem n • Todos os elementos demérico.
Seja f(À}
=
M det (ÀI -A)=
então dentro do corpo
nu-+
c
e C n
*
O i e sugeriu um método para determinar os36.
M det A
*
O , D.K.FaddeevC i 'c
..;> (quando eles peri:e_!2
cem ao corpo numér i.co F) do polinômio caracteristi.co f().) NÓs mostramos agora que o mesmo método pode ser apl~ cado para se computar C. E X •
l.
Daremos também um método para achar do método de csanky
A -l de A usan
Definimos B como M. adjunto de A • Essa
é
uma ma triz cujo o elemento (i, j)é
o cofactor decoeficiente de A .. J -~ na expansao de M. det A 'Temos AB
=
M det (A). I '\
/ Ilo
:::(
Il E X IrJ
tal que I-\
o
\'
' onde EXEHPLO: A. . , isto e o 1.] por linha j . (3.4.1)(1
o \
Il=
\\ o
\)
l / I /POR DEFINIÇ"g;O: Bll
--
A22 B.> 1...
...-·
!'..'~1 / .. 8 21--
-
Al2 822 -· All =(All
., / '\ I 1>.12 \~
A22·-
Al 'i ' ')
. <. \ ABI
A2l A22
/
I 1'.21 All///
/ .,
=
M ~ det (..l\) • Ieste resultado ~ verdadeiro nara qualquer matriz e assim e ver dadeiro para a matriz (~I - A) .
O M. adjunto B(\) de 0. I - A) n-1 n-2 B(A) =A B 1 + ~ B2 ..• + Bn onde B. l EXEMPLO: sao m.atrizes
=i
All A\
A21 A 31 n x n -~12 A22 A32 sobre X e À. C X • l A13 \)
A .. >3...
A3338.
(
- All - Al2 - Al3>..r -
A _,\
- A21 1\ ) - A22 - A23- A31 - A32 À - A33
*
B (,\)*
*
*
*
*
Agora {À I - A) B (À)=
M det (À I - ld . I n-1 n-2 ou, (À I - A) (À B 1 + À B2 + ••. + Bn} + ... +C 1 >..+C)I n- nonde I
é
tma matriz de ordem n sobre X .Tomando os coeficientes das mesmas potências de X em ambos os lados temos
Bl
=
I B2 - AB 1=
cl I B3 - AB 2=
c2 I (3.4.2). - AB=
cn
I nI•Iultiplicando essas equaçoes por An
,
An-1...
I respectiv~ mente e somando temosf (A)
Isso most~ra que A satisfaz a sua equ::1r,;ã:J ca.r:·acterist:ica.
( 3 ) Corno sa r1 r:: Seja Bl -- I sobre -·l A Jl.l ... i~:, ., A2 -· AB2 I <
I
I
A=
lB " n t n \ -l ··· - (C l t: n n -1 cl c~, ·-,.,,_
n - n(tr AB} ,B t r {l\B ) n n tr(AB ) n n n - -- (C ) n ex.ist.e. onde ---·· ·-· ·-,..., ... n X tra~~o de A E X; B2=
Al +c
1r
__ .l___ ( tr l\I'L,) B3 -- A2 +c
2r
•) '-
L. ;;. 1--
A2-
(tr ABl) 2 1 (l\B )o
ABn I -·--tr ;=
+cn
n ne n~o singular ent~o a inver
NÔs damos aqcn.·a o numero ele operaç~oes necessárias pa-r a imnlenw:ntação e1n narale.l.o deste alqori tmo.
Seja T um operador definido como segue:
TN
=
(tr (N))(I + TM)N
=
N + T(N)M=
N + T {N)Mr
40.
onde M, N sao n x n matrizes de ordem n em X • ent.ão onde
·r r
=
(I - - - - ) (K-1} K=
2, . . . , n (A-B=
TI n n-1 (A -A B K-1 AJE-T I A) TI
-n-2
'""'
A)
Assim Bn pode ser computado em log n passos.
(Porque essas
( A
K- l)
TA~
K=
2 ••• n matrizes saocomu-tativas).
A multiplicação de duas matrizes de ordem n sobre
X
necessita de O{log n) operações • Então o número total de operações para se computar e O{log n) com 2 n 6 processado-res e para computar (AB ) é O (log n) + O (log2n), i .e., O(log2n)n
passos.
Para computar U sao necessários O (log n} operaçoes, com 3
n ,
2-
processaaores.Para achar são necessários O log n 2
3
Operaçoe
~ ~ (Csanky) (n~)proc• ""' , , I~ • t
--1
então para calcular n'Pr (ABn) (ABn) precisanos 6
com n processadores.
Isso significa que a computação de l\ -·1 ,
a e
'}
.<..
--0 (loq n) ope.raçoes ,
requer O ( log n) 2 oper~
--çoes M det A - - C
=
n
t_r {ABn)
também requer O (log 2 n)
ope-n
-raçoes, com n 6 processadores.
Este método também
é
aplicável quando X e um corpo ~d;=.: caracteristica p onde p é um í'rimo tal que p > n •
3.4.:2. Computacão de -·-....__~ .
-c. :
l
Pela equaçao (3) na sr~cçao 3. 3.1 nos sabemos
para computar achar todos os
c .. -·
l. t r (AB J' , n 1 onde i = l . . . n , iprecisamos O (log2n) • Então podemos
c.
l.
2
em O(log n) passos.
3.5. Um método alternativo para computar o polinômio caracte-· rlstico de uma matriz de: Hessenberg e a sua implementação em paralelo.
42.
I
o .
o
\
Seja A
=
all al2a22
an-1}
a ann/
\, nl
uma matriz Hessenberq inferior com
i = l , 2 ••• n-1 onde aij E F •
Seja f (À) - C ... À-Cl
L.
o polinômio caracteristico de A . Os coeficientes c
1
,c
2 ... cn podem ser computados nos seguintes passosPASSO 1 : Compute uma ma triz X com as linhas xl,x2 ... xn
definidas como segue
xl
=
(1,0,0 •.• O)xi+l
=
X 1 Ai i= 1....
n -1Pode-se mostrar [131 que essa matriz X tem a propriedade de
-1
que X AX
=
C onde Cé
uma matriz companheira da forma/o
1o
. .
.
~\
I Io
o
1c
= I.
.
.
)
cl c2
. .
.
. .
cj
PASSO 2 Calcule a Última linha de XA :
Então a última linha de XA
é
dada porPASSO 3 X . n1 n
' L
a.2 i=l 1 ~ X , n1 . nI
a. x . ) 1 1n n11=n-Resolva o sistema triangular
\
o
. o
o \
/cn .\.\ (J
I I \ I \ I \l
I )-I \
xll/ \)
o .
o
X n-1 n-1cãlculo de número de operaçoes em paralelo
No passo 1 3
precisamos de O(log 2 n) passos para com-putar A , n com
O (lo<J n)
n (n2_·) processadores. No passo 2 pr2cisarnos de
2 n
2 proc. ~Jo passo 3 para resolver o sistc'--ma triangular
~1]
são necessãrios mais O(log2n) + O(log n)pas-3
sos, com n processadores. Então no 3 n(n ) --2 - processadores. 2
44.
OBSERVAÇÃO: Embora, o método descrito acima precise do mesmo número de passos do método de Csanky; nosso método parece es-tável numericrunente. O método de Csanky depende de Computação de traços de uma matriz e por essa razão não é estável.
CAP!TULO IV
SIMETRIZADOR, IN~RCIA E QUESTÕES RELACIONADAS.
4 .1. SIMETRIZADORES E SUAS APLICAÇÕES:
Se X
é
urna mat.riz simétrica t.al que XA=
A X , en-T tão, X é chamada si.metrizadora de A e a matriz A é dita simetrizável neste caso.Com o conhecimento de simetrizadores o problema de au tovalores para uma matriz não-simétrica A :
Ax = ÀX (4.1.1)
pode ser transformado no seguinte problema de autovalores para matrizes simétricas:
/\X == ÀX
XAx
=
ÀXXex
=
:>..xx
(4.1.2)onde as matrizes C e X são simétricas:
Em particular se X e positiva definida, então (4.1.1) reduz-se ao problema padrão para matrizes simétricas da forma
EZ
=
ÀZ46.
Mas ainda
In(A)
=
In(XA)onde (XA) é simétrica. A inércia de uma matriz A e defini-da por urna tripla (n(A), (A}, ó(A}) onde n(A}, (A) e ô (A)
são respectivamente, os números de autovalores de A com par-tes reais positivas, negativas e nulas.
Existem outras aplicações de simetrizadores na lite-r atulite-ra [ 2 ] , [24 1 , [ 25]
Apresento primeiro um método de Datta para computar uma classe de simetrizadores nao singulares para uma matriz de Hessenberg inferior com diagonal superior unitária. Também a-presente um método para computar a simetrizadora positiva defi nida de uma matriz companheira, quando existe.
Depois discutiremos a implementação desses métodos em paralelo.
4.1.1. Um método para computar Simetrizadora de uma matriz de Hessenberg: Seja A
=
1 a n-1,1 •o .
1o . . .
a 1 • · n-l,n-1 a nnUma matriz de Hessenberg com a1, i+l = 1 , i= 1 •.• n- 1 . Qua!_ quer matriz pode ser transformada numa matriz de Hessenberg si-milar e existem métodos eficientes e estáveis numericamen·-te para fazer isso [ 41] • Além disso, podemos assumir sem perda de generalidadE..~ que os elementos da co-diagonal de u
ma matriz de Hessenberg são não-nulas. Se aparece um elemento nulo então o problema de computação duma matriz de Hessenberg de ordem n será reduzido a dois problemas de dimensões meno-res. Também usando a transformação de similaridade sobre urna ma tr1z de Hessenberg com codiagonal não nula, podemos transformar essa matriz para uma com codiagonal unitária.
Sejam x, , X
n as l.inhas de uma
simetrizado-..L ra X .
Passo (i) Escolha X
=
{CX 1 Ü 1 Ü • . • Ü)n
C1. -:f: 0
Passo (ii) Computa
""
ai+2,i+l xi+2 ·• · -an,i·H xn)
i=n-1, n-2 ~-· 2, 1
4.1.2. Computação de simetrizadores em oaralelo: Passo (i) Escolha X
=
(a, O .•. 0)n
a i=- O
4 8. Do ( 4. l . 1) , temos: xn-1 = xn
(A -
ann 1) (4.1.2) xn-2 =xn(~- anni)~-
an-1,n-1I)-an.n-11=
X M det n I (4.1.3) X=
(X A - a X - a X - a X ) n-3 n-2 n-2,n-2 n-2 n-1,n-2 n-1 nn-2 n (A-a n- n-2,. 2I) Io
= X M det a I (A-a 1, 1 I) n n-l,n-2 n- n- I-
a 2I a I (A-ai'\Jli) 11J1- n.n-1 (A-a 3, 3I) n- n- Io
o
x n-4=x Mdet n a n-2,n-3 I (A-an-2,n-2 I) Io
-a I (an- J,n-2 I) (A-a 1 1 I) I n-1n-3 n- p-an,n_ 3 I -a I n,n-2 an.n_ 1r
(A-an,ni) (4.1.4).Analogamente, X- e dado por: J. onde l\ sa de ção de {A-·a 22 . I) I
o
o
a32I (A-a33r) Io
. I -a 21 a 1r(A-a I) n,n- n,n- nnNo capitulo anterior, j~ vimos que a computaçâo do M detiA)
-e uma matriz d-e ord-em n sobre um anel comutativo
preci-") 6
O (log~) passos, usando n processadores. Entâo, a comput~
X
1 precisa de
2
O(log (n-1) passos. Como as linh<'ls x
2,x3, ... ... ,xn_1 da simetrizadora de A sâo computadas como uma conseque~ cia da computaçâo de x
1, concluimos que a computação de uma simetri
2 6
zadora precisa de O (logn) passos com n processadores.
4 . 2 • SHlETRIZl\DOI-<A POSITIVA DEFINIDA E SUl\ IMPLE~1ENTAÇÃO EM PT-~.RALELO
-Na secça.o (4.1), rnencioné.unos a utilidade de simetrizadora de fin.ida.
50.
-Nessa secçao mostramos que a inversa da matriz de Hankel das Somas de Newton é urna simetrizadora de urna matriz companheira A . Essa matriz é positiva definida se, e somente se, os auto valores de A são reais e distintas. Damos também urna técnica conveniente para construir em paralelo a matriz de Hankel das somas de Newton.
Sej::-~
o
1o
o
o
o
1o
1
urna matriz companheira associada ao polinômio
Definimos A matriz f(x)
=
X n - a X n-1 n sK=
tr (A K) , K=
0, 1, 2 , . . . . . . sn-
1 s n • • • • • • 52n-2é
chamada a matriz de Hankel das somas de Newton.UNICAMP
TEOREMA 4.2.1. : A inversa da matriz de Hankel das somas de Newton
é
uma simetrizadora da matriz companheira definidaaci-ma, isto
é
T ou I A H= H A •
DEMONSTRAÇÃO. ~bem conhecido [20] que as somas de Newton sa tisfazem as seguintes relações:
s . ··· a s . 1 + a
1 s . 2 + . . . + a 2 s 1 + a 1
se (
i ·- l f 2 , . . . , n )1 nJ.- n- 1.- :
sl.. ·- a s. n 1 +a 1 s. 2 + ... + a ... s. +l + a1s. ( i > n)
1.- n- . 1.- L 1.-n 1.-n
usando essas relações, é fácil verificar que
/sl
52. . . .
s nAH
=
I
82.
.
.
s n+lc
• • • "' • .. • .. :;2 n-1
é
simétrica. Como H tambémé
uma matriz sl.rnétrica, H e uma simetrizadora de A .TEOREMA 4.2.2. A matriz de Hankel das somaE dE~ Newton to~ po-sitiva definida se todos os autovalores de A s~o reais e dis tintos.
DEHONSTRAÇÃO: Sejam tão pode~os escrever
H
=
=
s
n-1 1 Àl \2 '1 À n-1 1 T=
v.v
-À 1, ;,2, ••. ,;-. ' ' n • • • • • • s2n-2 1. .
.
.
.1 À2. . . .
À n À2 n n-1 À • 2 52. os autovalores de A . En 1 Àl.
À n-1 1 À \2 n-1 1.
. .
.
.
À n-1 nonde v
é
a matriz de Vanderrnonde. Corno 1, 2' · · · ' n sao reais e distintos v e não singular, e en-tão H é posi.tiva definida. Corno a inversa de uma matriz po-sitiva definidaé
positiva definida, ternos dos teoremas acima:TEOREMA 4.2.3.: A inversa da matriz de Hankel das sornas de Newton
é
uma sirnetrizadora positiva definida de urna matriz com panheira.4.2.1. Construção da Matriz de Hankel em Paralelo:
Apresentamos agora um método eficiente para computar a matriz de Hankel das somas de Newton
em
paralelo. Recentemen te, Datta!
9 1 mostrou que a matriz de Hankel, das somas de Newtoné
igualà
matriz de Hankel dos parâmet.ros de Markov as-saciada a f(x) e f' (x) , onde f(x)é
o polinômio caracteris tico de A e f ' (x) e a primeira derivada de f (x)Como existe 1.1I!la simples relação recursiva para gerar
os coeficientes de uma matriz de Hankel dos parâmetros de Mar-kov, nademos utilizar esse fato convenientemente para cons-truirmos a matriz de Hankel das somas de Newton em paralelo;c~
mo segue: Sejam Então entao n h-1 f (x)
=
X - a X S=
n o n - a x - a 2 1sl
+s
o (-a ) -n - (n-l)a n ou, ~; = a l ns
2-
a S n 1 - a n-1 S o= -
(n-2)an-l S.) - a S .. + 2a n-1 ~ n J 2 2a .,=
a + n n-·· .L=
a (a
n n 2 - det=
l + 2a n-1) + a n a n-1 + 3a n-2 3=
a + 3a a 1 + 3a 2 n n n- n-a-
2a n-1 3a n-2 n=
l a -a n-l no
1 a n e assim K-1-2a n-1 +3an-2 . • . +(-1) Kan-(K-1)
l
o
1o
-a n-1 onde K=
1,2, ..• , n . K-2 +(-1) 1 a n-(K-2) 54.para k
=
n+1, n+2 • . . . . 2n-2, temosque pode ser escrito na forma
a n -2an+1 . n-1 . + ( -1 ) na 1 O . 1
o
a n -a n-1 . 1 a nCada matriz Sk acima é wna matriz de Hessenberg e a comr.:- lt~ çao do determinante de lli~a matriz de Hessenberg deste tipo precisa de O (logn) passos usando 2 n 4 processadores (dentro desses passos, as menon:.~s principais lideres sao computados também ?1J) .
C'
s
s
C'.orno 1' 2' · · · · · ~J n -1 sao computados corno menores princip3js lideres de sn e +~arnbén Sn+1, Sn+2, ..••
s
2n-J são computados como menores principais lideres de s2 -'~·n L .
Conc1uimos que a matriz de Hankel passos usando n 6 processadores.
56. 4.3.Na secção anterior nos vimos a definição de in~rcia de uma
sua utilidade. Nessa secção, apresentamos um método de Carlson e Datta [ 6 ] para computar urna matriz herrnitiana H tal que In(H)
=
In(A) onde A é urna matriz de Hessenberg com co-diagonal unitária. Depois, discutimos urna maneira eficiente de implementar esse método em paralelo.4.3.1. O Método de Carlson e Datta
Seja A
=
(a .. )1J uma matriz de Hessenberg onde n com co-diagonal unitária; isto é, a~+l
=
1 para todos osi = 1, 2, ..• , n-1 e a ..
=
O1] se j > i + 1 .
PASSO 1 : Construir uma matriz triangular inferior L= (.t .. ) 1J com diagonal
nhas de
-sao nulas. Os
(1, -1, 1 . . . (-l)n-l) tal que as primeiras
li
-LA + AL
=
R-n(n-1)
2 elementos de fora da diagonal de L sao unicamente determinadas por este processo. Os elementos
.t ..
( i > j)1] são determinados comparando os elementos na
posi
-çao (i- 1, j) das ma trizes em ambos lados de
LA + AL
=
R •A ordem em que os elementos 9- ij sao computados é a seguinte:
(! n 1'
t
n 2' •..t
n,n-1) .~ fácil ver que a matriz do sistema de equaçoes que estamos re-solvendo
é
uma matriz triangular inferior com diagonal unitária.PASSO 2 : Depois da construção da matriz L , computar a Últi
ma linha r de R •
PASSO 3 : Construir a matriz
s
tendo as linhasdefinidas por: Pl1.SSO 4 Então s
=
r n - a n,:t . .+1 s n i ·- n - 1, n - 2 ..• ,2, 1*
Computar H - L S(i) Se H ~ não-singular, H ~ hermitiana e
In (A)
=
In (H)(ii) Se H singular se, e somente se, A e -A tem pelo menos um autovalor em comum.
4. 5. 2 Irnplernentaç ão e.rn Parc:d t;;lc).
~Passo_~_, precisamo:::, resol"Jer u:n si_stema trianguléu d,~ ordem ~~-l)_ e precisa-se de cessadores . I 0(1\'~}g[i) 3 . 3 n (n-1)
----8
---
proNo Passo 2, para achar a Gltima li~ha r de R precisillnos de O(logn) passos.
No p~sso _2, construih1C)S uma simetrizadora e nos Ja sabemo.3 que a construçâo de uma simetrizadora precisa d2
O(loq~)
passos, cQn n6 processadores.No Passo 4, para comutar H precisamos de O (loc; n) passos.
Ent~o para achar H nos precisamos dt~ total de 6
passos, con n processadores.
r ( , 2 \
CAPITULO V
SOLUÇÃO EM PARALELO DOS PROBLEMAS DE LOCALI ZAÇÃO DE RAÍZES DE UM POLINOMIO E SEPARAÇÃO DE AUTO VALORES DE UMA MATRIZ.
5.1. INTRODUÇÃO:
Como notamos no Capitulo II nao existe nenhum algoritmo em paralelo na literatura para resolver o problema de localizaçâo de raizes de um polinômio ou da separação de auto valores de urna matriz. Neste Capitulo tratamos destes problemas.
Discutimos as implementações em paralelo de dois algori!_ mos para a localização de raizes de um polinômio: Um, o algoritmo antigo de Routh-Hurwitz ÍZÕ! e outro um alg_ oritr:lO recente de Datta
'-- ~
~J usando as matrizes de Hankel dos pararnetros de Markov. Além disso, pror:x:ntos um algoritJ1lO novo (sequencial) para resolver o problema de localização de auto valores de urna matriz de Hessenberg e dis-cuti.mos sua implementação em paralelo.
5. 2. O ALGORITMO DE ROUTH-HURWITZ E SUA IMPLEHEt,I'I'i'\ÇÃO EM PARALELO:
Seja:
f(x)
jraut:. Entâo os determinantes:
b
o
I bn det ( v 62= \
ao
\ \ J}-1,_)o
I f a 0 6n= detf
O\
o
\
\o
=
o
o
onde ak=
o
para k >~
-o
para k > ]·. ·'·' 1 .1-ill a,; Lo
b l \ \ l/
loo .
n 2 n-1=
. b n-1 \ a n-1..
. D n-2 a ., n-c. b I n-1 · . a n-l . b n-2 a · n·-2\
I
Isão chamados os determinantes de Hurw.itz.
Teorema de Routh-Hurwitz
60.
bo
b1 ao
a 1Sejam todos o:=: deternünan·tes de Routh-Hurwitz diferent.es de zero. Então o nGmero de raizes de f(x) com partes reais positivas
(negativas) e iqual respectivamE-;nte aos números de variações (permanªncias) de sinais da se.qli~ncia:
6.
~ 2
Em particular, f(x) é estável (as partes reais de todas as raízes são negativas), se, e somente se todos os determinantes de Routh--Hurwitz são positivos.
Podemos computar todos 2
O(log) passos em paralelo e as
n
os determinantes ~.,
~. 1
divisões ~ (i, =2 i-1
sam de s6 1 passo com O(n) processadores. 4 Para achar o número de
62
xo
=ao, xl=
61, x2=
61' . . . , Seguimos o seguinte caminho:variação de 6 n X ::: n 6n-l sinais i=l ... n em . . . n) preci-de sequencia
Inicialmente designamos um ~omputador tendo cada elemen-to x. da seqil~ncia. Esses computadores contém as seguintes
infor-J.
maçoes:
onde
(i) O numero de variações de sinais em seqil~ncia - N. (ii) O sinal do primeiro elemento da seqü~ncia, F. (i.i.i) O sinal do Último elemento da seqü~ncia, L.
Inicialmente seja 2i o comprimento da
seqü~ncia(i=O
... k) .... k.::. -~ Seq { x
0 .•. xn} . Seja N=O. Então neste caso F=L = ao sinal do elemento no computador.
o
Se o computador representa a
seqü~ncia
de comprimento 21i . ' I
I
I
N, 1 Fl I L11
.
j_ I +I
v ! I - I -- -- -- -- " -- -- -- · -- r -- -- · -- -- -- ·I
: ' -i+l comprimento da pr6xirna seqil~ncia sera 2 e F6 2. N + N.., l L. Se L, i- F 2 L -- F..., 1 L. ou Se
Se o comprimento da sequ~ncLa e n orecisar::os de O (loq;.) passos em paralelo.
Então o número total de passos para imp:lementar o crité rio de Routh-Hurwitz em paralelo é da ordem de
O(Jog~).
5. 3. O ALGORITMO DE D.i\'InrA E SUA IHPLEtiJENTI~ÇÃO EM PARhLELO: Seja f (x) == a .Lx -a. n x n-1 . . . a~,x-a_
n+_ n "- .L
e
dois polinômios de grau n e m respectivamente, m ~ n, entâo as quantidades s 1, i = -1,0 .. definidas por g(x) f(x) sO sl S + X + -2--1 X + ...
sao chamadas Parametros de Markov associados a funçâo racional
R(x) ....___ q(x) f ( )() e as matrizes ( / s
o
s 1 . . . s, . 1 \ K - \=
I . \ \ • I \ 5k l - · · · · s 2' K-~~ ') / I cndesão chamadas matrizes de Hankel dos parametros de Markov.
As matrizes de Hankel dos parametros de Markov tem um papel significante na determinação a estabilidade de um polinômio real.
2 2
f(x)
=
h(x )+ x g(x ) e um polinômio com coeficientes reais de grau n=
2m a n=
2m+ 1. Então f(x) é estável se, e so-mente se as formas quadráticasn-1 sm(x
1x) = i,k=O L s. ~+l x;xk _,_ m-1
S m (X l X) =i, k~Q S i+ k + 1 X i Xk
sao positivas definidas e mais ainda, para n(impar) = 2m + 1 s_
1 >O, onde s_1,s0 . . . . são os parâmetros de Markov associados com h(·.l) e g(u). Este critério de estabilidade é conhecido co mo critério de estabilidade de Markov. Datta ~] recentemente su geriu uma forma modificada de critérios de Markov.
Mais ainda, generalizando a idéia do critério de estabi lidade de Markov, Datta
[9]
mostrou que as matrizes de Hankel dos parâmetros de Markov podem ser usadas para resolver o proble-ma geral de localização de raizes de um polinômio.O problema de R - H é encontrar o numero de zeros de um polinômio dentro de um dado semiplano.O problema de Schu~Cohen é o problema de localizar os zeros de um polinômio dentro do cír-culo unitário.
Nos apresentaremos agora os resultados de Datta para r~
solver esses problemas usando as matrizes de Hankel dos parâmetroo de Markov:
Teorema l (Routh -Hurwi tz - Markov-Da tta)
Sejam f(x) e g(x)
=
f(-x) dois polinômios de grau h e H a matriz de Hankel dos parâmetros de Markov associada ann
f (x) e g (x) • Assuma que simétrica H dada por
nn
H é não singular e defina a matriz nn