• Nenhum resultado encontrado

Resolução Verificada de Sistemas de Equações Lineares

N/A
N/A
Protected

Academic year: 2022

Share "Resolução Verificada de Sistemas de Equações Lineares"

Copied!
7
0
0

Texto

(1)

Resolu¸c˜ ao Verificada de Sistemas de Equa¸c˜ oes Lineares

Carlos Amaral H¨olbig

Universdade de Passo Fundo Curso de Ciˆencia da Computa¸c˜ao – ICEG

99001-970, Passo Fundo, RS E-mail: holbig@upf.br

Resumo

Este trabalho visa a resolu¸c˜ao de sistemas de equa¸c˜oes lineares com o uso do paradigma da Valida¸c˜ao Num´erica, ou seja, que o pr´oprio computador possa rapidamente estabelecer se o c´alculo realizado ´e ou n˜ao correto e ´util para o problema que se quer solucionar. Para tanto foram implementados dois solvers veri- ficados para a resolu¸c˜ao de sistemas lineares com matrizes do tipo densa e banda. Estes solvers foram implementados utilizando a lin- guagem C/C++ com o aux´ılio da biblioteca intervalar C–XSC, biblioteca que simula, via software, as caracter´ısticas necess´arias para se ter a Valida¸c˜ao Num´erica (aritm´etica de alta exatid˜ao, m´etodos intervalares de inclus˜ao e produto escalar ´otimo aliados ao uso de algorit- mos num´ericos apropriados). Para validar estes solvers testes foram realizados com o intuito de verificar a qualidade num´erica das solu¸c˜oes obtidas. Nestes testes procurou-se selecionar matrizes mal-condicionadas a fim de se ter uma melhor condi¸c˜ao de avaliar a qualidade destas solu¸c˜oes que foram obtidas aplicando-se as ca- racter´ısticas da Valida¸c˜ao Num´erica.

1 Introdu¸c˜ ao

A resolu¸c˜ao de sistemas de equa¸c˜oes lineares

´e um dos problemas mais comumentes encon- trados quando se resolve aplica¸c˜oes reais de grande porte. por isso, este trabalho visa a resolu¸c˜ao deste tipo de problema com o uso do paradigma da Valida¸c˜ao Num´erica ou Com- puta¸c˜ao Verificada. E qual ´e a importˆancia de se implementar m´etodos num´ericos com este paradigma? ´E natural que, no decorrer dos tempos, v´arios m´etodos tenham sido de- senvolvidos a fim de facilitar a solu¸c˜ao dos

mais diversos tipos de problemas num´ericos.

Com a utiliza¸c˜ao de computadores para abor- dar problemas matem´aticos, novos algorit- mos foram desenvolvidos, visando, principal- mente, a obten¸c˜ao de um melhor desempenho computacional. Entretanto, quando se tra- balha com Computa¸c˜ao Cient´ıfica, utilizando n´umeros em ponto-flutuante, deve-se preocu- par com o controle dos erros gerados pelas com- puta¸c˜oes num´ericas, que muitas vezes podem produzir resultados totalmente errados devido

