• Nenhum resultado encontrado

Algoritmos paralelos em algebra linear

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmos paralelos em algebra linear"

Copied!
92
0
0

Texto

(1)

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

(2)
(3)

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.

(4)

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

(5)

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.

(6)

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

(7)

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 os

el~

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.

(8)

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

usan

(9)

4 .

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 ordem

O(log~)

e as deduç6es de todos esses resultados dependem de resultados ob tidos no Capitulo III.

(10)

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 ma

tr-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.

(11)

6.

(iv) Não

é

gasto nenhum tempo para comunicação dE! da

dos 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 i

n~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 T

(12)

cial) e T p o tempo de execuçao do mesmo algoritmo usando processares, então

é

uma medida

de 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=l

(13)

DEt-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

-

a

1 o a 2 o, ••• , aN e uma operaçao

(+ x) pode computado log N

[

N

l

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:

(14)

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 em

O(loq n) oassos.

DEMONSTRAÇÃO: Consideremos primeiro o caso ouando f(y) e

-

li-near,isto

é,

f(y)

=

ay + b , neste caso

v

=

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_)

- ( _ _ b

l

\ \ 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 sa

rÍ'IS.

2. 2. 5.

(15)

Então dada a relação recursiva

e a condição inicial

10.

y

=

x , pelo me o

nos [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:

(16)

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 l

então o algoritmo de Estrin computa recursivamente

l

n/2

1

+ 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=O

(17)

Dorn [ 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 rn

I

a "+k-i :j=O J ' ·' i q. (x) x 1. kj X com

l

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

(18)

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 1

pode 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.

(19)

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 urna

ma-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

=

b

Seja 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 2

o

' ' l c ~1 3

!

~2 = I

/I

\

i s r,-1 5 n-2 sl n f"" '-n -s n

(20)

(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.<::n

1. 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

=

A

sa 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. Os

erros 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.

(21)

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 A

1 e A3 sao matrizes trianaulares inferiores e A ~ de

(22)

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 inferior

X

=

(I - L) -l.b já que Ln

o

2 n-1

=

(I+L+L . . . -+· IJ ) • b

=

(I+L2p-l) (I+L2P-2 ) .•• (I+L)b

onde p -

!

log n

l

(23)

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• J

(24)

Uma 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:

(25)

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

. . .

• 1

dados

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

(26)

(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.

(27)

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 onde

(28)

A . . C X V ij l.J e.g. DEFINIÇÃO

=

(~:

11 • . • • Aij anl Matriz-Determinante

r)

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

=

(29)

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 que

(30)

PROPOSIÇÃ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 de

M 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 ,

(31)

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 I

t

.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 .

(32)

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 A

adicionando-se um múltiplo de urna linha (coluna) com outra, então

M det B

=

M det A

DEMONSTRAÇÃO Suponha que B e obtida de A adicionamo-se o múltiplo C E F da linha K à linha j .

(33)

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 rr

TI

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 •

(34)

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.

(35)

PROPOSIÇÃO 8 : A. ""' .Lll \ Seja I \

'

)

A /

n.n/

onde A . . 1J E X

/

X y \ \ I Seja E

=\p

I f Q

J

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

' det

I

y

'\/I

) \ -1 det \ p

\.

Q ,~/ \ \,, -Q p / ' -1

(X -

~Q p

\

o

:)

o')·

I 30.

(36)

= 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 \ P

Q)

sao comutativos. ( all

:22)

=C

:)

Seja X

=

\ a21

p

c

o \

º

=Cll

:2J

y

=

1)

d21 M. det E

=

XO - YP

/

= (

alldll + d21 -l '\;_21d11 + a22d21 det(M det E)

=

(3.1.1)

(37)

32. a11 1 l

o

det E

=

a21 a22

o

1 1

o

dl1 1

o

1 d21 d22

=

+

claro que (3.3.1.)

é

igual a (3.3.2) • então det E

=

det M det E

EXEMPLO 2

X y

E -· onde X, y sao

-

comutativas e P, Q

p Q

-

-na o sao comutativas. (a11 1

~

=C

o\

Seja X

=

y

1)

\a21 I a22)