`a inexatid˜ao da representa¸c˜ao num´erica, j´a que o resultado gerado ´e apenas uma aproxima¸c˜ao do resultado exato.

Neste sentido, muitos tˆem sido os esfor¸cos de pesquisa para elaborar uma aritm´etica que supere as limita¸c˜oes impostas pelas carac- ter´ısticas inerentes a aritm´etica computacional ordin´aria, assim como para elaborar uma fun- damenta¸c˜ao te´orica para a ´area de Computa¸c˜ao Cient´ıfica. Tanto dos pontos de vista num´ericos e te´oricos, alguns dos problemas encontrados na tentativa de atingir tal objetivo n˜ao foram solucionados ainda, n˜ao tanto pela qualidade das pesquisas, mas por causa da abordagem utilizada. At´e os dias de hoje tem-se buscado uma combina¸c˜ao de software (m´etodos de in- clus˜ao monotˆonica) com o hardware (aritm´e- tica de alta exatid˜ao, matem´atica intervalar, arredondamentos direcionados, produto escalar

´otimo, etc.) para que a tarefa de decidir se o resultado ´e ou n˜ao satisfat´orio seja trans- ferido para o computador, ou seja, que se tenha a Computa¸c˜ao Verificada ou a Valida¸c˜ao Num´erica.

Visando obter aproxima¸c˜oes mais pr´oximas ao resultado exato ´e que este trabalho desen- volveu dois solvers voltados para a resolu¸c˜ao de sistemas lineares, um para matrizes do tipo densa (solver LSS – Linear System Solver)

(2)

e outro para matrizes do tipo banda (solver BAND). Estes solvers foram implementados utilizando a biblioteca intervalar C–XSC [3]. O C–XSC ´e uma biblioteca num´erica para a Com- puta¸c˜ao Cient´ıfica baseada na linguagem C++.

E uma ferramenta para desenvolvimento de al-´ goritmos num´ericos com a gera¸c˜ao de resulta- dos com alta exatid˜ao e verificados automatica- mente. Ela fornece um grande n´umero de tipos de dados num´ericos e operadores predefinidos.

2 Valida¸c˜ ao Num´ erica

O c´alculo num´erico com a verifica¸c˜ao de resultados ´e de fundamental importˆancia para muitas aplica¸c˜oes como, por exemplo, para a simula¸c˜ao e modelagem matem´atica.

Na an´alise cl´assica do erro em algoritmos num´ericos, o erro em cada opera¸c˜ao em ponto- flutuante ´e estimado. Na verdade, a possi- bilidade do resultado estar errado n˜ao ´e nor- malmente considerada. Do ponto de vista matem´atico, o problema da corre¸c˜ao dos resul- tados ´e de grande importˆancia para garantir a alta velocidade computacional atingida atual- mente. Isto torna poss´ıvel ao usu´ario distin- guir entre inexatid˜ao nos c´alculos e as reais propriedades do modelo. No sentido de tornar poss´ıvel o manuseio de milh˜oes de adi¸c˜oes e subtra¸c˜oes com o m´aximo de exatid˜ao, ´e evi- dente que as capacidades da aritm´etica de ponto-flutuante tradicional tˆem que ser aumen- tadas.

O grande objetivo da Valida¸c˜ao Num´erica

´e possibilitar que o pr´oprio computador possa rapidamente estabelecer se o c´alculo realizado

´e ou n˜ao correto e ´util para o problema que se quer solucionar. Neste caso, o programa pode escolher um algoritmo alternativo ou repetir o processo usando uma maior precis˜ao.

T´ecnicas similares de Valida¸c˜ao Num´erica po- dem ser aplicadas para muitas ´areas de proble- mas alg´ebricos, tais como a solu¸c˜ao de sistemas de equa¸c˜oes lineares e n˜ao lineares, o c´alculo de ra´ızes, a obten¸c˜ao de autovalores e de autove- tores de matrizes, problemas de otimiza¸c˜ao, etc. Em particular, a validade e a alta exa- tid˜ao da avalia¸c˜ao de express˜oes aritm´eticas e de fun¸c˜oes no computador est´a inclu´ıda. Cabe ressaltar que para o desenvolvimento de pro- gramas computacionais com o paradigma da Valida¸c˜ao Num´erica ´e necess´ario o uso de to-

das as suas caracter´ısticas, ou seja, o uso da aritm´etica de alta exatid˜ao, do produto escalar

´otimo, dos m´etodos intervalares de inclus˜ao com a convergˆencia garantida pelo Teorema de Ponto Fixo de Brouwer, al´em do uso de algo- ritmos apropriados (detalhes em [1], [2] e [7]).

3 Solvers Verificados para Sis- temas Lineares

Os solvers para a resolu¸c˜ao de sistemas de equa¸c˜oes lineares com matrizes densas e ban- das implementados neste trabalho, utilizando a biblioteca intervalar C–XSC, originaram-se de algoritmos propostos em [6] e serviram, prin- cipalmente, para avaliar (com resultados satis- fat´orios) a qualidade num´erica obtida com a implementa¸c˜ao de algoritmos num´ericos verifi- cados e utilizados no tratamento de problemas sujeitos a instabilidade num´erica e a erros de arredondamento e cancelamento [4].

3.1 Solver para Sistemas Lineares Densos

O objetivo do solver LSS ´e de verificar a existˆencia de uma solu¸c˜ao de sistemas line- ares com matrizes densas e comput´a-la para cada um dos seguintes problemas: sistema de equa¸c˜oes lineares quadrado (m × n, com m =n), sobre-determinado (m×n, com m >

n), sub-determinado (m ×n, com m < n), c´alculo da inversa da matriz de coeficientes do sistema de equa¸c˜oes lineares quadrado e das pseudo-inversas da matriz de coeficientes do sistema de equa¸c˜oes sobre-determinado e sub- determinado.

Para tanto defini-se (1) como um sistema li- near, onde A ´e a matriz de coeficientes do sis- tema, bo vetor de termos independentes e x o vetor que verifica a igualdade. Se (1) for um sistema linear quadrado e supondo-se conhecer uma aproxima¸c˜ao ˜x da solu¸c˜ao do sistema li- near e uma aproxima¸c˜ao R da matriz inversa de A, pode-se computar uma inclus˜ao para ˜x atrav´es da minimiza¸c˜ao do erro, dado por (2), o que proporciona muito mais exatid˜ao do que tentar aproximar a solu¸c˜ao atrav´es de itera¸c˜oes diretamente em ˜x.

Ax=b (1)

(3)

Ay =b−A˜x (2) Multiplicando (2) porR, obt´em-se (3) ou (4), ou seja, uma equa¸c˜ao de ponto fixo para o erro y.

y =R(b−A˜x) + (I−RA)y (3)

y=f(y) :=R(b−A˜x) + (I−RA)y (4) Se R for uma aproxima¸c˜ao suficientemente boa de A−1, a itera¸c˜ao baseada em (4) dever´a convergir, contanto queI −RAtenha um raio espectral pequeno. Com base em (4), deriva- se a itera¸c˜ao (5) ou (6), na qual j´a se utiliza aritm´etica intervalar, com o intervalo [y]kpara y, ondeF ´e a extens˜ao intervalar def.

[y]k+1=R♦(b−A˜x) +♦(I−RA) [y]k (5)

[y]k+1=F([y]k) (6) Aqui indica que as opera¸c˜oes devem ser executadas exatamente, com o resultado sendo arredondado para um intervalo de inclus˜ao so- mente ap´os o t´ermino da computa¸c˜ao de cada produto escalar. Como no c´alculo do defeito b−A˜xe da matriz iteradaI−RApode ocorrer o cancelamento dos ´ultimos d´ıgitos de m´aquina, deve-se, para estes casos, utilizar o produto es- calar ´otimo. Com z = R♦(b−A˜x) e C =

(I−RA), pode-se reescrever (5) como (7).

[y]k+1 =z+C[y]k. (7) A fim de garantir a existˆencia de ˜x e, por- tanto, dex, utiliza-se o Teorema do Ponto Fixo de Brower, que se aplicar´a logo que houver uma itera¸c˜ao k+ 1 a qual possui a propriedade de inclus˜ao apresentada em (8), onde [y]k ´e o in- terior de [y]k.

[y]k+1 =F([y]k)[y]k (8) Se o teste de inclus˜ao (8) for satisfeito, ent˜ao a fun¸c˜ao iterativa f mapeia [y]k dentro dela mesma e, pelo Teorema de Brower, segue quef possui um ponto fixoy em [y]ke, portanto, em [y]k+1. O pr´e-requisito de que [y]k esteja ma- peado dentro de seu pr´oprio interior garante, ainda, a unicidade do ponto fixo, isto ´e, (2)

tem uma ´unica solu¸c˜ao y e, assim, (8) tem uma ´unica solu¸c˜aox= ˜x+y.

Inicialmente, n˜ao ´e adotado nenhum algo- ritmo especial para o c´alculo da solu¸c˜ao apro- ximada deR≈A−1, a partir da qual fica claro que uma aproxima¸c˜ao para a solu¸c˜ao ´e ˜x=Rb.

Para que a itera¸c˜ao intervalar convirja rapida- mente, a aproxima¸c˜ao ˜x ´e melhorada atrav´es da corre¸c˜ao do res´ıduo em (9), usando apenas aritm´etica de ponto flutuante e produto escalar

´otimo para o res´ıduo b−A˜xk.

˜

xk+1= ˜xk+R(b−A˜xk) (9) Melhorar a aproxima¸c˜ao no princ´ıpio ´e in- teressante no sentido de evitar a execu¸c˜ao de v´arias itera¸c˜oes intervalares mais tarde. A ma- triz R ´e obtida atrav´es do m´etodo de Gauss- Jordan com pivotamento por coluna. Para tornar o algoritmo mais eficiente no tratamento da maior parte das matrizes singulares, foram implementadas modifica¸c˜oes no passo de elimi- na¸c˜ao, o qual pode produzir zeros exatos ge- rados pelos erros de arredondamento. Assim, quando, durante o c´alculo, os pivˆos s˜ao procu- rados, pode ocorrer que nenhum pivˆo seja en- contrado em uma linha, se todos os seus ele- mentos forem zeros de m´aquina. Por isso, os zeros exatos produzidos pela elimina¸c˜ao s˜ao substitu´ıdos por (² ´e o menor n´umero de m´aquina), ao inv´es de a−a = 0, for¸cando a execu¸c˜ao do algoritmo at´e o final para qualquer matriz n˜ao-singular (e para quase toda singu- lar tamb´em). Adicionalmente, se nenhum pivˆo for encontrado em uma linha ent˜ao as entradas originais para essa linha eram todas zero. Para as matrizes mal-condicionadas, no entanto, a qualidade obtida para R n˜ao ser´a suficiente, ou seja, seu raio espectral nunca ser´a menor do que 1 o que implica na n˜ao-convergˆencia do teste de inclus˜ao. Quando isso ocorrer, o algo- ritmo recorre a um m´etodo, aqui chamado de Dispositivo de Rump, para obter uma aproxi- ma¸c˜ao paraRcom maior exatid˜ao. SejaRuma aproxima¸c˜ao da inversa da matriz A. Assim, at´e mesmo se A for muito mal-condicionada, a matriz RA ´e, normalmente, muito melhor condicionada do que A. A rela¸c˜ao em (10) su- gere que seja calculado outra aproxima¸c˜aoS da inversa de RA, tal que o produtoSR seja uma melhor aproxima¸c˜aoA−1.

A−1 = (RA)−1R (10)

(4)

Resumindo, pode-se calcular uma aproxima-

¸c˜ao da inversa de R1+R2 em precis˜ao dupla (armazenada em duas matrizes reais em ponto- flutuanteR1eR2) atrav´es dos seguintes passos:

1. C´alculo da aproxima¸c˜ao da inversaRdeA utilizando o m´etodo de Gauss-Jordan.

2. C´alculo de RA.

3. C´alculo da aproxima¸c˜ao da inversa S de RA atrav´es de Gauss-Jordan.

4. C´alculo de SR utilizando um acumulador longo e armazenando o resultado como a soma de duas matrizes em ponto-flutuante R1 e R2.

Agora tˆem-se uma aproxima¸c˜ao da inversa R:=R1+R2 em precis˜ao dupla, conforme des- crito acima. Com isso, a estrat´egia utilizada no m´etodo implementado nosolver ´e:

Calcular uma aproxima¸c˜ao da inversa R em precis˜ao simples e executar o algoritmo de inclus˜ao. Se ele falhar ent˜ao:

Calcular a aproxima¸c˜ao da inversa pelo mecanismo de Rump e execute o algo- ritmo de inclus˜ao com precis˜ao dupla para o c´alculo da aproxima¸c˜ao da inversa R = R1+R2.

Agora, seja X uma matriz. Se (11), ent˜ao X=R ´e exatamente a inversa deA.

AX =I (11)

Sendo assim, se X = £

x1 x2 . . . xn ¤ e I = £

²1 ²2 . . . ²n ¤

, pode-se reescrever (11) como o sistema (12) e resolvˆe-lo equa¸c˜ao por equa¸c˜ao, ou seja, obtendo-se uma coluna de X por vez, pelo m´etodo j´a apresentado an- teriormente. Como o resultado procurado ´e obtido atrav´es da melhoria de xi = i e a matriz de coeficientes ´e a mesma para cada uma das equa¸c˜oes de (12), n˜ao ´e necess´ario re- calcular uma nova aproxima¸c˜ao paraR e nem para a matriz de itera¸c˜ao C = (I−RA), o que poupa o computador de ˆonus redundante e, portanto, desnecess´ario.









Ax1 = ²1 Ax2 = ²2

... Axn = ²n

(12)

Uma maneira muito difundida para a solu¸c˜ao de sistemas lineares sobredeterminados ´e o chamado m´etodo dos m´ınimos quadrados, o qual consiste na solu¸c˜ao das equa¸c˜oes normais descritas em (13), onde AH ´e a matriz hermi- tiana - transposta, no caso dos reais - de uma matriz A. Se A tem posto m´aximo (i.e. to- das as colunas de A s˜ao linearmente indepen- dentes), a solu¸c˜ao dessas equa¸c˜oes ´e ´unica e bem determinada e ´e aquela que minimiza a norma euclidiana do vetor residualr=b−Ax, uma vez que sistemas sobredeterminados s˜ao, na maior parte das vezes, imposs´ıveis.

AHAx=AHb (13) No entanto, ´e de se esperar que a matriz AHAseja bastante mal-condicionada, isso sem levar em considera¸c˜ao que, no computador, ela s´o poderia ser obtida com erros de arredonda- mento ou na forma intervalar, o que torna essa abordagem pouco satisfat´oria. Ao inv´es, o sistema (13) ´e reescrito como um sistema quadrado maior (n+m)×(n+m), que pode ser resolvido com muito mais exatid˜ao (mas tamb´em maior gasto computacional quando mÀn). Introduzindo umm-vetory=Ax−b obt´em-se a igualdade AHy = 0 a partir de (13). Essas duas equa¸c˜oes s˜ao reescritas como (14), dando origem a um sistema quadrado (n+m)×(n+m), ondeI ´e a matriz identidade m×m.

µ A −I 0 AH

.

µ x y

= µ b

0

(14) O sistema (14) ´e muito melhor condicionado do que as equa¸c˜oes normais que o originaram e, agora, pode ser resolvido lan¸cando m˜ao do algoritmo desenvolvido previamente para a re- solu¸c˜ao de sistemas quadrados. A parte x da inclus˜ao resultante ´e a solu¸c˜ao x das equa¸c˜oes (13).

Os sistemas subdeterminados, por sua vez, s˜ao abordados de forma similar. Como esse tipo de sistema apresenta infinitas solu¸c˜oes, o vetor-solu¸c˜ao y desejado ´e aquele que, entre todos os vetores x, possui norma euclidiana m´ınima. O vetor y procurado pode ser deter- minado como y = AHx , para o qual x ´e a solu¸c˜ao deAAHx=b. Como no caso anterior, essas duas equa¸c˜oes s˜ao escritas na forma de bloco, dando origem a (15) que novamente ´e

(5)

um sistema quadrado (n+m)×(n+m), onde I ´e a matriz identidaden×n.

µ AH −I

0 A

.

µ x y

= µ 0

b

(15) O sistema (15) ´e resolvido com os m´etodos desenvolvidos anteriormente. A partey da in- clus˜ao resultante ´e a solu¸c˜ao desejada.

Finalmente, s˜ao abordados os dois problemas restantes, ou seja, o c´alculo da pseudo-inversa A+ de uma matriz A, com m 6=n. A pseudo- inversa a que se refere ´e a de Moore-Penrose.

Sendo A uma matriz sobredeterminada, sua pseudo-inversa ´e dada por (16) ou, equivalen- temente, pela solu¸c˜aoY =A+ da equa¸c˜ao ma- tricialAHAY =AH.

A+ = (AHA)−1AH (16) A partir da introdu¸c˜ao da matriz Xm×m = AY −I decorre que AHX = 0 e, como feito anteriormente, escreve-se essas duas equa¸c˜oes como em (17) com ambas matrizes identidade I de dimens˜ao m×m.

µ A −I 0 AH

.

µ Y X

= µ I

0

(17) Resolvendo (17) coluna por coluna, da mesma forma como obt´em-se a inversa de matrizes quadradas, calcula-se uma inclus˜ao para a pseudo-inversaA+, atrav´es da extra¸c˜ao do bloco X da solu¸c˜ao gerada. Como a pseudo-inversa obedece a propriedade (A+)H = (AH)+, segue de (16) que no caso subdetermi- nado tem-se (18) ou, ainda, queA+´e a solu¸c˜ao Y =A+ de Y AAH =AH.

A+ =AH(AAH)−1 (18) Com a matrizX=Y A−I ´e f´acil inferir que XAH = 0. Tomando a hermitiana das duas

´

ultimas igualdades, pode-se escrever a equa¸c˜ao matricial em bloco conforme (19), onde as ma- trizes identidades s˜aom×m.

µ AH −I

0 A

.

µ YH XH

= µ I

0

(19) Ent˜ao resolve-se a equa¸c˜ao coluna por col- una, como no caso da pseudo-inversa de uma matriz sobredeterminada, e, ao final do pro- cesso, isola-se o bloco YH da inclus˜ao calcu- lada, que ´e a solu¸c˜ao procurada.

3.2 Solver para Sistemas Lineares Esparsos

O solver BAND ´e um solver para a resolu¸c˜ao de sistemas de equa¸c˜oes lineares com matrizes esparsas, em especial para matrizes do tipo banda. Sistemas com matrizes bandas s˜ao um caso particular de sistemas esparsos, onde os elementos n˜ao nulos encontram-se em torno da diagonal principal. Um exemplo de um sistema linear esparso do tipo banda pode ser visto na Figura 1.

Figura 1: Exemplo de um sistema linear esparso com matriz do tipo banda

O algoritmo utilizado para resolver sistemas densos n˜ao ´e muito eficiente neste caso, uma vez que ´e necess´ario grande quantidade de mem´oria para aloca¸c˜ao dos sistemas e h´a um aumento no tempo de execu¸c˜ao. Por se tratar de um caso particular de sistemas esparsos, as ma- trizes bandas podem ser alocadas em faixas (bandwidths) onde os elementos n˜ao nulos est˜ao presentes. Neste solver empregou-se a Vali- da¸c˜ao Num´erica na elabora¸c˜ao de algoritmos num´ericos auto-valid´aveis e com controle au- tom´atico de erros. Entretanto, o uso de in- tervalos acarreta em um efeito conhecido como wrapping effect [8]. O wrapping effect ´e um efeito que faz o diˆametro dos intervalos resul- tantes aumentar rapidamente com o uso de in- tervalos, ou seja, o intervalo calculado como re- sposta diverge bastante da resposta exata.

Para tentar minimizar este efeito, o pro- grama foi desenvolvido baseado na resolu¸c˜ao de equa¸c˜oes diferenciais, o que mostrou bastante eficiˆencia no seu tratamento. O algoritmo im- plementado no solver foi baseado no estreito relacionamento existente entre as matrizes com estrutura banda e equa¸c˜oes diferenciais. De acordo com esse relacionamento, as equa¸c˜oes diferenciais podem ser reescritas equivalente- mente como um sistema linear triangular com matrizes banda. Similarmente, pode-se reescre- ver um sistema triangular com matrizes banda

(6)

como equa¸c˜oes diferenciais. Este fato propiciou que um programa para a resolu¸c˜ao de sistemas lineares triangulares com matrizes bandas fosse desenvolvido. O c´alculo da aproxima¸c˜ao da in- versa atrav´es do m´etodo de Gauss (utilizado para resolver sistemas densos) foi substitu´ıdo pelo c´alculo da aproxima¸c˜ao atrav´es da Decom- posi¸c˜ao LU da matriz A.

4 An´ alise dos Testes

Para validar os dois solvers implementados alguns testes foram realizados com o intuito de verificar a qualidade num´erica das solu¸c˜oes obtidas. Para comprovar esta qualidade das solu¸c˜oes obtidas pelossolvers foram seleciona- dos alguns problemas cl´assicos que ser˜ao apre- sentados a seguir.

Como primeiro teste ´e apresentado um con- hecido conjunto de matrizes de teste mal- condicionadas parasolvers de sistemas lineres:

asn×nmatrizes de HilbertHn com entradas (Hn)i,j := 1

i+j−1 . Como um problema teste apresenta-se os resultados obtidos com osolver LSS para sistemas linearesHnx =e1, onde e1

´e o primeiro vetor unit´ario canˆonico. Ent˜ao a solu¸c˜ao x ´e a primeira coluna da inversa Hn−1 da matriz de Hilbert Hn. Dos testes realizados apresenta-se os resultados para os casos n = 10 e n = 20. Como os elemen- tos destas matrizes s˜ao n´umeros recionais, os quais podem n˜ao ser armazenados exatamente em ponto-flutuante, n˜ao resolveu-se o problema diretamente. Antes, multiplicou-se o sistema pelo m´ınimo m´ultiplo comum lcmn de todos os denominadores em Hn. Ent˜ao as matrizes ter˜ao entradas inteiras que far˜ao o problema ser armazanado exatamente no computador de acordo com o padr˜ao IEEE–754 para aritm´etica bin´aria em ponto-flutuante [5].

Para n = 10 tem-se lcm10 = 232792560

e para n = 20 tem-se lcm20 =

5342931457063200. Para o sistema (lcm10H10)x = (lcm10e1) o programa cal- culou o resultado apresentado na Tabela 1, que ´e a solu¸c˜ao exata para esse sis- tema mal-condicionado. Para o sistema (lcm20H20)x = (lcm20e1) o programa calculou a inclus˜ao (aqui uma ´obvia curta nota¸c˜ao para intervalos ´e usada) apresentada na Tabela 2, que ´e uma aproxima¸c˜ao extremamente exata para a solu¸c˜ao exata (os componentes da

solu¸c˜ao exata s˜ao os inteiros nos intervalos computados).

x Resposta

x1 1.000000000000000E+002 x2 -4.950000000000000E+003 x3 7.920000000000000E+004 x4 -6.006000000000000E+005 x5 2.522520000000000E+006 x6 -6.306300000000000E+006 x7 9.609600000000000E+006 x8 -8.751600000000000E+006 x9 4.375800000000000E+006 x10 -9.237800000000000E+005

Tabela 1: Resultado do sistema denso comn= 10

x Resposta

x1 4.000000000000001

3.999999999999999E+ 002 x2 −7.979999999999998

80000000000002E+ 004 x3 5.266800000000001

799999999999E+ 006 x4 −1.7160989999999999000000001E+ 008 x5 3.29491008000000179999999E+ 009 x6 −4.118637599999999600000001E+ 010 x7 3.56948592000000119999999E+ 011 x8 −2.2373027819999992000001E+ 012 x9 1.044074631600001599999E+ 013 x10 −3.70066452755999960001E+ 013 x11 1.00927214388000179999E+ 014 x12 −2.13323430410999910001E+ 014 x13 3.50069219136000159999E+ 014 x14 −4.44318624287999980001E+ 014 x15 4.3162380645120011999E+ 014 x16 −3.14725692203999940001E+ 014 x17 1.66619484108000179999E+ 014 x18 −6.044040109799999800001E+ 013 x19 1.343120024400001399999E+ 013 x20 −1.378465288199999200001E+ 012

Tabela 2: Resultado do sistema denso comn= 20 No segundo teste, agora utilizando o solver BAND, foi calculada a solu¸c˜ao (intervalar) para um sistema linear esparso de grande porte (ordem n = 200.000). Utilizou-se a matriz sim´etricaToeplitz com 5 bandas com os valores 1,2,4,2,1 e definiu-se todos componentes de b iguais a 1. Ent˜ao osolver produziu a sa´ıda para esse sistema, apresentada na Figura 2, onde so- mente os dez primeiros e os dez ´ultimos com- ponentes da solu¸c˜ao foram apresentados.

(7)

Figura 2: Resultado do sistema linear esparso

5 Conclus˜ oes

O desenvolvimento dos solvers verificados ´e o foco e a principal contribui¸c˜ao desta pesquisa.

Os resultados obtidos demonstram a exce- lente qualidade num´erica obtida atrav´es da uti- liza¸c˜ao destessolvers. Naturalmente, o ˆexito ´e devido `a criteriosa aplica¸c˜ao de m´etodos inter- valares aliados ao uso do produto escalar ´otimo e a algoritmos tradicionais, caracter´ısticas es- tas disponibilizadas pela biblioteca C–XSC. Os solvers apresentam as solu¸c˜oes na forma de in- tervalos com o menor diˆametro poss´ıvel, con- tendo dentro desses intervalos a solu¸c˜ao exata do problema. Por outro lado, os m´etodos que foram implementados nos solvers n˜ao s˜ao ne- cessariamente os mais eficientes em termos de desempenho computacional, o que justifica o fato dos tempos de execu¸c˜ao n˜ao haverem sido medidos nos testes apresentados, uma vez que o objetivo dos solvers ´e garantir a qualidade num´erica dos resultados. Outro fato interes- sante ´e que, com base nas vers˜oes atuais dos solvers, um estudo mais apronfudado poder´a ser realizado com o objetivo de usar as carac- ter´ısticas da Valida¸c˜ao Num´erica no desenvolvi-

mento e/ou implementa¸c˜ao de outros m´etodos num´ericos computacionais. E, com isso, um vasto campo de pesquisa poder´a ser aberto no que se refere ao estudo de aplica¸c˜oes reais de grande porte que necessitam durante a sua resolu¸c˜ao (ou em parte dela) da realiza¸c˜ao de opera¸c˜oes aritm´eticas com uma exatid˜ao me- lhor do que a obtida usualmente pelas ferra- mentas computacionais tradicionais.

Referˆ encias

[1] R. Albrecht, G. Alefeld, H.J. Stetter (Eds.),Validation Numerics – Theory and Applications, Computing Supplementum 9, Springer-Verlag, 1993.

[2] D.M. Claudio, J.M. Marins, C´alculo Num´erico Computacional, Atlas, S˜ao Paulo, 1989.

[3] W. Hofschuster, W. Kr¨amer, S. Wedner, A. Wiethoff, C-XSC 2.0: A C++ Class Library for Extended Scientific Com- puting, Universit¨at Wuppertal, Preprint 2001/1, Wuppertal, 2001.

[4] C.A. H¨olbig, D.M. Claudio, T.A. Diverio, Use of C-XSC Interval Library on Clus- ter Computers, In: IV International Con- ference on Numerical Analysis and Ap- plied Mathematics, 2006. ICNAAM - 2006 Extended Abstracts, Wiley-VCH Verlag, Weinheim, 2006, v.1, pp.151-154.