cll

:2~

Q

=

(dll

1

\

p

=

c21 d21 d22)

(38)

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)

(39)

34.

M det E

=

XQ - YP

=

(3.3.3)

al1 1 1

o

det E

=

a21 a22

o

1

cl1 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)

(40)

a11 1 b11 1 det E

=

a21 a22 b21 b22 1

o

d11 1

o

1 d21 d22 (3.3.6) Claro que (3.3.5) é igual a (3.3.6)

então det(M det E)

=

det E

ce a X X

é

um anel comutativo de matrizes de ordem n • Todos os elementos de

mérico.

Seja f(À}

=

M det (ÀI -A)

=

então dentro do corpo

nu-+

c

(41)

e C n

*

O i e sugeriu um método para determinar os

36.

M det A

*

O , D.K.Faddeev

C 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 de

coeficiente de A .. J -~ na expansao de M. det A 'Temos AB

=

M det (A). I '

\

/ Il

o

:::(

Il E X I

rJ

tal que I

-\

o

\

'

' onde EXEHPLO: A. . , isto e o 1.] por linha j . (3.4.1)

(1

o \

Il

=

\

\ o

\

)

l / I /

(42)

POR DEFINIÇ"g;O: Bll

--

A22 B.> 1

...

...

!'..'~1 / .. 8 21

--

-

Al2 822 -· All =

(All

., / '\ I 1>.12 \

~

A22

·-

Al 'i ' '

)

. <. \ AB

I

A2l A22

/

I 1'.21 All

///

/ .,

=

M ~ det (..l\) • I

este 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

...

A33

(43)

38.

(

- 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- n

onde 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 n

(44)

I•Iultiplicando essas equaçoes por An

,

An-1

...

I respectiv~ mente e somando temos

f (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

1

r

__ .l___ ( tr l\I'L,) B3 -- A2 +

c

2

r

•) '

-

L. ;;. 1

--

A2

-

(tr ABl) 2 1 (l\B )

o

ABn I -·--tr ;

=

+

cn

n n

e 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.

(45)

Seja T um operador definido como segue:

TN

=

(tr (N))

(I + TM)N

=

N + T(N)M

=

N + T {N)M

r

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 A

JE-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 sao

comu-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.

(46)

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 , i

precisamos 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.

(47)

42.

I

o .

o

\

Seja A

=

all al2

a22

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 passos

PASSO 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 -1

Pode-se mostrar [131 que essa matriz X tem a propriedade de

-1

que X AX

=

C onde C

é

uma matriz companheira da forma

/o

1

o

. .

.

~\

I I

o

o

1

c

= I

.

.

.

)

cl c2

. .

.

. .

cj

(48)

PASSO 2 Calcule a Última linha de XA :

Então a última linha de XA

é

dada por

PASSO 3 X . n1 n

' L

a.2 i=l 1 ~ X , n1 . n

I

a. x . ) 1 1n n1

1=n-Resolva o sistema triangular

\

o

. o

o \

/cn .\.

\ (J

I I \ I \ I \

l

I )

-I \

xll/ \)

o .

o

X n-1 n-1

cã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

(49)

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.

(50)

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

=

ÀXX

ex

=

:>..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

=

ÀZ

(51)

46.

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 .

1

o . . .

a 1 • · n-l,n-1 a nn

(52)

Uma 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

(53)

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) I

o

= 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- I

o

o

x n-4=x Mdet n a n-2,n-3 I (A-an-2,n-2 I) I

o

-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_ 1

r

(A-an,ni) (4.1.4).

(54)

Analogamente, X- e dado por: J. onde l\ sa de ção de {A-·a 22 . I) I