[5] Institute of Electrical and Electronics En- gineers, IEEE 754: Standart for Binary Floating-Point Arithmetic, IEEE, New York, 1985.

[6] W. Kr¨amer, U. Kulisch, R. Lohner, Numerical Toolbox for Verified Com- puting II - Advanced Numerical Problems, University of Karlsruhe (1994), dispon´ıvel em http://www.uni- karlsruhe.de/˜Rudolf.Lohner/papers/tb2.ps.gz. [7] U. Kulisch, W.L. Miranker, Computer

Arithmetc in Theory and Practice, Aca- demic Press, New York, 1981.

[8] A. Neumaier, The Wrapping Effect, Ellip- soid Arithmetic, Stability and Confidence Regions, Computing Supplementum, New York, v.9, pp. 175-190, 1993.

Referências

Documentos relacionados

Neste capítulo será exposta a conclusão deste estudo de acordo com os objetivos da pesquisa. Ressalta-se que a opção de investigar uma instituição bancária

Com isso, alguns objetivo foram tra¸ cados tais como: o estudo te´ orico e a implementa¸ c˜ ao num´ erica de m´ etodos aplicados ` a resolu¸ c˜ ao de Sistemas de Equa¸ c˜ oes n˜

junho de 1789, o Terceiro Estado transformou os Estados Gerais em Assembleia Nacional Constituinte, um dos momentos iniciais da Revolução Francesa. b) o

O Projeto Genoma, as pesquisas que buscam a determinação genética de comportamentos sexuais, além das experiências e práticas médicas que apelam para a necessidade de controle

Convencional Marcha Picada.. Classificação

Publicamos em 2001 artigo nesta Revista [1], inti- tulado ‘Esfera condutora em movimento: campo, po- tenciais e d´ uvidas’. As ‘d´ uvidas’ se referiam ao sentido f´ısico

 Compreensão e interpretação de um texto relacionado com os temas Études et Vie Active ; Culture et Esthétique ; Sciences et Technologie ; Solidarité et

Determinação a Órgão/Entidade: Companhia Brasileira de Trens Urbanos: elaboração do projeto básico atualizado dos sistemas fixos e material rodante do ramal Calafate-Barreiro,