o

o

a32I (A-a33r) I

o

. I -a 21 a 1r(A-a I) n,n- n,n- nn

No 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.

(55)

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

1

o

o

o

o

1

o

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 , . . . . . . s

n-

1 s n • • • • • • 52n-2

é

chamada a matriz de Hankel das somas de Newton.

UNICAMP

(56)

TEOREMA 4.2.1. : A inversa da matriz de Hankel das somas de Newton

é

uma simetrizadora da matriz companheira definida

aci-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 n

AH

=

I

82

.

.

.

s n+l

c

• • • "' • .. • .. :;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.

(57)

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 n

onde 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.

(58)

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 1

sl

+

s

o (-a ) -n - (n-l)a n ou, ~; = a l n

s

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

(59)

=

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 n

o

1 a n e assim K-1

-2a n-1 +3an-2 . • . +(-1) Kan-(K-1)

l

o

1

o

-a n-1 onde K

=

1,2, ..• , n . K-2 +(-1) 1 a n-(K-2) 54.

(60)

para k

=

n+1, n+2 • . . . . 2n-2, temos

que pode ser escrito na forma

a n -2an+1 . n-1 . + ( -1 ) na 1 O . 1

o

a n -a n-1 . 1 a n

Cada 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.

(61)

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 os

i = 1, 2, ..• , n-1 e a ..

=

O

1] 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:

(62)

(! 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 linhas

definidas 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.

(63)

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

---

pro

No 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 \

(64)

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

(65)

I bn det ( v 62= \

ao

\ \ J}-1

,_)o

I f a 0 6n= det

f

O

\

o

\

\o

=

o

o

onde ak

=

o

para k >

~

-

o

para k > ]·. ·'·' 1 .1-ill a,; L

o

b l \ \ l

/

lo

o .

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

I

são chamados os determinantes de Hurw.itz.

Teorema de Routh-Hurwitz

60.

bo

b1 a

o

a 1

Sejam 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

(66)

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 21

i . ' I

I

I

N, 1 Fl I L

11

.

j_ I +

I

v ! I - I -- -- -- -- " -- -- -- · -- r -- -- · -- -- -- ·

I

: ' -i+l comprimento da pr6xirna seqil~ncia sera 2 e F

(67)

6 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 cnde

sã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.

(68)

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áticas

n-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 a

nn

f (x) e g (x) • Assuma que simétrica H dada por

nn

H é não singular e defina a matriz nn

Referências

Documentos relacionados

Arte erudita, arte informal, crítica de arte, legitimação de trabalhos expressivos, mercado de arte e trabalhos plásticos de doentes mentais — é nesta dinâmica que se inscreve

Número de Família espécies Número de espécies Família Número de es p é c i es Famíl i a 01 02 01 01 01 01 04 01 01 02 01 01 02 08 02 01 Cyperaceae Euphorbiaceae

O direito à assistência aos desamparados é de suma importância no seio social, para a erradicação da pobreza e da miséria, têm como grande objetivo proporcionar a

Neste subcapítulo, trago as lembranças do tempo de alunos dos três entrevistados estudantes da Universidade do Extremo Sul de Santa Catarina, UNESC,

Sendo assim, sente-se a necessidade de desenvolver um estudo sobre o tema visando divulgar a forma como as Entidades Beneficentes de Assistência Social são regidas com

Recurso 48 horas a partir da publicação do edital de homologação Seleção de 11 de setembro até 14 de setembro de 2018. Divulgação do Resultado A partir do dia 18 de setembro

Artigo 5.º Na prática do mergulho amador não é permitida a utilização de quaisquer utensílios de pesca ou armas de caça submarina, sendo somente permitido o emprego de

O Gráfico 18 representa a capacidade de sobreposição segundo a variável intervalo de tempo onde se verifica que tal como para os seios nasais na analise em OPGs mais de 50% da