RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de...

44
RESUMO Muitas são as formas de se resolver sistemas de equações lineares, e sejam elas encontradas por métodos diretos ou iterativos, aquele método que encontra uma solução mais rápido que outro terá vantagem. O presente trabalho tem como principal objetivo propor um novo método itera- tivo para resolução de sistemas de equações lineares. O método aqui desenvolvido é derivado dos métodos de Gauss-Seidel e Jacobi e teve sua fórmula dividida, para teoricamente, aproveitar a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é possível no método de Jacobi. O método proposto foi teve sua convergência provada matematicamente. Veremos também que o método proposto obteve resultados satisfatórios, competindo em tempo de execução e em número de iterações com dois métodos iterativos já consagrados nas literaturas existentes, o Gauss-Seidel e Jacobi. Palavras-Chave: Gauss-Seidel, Jacobi, Paralelismo, Método Híbrido Proposto.

Transcript of RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de...

Page 1: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

RESUMO

Muitas são as formas de se resolver sistemas de equações lineares, e sejam elas encontradas pormétodos diretos ou iterativos, aquele método que encontra uma solução mais rápido que outroterá vantagem. O presente trabalho tem como principal objetivo propor um novo método itera-tivo para resolução de sistemas de equações lineares. O método aqui desenvolvido é derivadodos métodos de Gauss-Seidel e Jacobi e teve sua fórmula dividida, para teoricamente, aproveitara velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralelaque é possível no método de Jacobi. O método proposto foi teve sua convergência provadamatematicamente. Veremos também que o método proposto obteve resultados satisfatórios,competindo em tempo de execução e em número de iterações com dois métodos iterativos jáconsagrados nas literaturas existentes, o Gauss-Seidel e Jacobi.Palavras-Chave: Gauss-Seidel, Jacobi, Paralelismo, Método Híbrido Proposto.

Page 2: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

Sumário

1 Introdução 101.1 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3 Metodologia, Materi ais e Métodos . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Métodos Numéricos 142.1 Sistemas de Equações Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2 Classificação dos sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1 Homogeneidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.2 Divisão quanto ao número de equações e variáveis . . . . . . . . . . . 162.2.3 Classificação quanto ao número de soluções . . . . . . . . . . . . . . . 162.2.4 Classificação quanto ao tamanho do sistema . . . . . . . . . . . . . . . 17

2.3 Métódos de Solução para sistemas de equações lineares . . . . . . . . . . . . . 172.3.1 Métodos Diretos ou Exatos . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4 Métodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4.1 Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4.2 Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.5 Processamento Paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.5.1 Motivações para o uso de processamento paralelo . . . . . . . . . . . . 262.5.2 Arquitetura, Classificação e Tipos de Paralelismo . . . . . . . . . . . . 29

3 Proposta preliminar de um método iterativo híbrido para a resolução de sistemasde equações lineares 313.1 Convergência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2 Normas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4 Resultados e Discussões 384.1 Sugestão para trabalhos futuos . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5 Considerações Finais 47

6 Referências 48

7 Anexos 50

Page 3: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

10

1 Introdução

De acordo com Boldrini (1986, p. 29) "...as coisas estão sempre mudando, se transfor-mando, e o ser humano, para garantir sua sobrevivência e melhorar sua existência, precisa co-nhecer e dominar estes processos de mudança...". O autor também descreve que um dos méto-dos encontrados para se descrever estas transformações foi o de procurar nelas o que permanececonstante durante a mudança e o que é variável, daí nasceu a nescessidade da humanidade tentarmedir estas variáveis que também podem ser chamadas de grandezas da natureza e descobrirqual o seu comportamento, quais delas variam e como essa variação ocorre.

Com a evolução da matemática, a humanidade conseguiu montar ou modelar problemasou situações envolvendo essas variáveis em equações, e com isso tornou-se nescessário a deter-minação de valores quantitativos para essas grandezas. Uma consequência dessa evolução foi odesenvolvimento das formas de resoluções de sistemas lineares posteriormente consolidado porGauss, que é onde todas as variáveis tem comportamento linear. Segundo Burden & Faires apudLagrange (2008, p. 335) uma técnica semelhante à eliminação de Gauss apareceu pela primeiravez durante a disnastia Han no texto "Nine Chapters on the Mathematical Art"escrito por voltade 200 a.C. que de acordo com Boyer (1974) resolveu-se o sistema de equações abaixo:

3x+2y+ z = 39,2x+3y+ z = 34,x+2y+3z = 26.

(1)

No ocidente muitos foram os matemáticos que contribuíram para o desenvolvimento damatemática em especial na evolução da resolução de sistemas lineares. Uma das principaisproposições (para se encontrar as variáveis num sistema de equações lineares) é a regra deCramer, que segundo Boyer(1974) foi criada pelo matemático Gabriel Cramer em 1750, masque já era conhecida por outro matemático Colin Maclaurin desde 1729 e foi publicada por esteautor em 1748, dois anos antes de Cramer. Sendo ela:

Proposição 1: MacLaurinSeja um sistema de equações lineares com duas equações e duas variaveis x e y:{

ax+by = c

dx+ ey = f(2)

e a solução para y no sistema

y =a f −dcae−db

(3)

Page 4: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

11

A regra de Cramer apesar de eficaz, torna-se complexa para sistemas de equações commuitas variáveis e equações. Segundo Leon (2011, p. 95) "A regra de Cramer fornece ummétodo conveniente para escrever a solução de um sistema n×n de equações lineares em funçãode determinantes."Para calcular a solução, entretanto avaliamos (n+1) determinantes de ordemn e a avaliação de apenas dois desses determinantes envolve mais cálculos do que a resolução dosstema usando o método de eliminação de Gauss. Segundo Boyer (1974) apud Dakson(2011) aresolução de sistemas lineares se consolidou através de descobertas feitas por Gauss. Conformedito por Boyer(1974) no primeiro dia do século XIX um novo planeta ou asteróide foi visto porastrônomos e observadores, mas logo foi perdido, então Gauss até então com 23 anos, aceitou adesafiadora tarefa de calcular sua orbita a partir de um número limitado de observações. Para taltarefa Gauss criou uma sequência de passos finitos chamado de método de eliminação de gauss,que até hoje ainda é usada para acompanhar satélites. O resultado foi um grande sucesso, como planeta sendo descoberto no fim do mesmo ano quase na posição indicada pelos cálculos deGauss.

Para Burden & Faires (2008) os sistemas de equações lineares estão associados a muitosproblemas no campo da engenharia e da ciência, bem como com aplicações da matemática àsciências sociais e aos estudos quantitativos nos problemas de administração e economia.

De acordo com Burden & Faires (2008, p. 607) um problema comum em engenharia civildiz respeito a deflexão de uma viga com seção transversal retangular sujeita a uma carga uni-forme cuja a aproximação da situação física é uma equação diferencial de segunda ordem comduas condições de contorno e que os métodos iterativos são úteis para esses e outros sistemasesparsos grandes e que são facilmente adaptados para uma utilização eficiente em computadoresparalelos.

Segundo Leon(2011), mais de 75% dos problemas matemáticos encontrados em apli-cações cientificas e industriais envolvem a resolução de sistemas lineares em algum estágio. De-limitando para os problemas de engenharia, temos que estes nos retornam desde sistemas sim-ples(poucas variáveis e equações) até sistemas complexos grandes e esparsos (muitas váriáveis,equações e elementos nulos).

Com o advento da informática, os métodos para encontrar soluções de sistemas de equaçõeslineares ganharam nova perspectiva, tendo os computadores como aliados nessa tarefa, taismétodos precisam ser adaptados para uma sequência de passos lógica em uma linguagem queos computadores entendem sendo representados através de algoritmos. Os algoritmos encon-trados na literatura que tratam da implementação das formas e métodos de solução de sistemasde equações lineares partem do princípio de um núcleo fazendo todos os cálculos 1 por vez(cálculo da etapa 1, cálculo da etapa 2, . . . , cálculo da etapa n), sendo que a atual geração

Page 5: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

12

de sistemas computacionais baseados em arquiteturas multicore(com mais de um processador),possibilita a realização de mais de uma etapa por vez. Portanto neste trabalho vislumbramos apossibilidade da adaptação de um método a estas arquiteturas.

1.1 Justificativa

De acordo com o exposto acima, é evidente a importância de estudar métodos numéricospara resolução de sistemas de equações lineares pois vários problemas práticos estão associadosa eles. Nesse sentido este trabalho visa abordar um método iterativo híbrido onde propomos umanova abordagem para melhorar a resolução desses sistemas, em especial os complexos sistemasesparsos de grande porte.

1.2 Objetivos

O presente trabalho foi desenvolvido de forma a alcança os seguintes objetivos:

1.2.1 Objetivo Geral

Propor, de forma preliminar, um método iterativo híbrido dos métodos Jacobi e Gauss-Seidel para resolução de sistemas de equações lineares que se adapte a computação paralela.

1.2.2 Objetivos Específicos

• Propor uma nova forma de atualização de restrições que fará parte de um método iterativohíbrido a ser proposto.

• Provar matematicamente a convergência do método híbrido proposto.

• Analisar os aspectos teóricos e práticos referentes aos métodos iterativos de Gauss-Jacobie Gauss-Seidel em sua formulação tradicional e comparar com a aplicação do métodohíbrido proposto.

Page 6: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

13

• Fazer um comparativo dos métodos na solução de alguns problemas de teste já consoli-dados na literatura.

• Analisar a aplicabilidade de cada método de acordo com as suas pré-condições;

1.3 Metodologia, Materi ais e Métodos

A organização deste trabalho está de acordo com a seguinte formação metodológica. Nocapítulo 1, temos a organização estrutural do trabalho, justificativas e objetivos do estudo. Nocapítulo 2, apresentaremos a fundamentação teórica matemática que dará suporte aos métodosestudados e descrevemos o funcionamento dos métodos iterativos de Jacobi, Gauss-Seidel e dométodo Hibrido Proposto neste trabalho. No capítulo 3, provamos a convergência deste métodonovo e ilustramos o funcionamento e a aplicação numérica do método em comparação comos métodos iterativos de Jacobi, Gauss-Seidel estudados através de exemplos e apresentamostambém situações em que a aplicação do método não é viável. E no capítulo 4, apresentamosas conclusões do trabalho.

Page 7: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

14

2 Métodos Numéricos

No ramo de estudos da matemática aplicada, um dos grandes entraves para a aplicação práticade métodos númericos para soluções de problemas reais é com certeza a complexidade dosproblemas contra a capacidade dos computadores atuais, a geração atual conta com arquiteturascomputacionais de alto potencial matemático comparado a arquiteturas mais antigas. O presentetrabalho objetiva propor um método iterativo estacinário para solução de sistemas lineares. Talmétodo é derivado dos métodos Jacobi e Gauss-Seidel, e o diferencial deste é a possibilidadede utilizar as plataformas multicore existentes no mercado.

2.1 Sistemas de Equações Lineares

Sistema linear ou sistema de equações lineares é o nome dados a uma situação problemaque foi modelada gerando equações que determinam o comportamento do problema. Mate-maticamente sistemas lineares são associações de equações lineares, mas o que são equaçõeslineares? Segundo Lipschutz (1977), entende-se por equação linear qualquer expressão formadapela soma ou produto de constantes e variáveis do primeiro grau, então para a expressão abaixocomo membro do corpo de números reais ℜ,

a1x1 +a2x2 + . . .+anxn = b (4)

onde ai e bi são números dados e pertencem aos ℜ e os xi são as incógnitas ou variáveis. Osescalares ai são os coeficientes de xi respectivamente, e b é chamado têrmo constante ou con-stante da equação. Logo atribuindo um conjunto de valores para as variáveis,

x1 = k1,x2 = k2, . . . ,xn = kn (5)

Digamos que este conjunto de valores é solução da equação linear acima, substituindo xi por ki

obtemos a igualdade da equação, ou seja se

a1k1 +a2k2 + . . .+ankn = b (6)

for verdadeira, então diz-se que esse conjunto de valores satisfaz a equação.

Uma vez definida o que são equações lineares temos que sistema de equações lineares éa associação de mais de uma equação linear. Então um sistema com m equações e n variáveistem essa forma:

Page 8: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

15

a11x1 +a12x2 + . . .+a1nxn = b1a21x1 +a22x2 + . . .+a2nxn = b2a31x1 +a32x2 + . . .+a3nxn = b3

. . .= . . .

. am1x1 +am2x2 + . . .+amnxn = bn

(7)

Sendo am1x1, . . . ,amnxn os termos do primeiro membro das equações, onde am1, . . . ,amn

são números reais e combinações lineares de x1, . . . ,xn.

O sistema linear (7) pode ainda ser escrito em sua forma matricial, cuja representaçãoconsiste em reduzí-lo para a seguinte forma:

Ax = b (8)

sendo A a matriz dos coeficientes

A =

a11 a12 . . . a1n

a21 a22 . . . a2n

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

am1 am2 . . . amn

(9)

b a matriz das constantes

b =

b1

b2

. . .

bn

(10)

e x o vetor solução

x =

x1

x2

. . .

xn

(11)

Segundo Boldrini (1986) podemos associar o sistema (7) a:

B =

a11 a12 . . . a1n b1

a21 a22 . . . a2n b2

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

am1 am2 . . . amn bn

(12)

Page 9: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

16

que chamamos matriz ampliada do sistema, onde cada linha desta matriz é uma representaçãoabreviada da equação correspondente ao sistema Ax = b.

2.2 Classificação dos sistemas lineares

Segundo Sperandio et al (2003), Lipschutz(1977) e Leon(2011) os sistemas lineares po-dem ser classificados conforme sua homogeneidade, quanto ao número de equações comparadascom o número de incógnitas ou m×n, quanto a quantidade de soluções possíveis desse sistemaou quanto ao seu tamanho.

2.2.1 Homogeneidade

A classificação quanto a homogeneidade é feita a partir da análise dos termos bi, seb1,b2, . . . ,bn forem todos nulos, então o sistema é homogêneo. Se algum termo bi for não-nulo então o sistema é heterogêneo. (Leon, 1943)

2.2.2 Divisão quanto ao número de equações e variáveis

Esta classificação de acordo com Lipschutz(1977) os sistemas lineares podem ser subde-terminados, se m > n; hiperdeterminados, se m < n e quadrátricos se m = n, onde m o númerode equações e n o número de variáveis. Ou seja podem ser divididos conforme a quantidade deequações, seja menor, maior ou igual ao número de incógnitas.

2.2.3 Classificação quanto ao número de soluções

Os sistemas lineares podem ser divididos quanto ao número de soluções, segundo Speran-dio e Outros (2003), o sistema (7) poderá ter solução única ou pode ter infinitas soluções, casoocorra essas duas soluções, o sistema será possível ou consistente. No caso de o sistema nãopossuir solução, será dito ímpossível ou inconsistente.

1. Sistemas Possíveis: São aqueles que admitem alguma solução, segundo Boldrini (1986)

Page 10: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

17

e Sperandio e Outros (2003) um sistema terá soluções única se o posto1 da matriz doscoeficientes for igual ao posto da matriz ampliada, podendo ainda, estar subdivididos em:

(a) Sistemas Possíveis com solução única: São os sistemas onde a matriz dos coefi-cientes e a matriz ampliada do sistema reduzida a sua forma escada tem o mesmoposto p e p = n, onde n é o número de variaveis do sistema.

(b) Sistemas Possíveis com infinitas soluções: São os sistema onde a matriz dos coe-ficientes e a matriz ampliada tem o mesmo posto e p < n.

2. Sistemas Ímpossíveis: São os sistemas que não admitem solução alguma, segundo Boldrini(1986) não admite solução os sistemas cujo posto da matriz dos coeficientes pc seja dife-rente do posto da matriz ampliada do sistema pa ou seja pc ̸= pa

2.2.4 Classificação quanto ao tamanho do sistema

Dakson apud (Gavala, 2001) classificam os sistemas lineares conforme seu tamanho deacordo com o número de equações, onde:

• Pequenos: para n ≤ 300.

• Grandes: para n > 300.

sendo n o número de equações do sistema.

2.3 Métódos de Solução para sistemas de equações lineares

Qualquer sistema de equações lineares pode ser reduzido para sua forma matricial Ax = b,conforme mostrado em (2.1). Contudo existem diversas formas de se encontrar a solução de umsistema linear.

No âmbito dos métodos númericos, Freitas (2000) afirma que existem duas classes demétodos para solução de sistemas lineares, os métodos diretos e os métodos iterativos. ParaSperândio (2003) as resoluções de sistemas de equações lineares são agrupados em métodosdiretos, iterativos e de otimização. Qualquer dos métodos pode encontrar vetores solução x em(8), desde que as condições de existência de solução(caso exista) e em quais condições existe econvergência para uma solução sejam satisfeitas. Mas, como escolher o método adequado? ParaSperândio (2003) na escolha do método para resolver o sistema, dois aspectos são importantes:

1Para Boldrini (1986, p.38) Posto de uma matriz é o número de linhas não nulas da forma escada dessa matriz

Page 11: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

18

(i) A propagação dos erros de arredondamento, isto é, a estabilidade numérica do métodocom relação a sua sensibilidade à acumulação de erros de arredondamento, e

(ii) A questão do armazenamento da matriz "A" dos coeficientes deve estar de acordo coma sua estrutura.

Franco (2007) afirma que quando vamos escolher qual método númerico devemos utilizardevemos deixar claro o que queremos como solução e sob quais condições ela existe, poisnão adianta tentar encontrar uma solução se ela não existe. Como exemplo o autor cita quese o sistema for de grande porte, devemos escolher o método númerico adequadamente parapreservar a máxima precisão.

2.3.1 Métodos Diretos ou Exatos

Conforme Sperandio et al (2003, pag. 68) "Diz-se que um método é direto quando, naausência de erros de arredondamento, determina a solução exata do sistema por meio de umnúmero finito de passos previamento conhecidos". Para Franco (2007), métodos exatos sãoaqueles que fornecem com um número finito de operações, uma solução exata, não fossem oserros de arredondamento.

Os métodos Diretos em sua maioria tranformam o sistema original num sistema triangularequivalente. Para Franco (2007, pg. 122) "Em geral, nos métodos exatos transformamos o

sistema original num sistema equivalente, cuja solução é obtida resolvendo-se sistemas lineares

triangulares.". Os métodos diretos mais populares são:

• Regra de Crammer: Consiste em isolar as variáveis uma a uma e fazer a retrosubstituiãonas equações restantes até que todas as variáveis tenham sido encontradas.

• Matriz Inversa: Se Ax = b, então também podemos encontrar o vetor solução x pelaseguinte operação algébrica x = A−1b.

• Método de eliminação de Gaus: Através deste encontramos um sistema triangular equi-valente ao sistema linear inicial(por ser mais fácil de operacionalizar) que irá forneceruma solução que também satisfaz o sistema inicial.

• Decomposição LU: Em um sistema Ax = b, decompõe-se a matriz A em duas matrizes:um tiangular inferior, L = [mi j], e uma triangular superior , U = [ui j], tal que LY = B eUX = Y , de acordo com o seguinte teorema:Teorema 01: "Sejam A uma matriz n× n e Ak a matriz k× k formada pela intersecção

das primeiras k linhas e colunas em A. Se det(Ak) ̸= 0,k = 1,2, . . . ,n−1, então existe um

única matriz triangular inferior L = [mi j] com mii = 1, i = 1,2, . . . ,n e uma única matriz

triangular superior U = [ui j]n×n que LU = A"

Page 12: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

19

• Fatoração Cholesky: Se A : nxn é simétrica e definida positiva, então existe uma únicamatriz triangular inferior G : n x n com diagonal positiva, tal que A = GG(t), para acomposição da matriz G: se o item fizer parte da diagonal do fator usamos gii = (aii −i−1∑

k=1g2

i j)1/2; se o item não for parte da diagonal do fator, então usamos gi j =

(ai j−i−1∑

k=1gikg jk)

gi,i .

.

Os métodos diretos sempre irão encontrar a solução do sistema se ela existir. Contudo,esta solução está sujeita a pertubações por erros de arredondamento, (Franco 2007, p. 121).

2.4 Métodos Iterativos

Segundo Franco (2007, p.168) "...um método é iterativo quando fornece uma sequênciade aproximações, cada uma das quais obtida das anteriores pela repetição do mesmo processo".Sperandio (2003) afirma que métodos iterativos são métodos que partem de uma solução iniciale podem convergir ou não para o vetor solução. Essa convergência pode ser verificada comos critérios de convergência. Podemos resumir os métodos iterativos em 03 (três) processosinterligados, 1) Partem de uma solução inicial. 2) Atualizam a solução anterior por meio deuma equação de iteração 3) Teste que verifica se essa solução satisfaz os critérios de parada.

Sperandio et al (2003, p.3) afirma que um processo iterativo se caracteriza por envolveros seguintes elementos:

(i) Tentativa inicial: consiste em uma primeira aproximação para a solução desejada do pro-blema numérico.

(ii) Equação de recorrência: equação por meio da qual, partindo-se da tentativa inicial, sãorealizadas as iterações ou as aproximações sucessivas para a solução desejada.

(iii) Teste de parada: é o instrumento por meio do qual o procedimento iterativo é finalizado

Sperandio et al (2003) afirma que são métodos iterativos o Método de Jacobi, Métodode Gauss-Seidel e Método de sobre-relaxação. Já Franco (2007) divide os métodos iterativoquanto aos seus tipos de processos, podendo estes serem estacionários ou de relaxação.

Os métodos cujos processo são estacionários ou simplesmente métodos estacionários,recebem este nome se cada aproximante da solução é obtido apartir da solução anterior semprepelo mesmo processo. Se os processos variam conforme os passos, mas se repetem ciclicamentede s em s passos, classificamos esse processo como s-ciclico. Ao agruparmos os s passos numúnico passo composto, obtemos também um método estacionário.

Page 13: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

20

Franco(2007) afirma que os métodos iterativos estacionários são o método de Jacobi e ométodo de Gauss-Seidel.

2.4.1 Método de Jacobi

Sperandio et al (2003) define o método de Jacobi reescrevendo (7) com m=n da seguinteforma:

xi =

bi −n∑

j=1; j ̸=iai, jx j

ai j, i = 1,2, . . . ,n (13)

sendo x(0) =(

x(0)1 ,x(0)2 , . . . ,x(0)n

)tuma tentativa inicial de solução do sistema de equações li-

neares. Para k = 1,2, . . . ,n calcula-se a sequência de aproximações para a solução x, {x(k+1)},

sendo {x(k+1)}=(

x(k+1)1 ,x(k+1)

2 , . . . ,x(k+1)n

)tpor meio de:

xi =

bi −n∑

j=1; j ̸=iai jx

(k)j

ai, j, i = 1,2, . . . ,n;k ≥ 0 (14)

ou seja,

x1 =

b1−{a12x2+a13x3+...+a1nxn}a11

x2 =b2−{a21x1+a23x3+...+a2nxn}

a22...

xn =bn−{an1x1+an2x2+...+an,n−1xn−1}

ann

(15)

até que um teste de parada seja satisfeito. O autor afima que os testes de parada mais utilizadossão:

||x(k+1)− x(k)||< ε ou||x(k+1)− x(k)||

||x(k+1)||< ε (16)

Segundo Barroso et al (1987), a solução será obtida, isolando por meio de operações ele-mentares, os membros do vetor x correspondentes a diagonal principal do sistema em sua formamatricial. Os elementos da diagonal principal da matriz dos coeficientes tem de ser zero, ou sejaaii ̸= 0,∀i. Caso algum elemento da diagonal principal da matriz dos coeficientes não seja iguala zero, as equações devem ser reorganizadas para que em todas as equações os aii ̸= 0, podendo

Page 14: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

21

ser mudadas a ordem os respectivos coeficientes e variaveis bem como a ordem da equações nosistema.

Satisfeita a condição do paragrafo anterior, o sistema é colocado na forma xk+1 = Fxk +

d, para k = 1,2, . . . ,n onde:

xk+1 =

x(1)

x(2)...

x(n)

, d =

b1a11

b2a22

...

bnann

, e F =

0 −a12a11

−a13a11

. . . −a1na11

−a21a22

0 −a23a22

. . . −a2na22

......

... . . ....

−an1ann

−an2ann −an3

ann . . . 0

, (17)

O método segundo o autor é executado da seguinte maneira:

(a) Escolhe-se uma solução inicial para xk.

(b) Geram-se aproximações sucessivas xk+1 a partir da iteração

xk+1 = Fxk +d, k = 1,2,3, . . . ,n.

(c) As aproximações continuam a ser geradas até que um dos critérios abaixo seja satisfeito:1. Máx |xk+1

i − xki | ≤ ε , sendo ε a tolerância, {1 ≤ i < n}, ou

2. k < M, sendo M o número máximo de iterações

A função de iteração que atualiza os componentes do vetor solução para este método será:

xk+1

1 =b1−{a12xk

2+a13xk3+...+a1nxk

n}a11

xk+12 =

b2−{a21xk1+a23xk

3+...+a2nxkn}

a22...

xk+1n =

bn−{an1xk1+an2xk

2+...+an,n−1xkn−1}

ann

(18)

Franco (2007) afirma que o método de Jacobi (ou Jacobi-Richardson como a autora serefere) parte da condição que a matriz A da equação matricial Ax = b é decomposta da seguinteforma

A = L+D+R (19)

Page 15: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

22

sendo uma matriz L uma matriz triangular inferior formada pelos elementos da parte inferior damatriz A, a matriz R uma matriz triangular superior formada pelos elementos da parte superiorda matriz A e D uma matriz diagonal formada pelos elementos da diagonal de A, logo:

L =

{ai j, i > j

0, i ≤ j; D =

{ai j, i = j

0, i ̸= j; R =

{ai j, i < j

0, i ≥ j(20)

Supondo Det(D) ̸= 0, o sistema original pode ser transformado em:

(L+D+R)x = b

=> Dx =−(L+R)x+b

=> x =−D−1(L+R)x+D−1b

,Franco (2007) afirma que seja xk uma aproximação inicial para a solução x. Obtemos

as apro-ximações sucessivas xk+1 para a solução desejada x usando o processo iterativo esta-cionário definido por:

xk+1 =−D−1(L+R)xk +D−1b (21)

A dedução da autora também levará ao mesmo resultado obtido por Barroso et al (1987),que nos diz que, o método de Jacobi ou Jacobi-Richardson objetiva a determinação de umasequência aproximantes da iteração k:

(xk

1,xk2, . . . ,x

kn

), para k = 1,2,3, . . . ,n

a partir de valores iniciais:

(x0

1,x02, . . . ,x

0n)

pelo processo de iteração definido em (20).

Page 16: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

23

2.4.2 Método de Gauss-Seidel

A definição da equação do método de Gauss-Seidel pode ser feita usando a idéia de Franco(2007) para o método de Jacobi-Richardson. Substituindo a matriz A da equação matricialAx = b em A = L+D+R, sendo a matriz L uma matriz triangular inferior formada pelos ele-mentos da parte inferior da matriz A, a matriz R uma matriz triangular superior formada peloselementos da parte superior da matriz A e D uma matriz diagonal formada pelos elementos dadiagonal de A, mas após isso sua operacionalização muda, ou seja, em vez das operações parase obter o método de Jacobi-Ricardson, temos:

(L+D+R)x = b

=> (L+D)x =−Rx+b

dessa forma o processo iterativo será definido por:

(L+D)xk+1 =−Rxk +b => Dxk+1 =−Lxk+1 −Rxk +b (22)

dessa forma ao multiplicarmos o resultado de (22) pela matriz inversa da diagonal D, temos anossa equação de iteração:

xk+1 =−D−1Lxk+1−D−1Rxk +D−1b ou xk+1 =−D−1(Lxk+1−Rxk +b) (23)

Então dado um sistema linear (15), o método de Gauss-Seidel consiste na determinaçãode uma sequência de aproximantes da iteração k:

(xk

1,xk2, . . . ,x

kn

), para k = 1,2,3, . . . ,n

a partir de valores iniciais:

(x0

1,x02, . . . ,x

0n)

pelo processo de iteração

Page 17: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

24

xk+11 =

b1−{a12xk2+a13xk

3+...+a1nxkn}

a11

xk+12 =

b2−{a21xk+11 +a23xk

3+...+a2nxkn}

a22

xk+13 =

b3−{a31xk+11 +a32xk+1

2 +...+a3nxkn}

a22...

xk+1n =

bn−{an1xk+11 +an2xk+1

2 +...+an,n−1xk+1n−1}

ann

(24)

A autora afirma que este método difere do processo de Jacobi-Richardson por utilizar,para o cálculo de uma componente de xk+1, o valor mais recente das demais componentes. Poreste motivo também é conhecido como método dos deslocamentos sucessivos.

Segundo Leon (2011), mais de 75% dos problemas matemáticos encontrados em apli-cações científicas e industriais envolvem a resolução de sistemas lineares em algum estágio.Um grande ferramenta na resolução desses sistemas são os sistemas computacionais, que atual-mente possuem ferramentas mais sofisticadas e que poderão auxiliar resolução desses sistemas,como exemplo as arquiteturas multicore que procuram melhorar o desempenho computacionalna resolução de problemas através do uso de vários processadores trabalhando em paralelo,Buttari(2007, pag. 191).

2.5 Processamento Paralelo

Conforme (Senger) num texto publicado no ICMC (Instituto de Ciências e Matematica ede Computação da Universidade de São Paulo) paralelismo ou processamento paralelo é consti-tuída pela exploração de eventos computacionais concorrentes, por meio de unidades de proces-samento que cooperam e comunicam-se entre si.No paralelismo o objetivo principal é melhoraro desempenho para aplicações computacionais que necessitam de uma maior potência computa-cional, muitas vezes não alcançada em arquiteturas sequenciais.

O autor supracitado afima que a exploração de eventos concorrentes pode ser realizadaem diferentes níveis. Em um nível mais próximo ao hardware, o paralelismo pode existir nasunidades funcionais que compõem a UCP (Unidade Central de Processamento). Nesse nível,a granulação representa o tamanho da unidade de trabalho destinada aos processadores, sendodiretamente relacionada ao hardware e medida em número de instruções.

Para (Senger) o paralelismo tem sido empregado com sucesso em arquiteturas de hard-ware que possuem múltiplas unidades funcionais e empregam técnicas de pipeline. A técnica

Page 18: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

25

pipeline representa uma forma de paralelismo temporal, caracterizado quando existe a execuçãode eventos sobrepostos no tempo. A tarefa a ser executada é dividida em subtarefas, cada umadestas sendo executada por um estágio de hardware especializado, que trabalha de maneira con-corrente com os demais estágios envolvidos na computação.

O autor explica que outra maneira de obter paralelismo em nível de instruções de máquinaé através da utilização de ambientes de paralelização automática, onde a partir de um programasequencial o compilador é por gerar um programa paralelo. Em um nível intermediário, o pa-ralelismo pode ser explorado através de procedimentos ou subrotinas de programas paralelosque são atribuídos aos elementos de processamento e executados concorrentemente. Geral-mente, o paralelismo através de procedimentos necessita do suporte explícito de linguagens deprogramação paralela.

De acordo com (Wikibooks) a execução simultânea de instruções possibilita ganhos notempo final de execução e uma melhoria no aproveitamento das potencialidades das arquiteturasem que executam. Em particular, de modo geral, apenas parte do conjunto de instruções de umprograma merece atenção quanto à possibilidade de paralelização.

Segundo Barney (2012) os softwares tinham de ser programados em computação serialpelos seguintes motivos:

• Serem executados em computadores com Unidade Central de Processamento-UCP única;

• Os problemas podem ser divididos e séries de instruções simples;

• As intruções são executadas um após a outra;

• Somente uma instrução era executada por vez.

O autor supracitado afirma que computação paralela é o uso simultâneo de recursos com-putacionais para encontrar a solução de um problema que nos possibilita:

• Podem ser executados com o uso de multiplas UCP´s;

• Um problema ser dividido em partes para serem resolvidos concorrentemente;

• A cada parte podem ser dadas um série de instruções diferentes;

• As instruções para cadas parte do problema podem ser executadas simultanemente porUCP´s diferentes.

Page 19: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

26

Figura 1: Problema único com várias instruções (proveniente do arquivo de Senger)

2.5.1 Motivações para o uso de processamento paralelo

Mattson et al (2004) afirma que a computação paralela pode ser utilizada na resolução dedificeis problemas de várias áreas da ciência e engenharia como por exemplo:

Figura 2: Turbina, Marés, Cerébro(proveniente do arquivo de Senger)

• Atmosfera, Meio-Ambiente;

• Física: Aplicada, nuclear, particulas, matéria condensada, alta pressão, fusão;

• Biociência, biotecnologia, genetica;

• Química, ciência molecular;

• Geologia, sismologia;

• Engenharia mecânica - de próteses a espaçonaves;

• Engenharia elétrica - Design de ciscuitos, microeletrônica

Page 20: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

27

• Ciência computacional, matemática

O autor também afirma que atualmente as aplicações comerciais proporcionam tanto outalvez mais forças para o desenvolvimento de computadores mais rápidos quanto as aplicaçõescientíficas. As aplicações comerciais requerem um processamento de uma grande quantidadede dados de formas variadas, por exemplo:

• Banco do dados, exploração de dados;

• Exploração de petróleo;

• Sistemas de busca de internet, serviços de negócios pela internet;

• Medicina e diagnósticos;

• Aplicações farmacêuticas;

• Modelos econômicos e financeiros;

• Gerenciamento de corporações nacionais e multi-nacionais;

• Design Gráfico avançado e realidade vistual - Especialmente para a industria de entrete-rimento;

• Tecnologia de video e multi-media executados via rede;

• Trabalhos de colaboração com o Meio-Ambiente.

Segundo Barney(2012), entre os vários motivos de porque usar computação paralela pode-mos citar:

• Ganhar tempo ou dinheiro: Teoricamente, aumentar os recursos computcionais paraexecução de um tarefa vai encurtar seu tempo de conclusão, representando uma potencialeconômia de custos;

• Resolver grandes problemas: Vários problemas por serem grandes ou complexos po-dem ser impossíveis ou impraticáveis de se solucionar com um computador de UCP únicaespecialmente se a memória for limitada, por exemplo:

– O "Grand Clallenge"que são problemas que necessitam de PetaFLOPS e PetaBytesde recursos computacionais;

– Serviços de Busca na internet que fazem o processamento de milhões de transaçõespor segundo.

• Uso de recursos fora do local de trabalho: Usar recursos computacionais de uma redeinterna ou de computadores conectados a internet;

Page 21: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

28

• Limites da computação paralela: Algumas razões físicas e práticas são obstáculos paraa construção de computadores seriais mais rápidos:

– Velocidade de transmissão: A velocidade de um computador com processamentoserial é dependente ao quão rápido os dados podem se mover através do hard-ware(equipamento físico do computador). Limites absolutos são: da velocidade daluz é 30 cm/nanosegundos e o limite de transmissão do fio de cobre é 9 cm/nanosegundos.Aumento de velocidade necessita diminuir a distância entre os elementos do proces-samento;

– Limites de miniaturização: Tecnologia de processamento é o quanto pode se au-mentar o número de transistores num chip. de qualquer forma seja à nível molecularou atômico, existe um limite de quantos ou quão pequenos os componentes do chippodem ser;

– Limitações econômicas: Um processador de alta velocidade mais caro pode sersubstituído por vários processadores de média velocidade mais baratos;

Figura 3: Divisão das tarefas pode gerar lucro(proveniente do arquivo de Senger)

Page 22: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

29

2.5.2 Arquitetura, Classificação e Tipos de Paralelismo

Segundo Barney (2012) foi o matemático John Von Neumann quem primeiro descreveuos requerimentos para um computador eletrônico em cartas no ano de 1945. Segundo o autorNeumann descreve que virtualmente todos os computadores devem seguir um design básicodivididos em quatro grupo principais:

• Memória;

• Unitade de Controle;

• Unidade Lógico-Aritmética;

• Entrada e Saída.

Figura 4: Figura proveniente do arquivo de Senger

A figura 4, motra o funcionamento básico de um computador, temos a entrada dos da-dos(Input), os dados são processados pela CPU que é composta por uma unidade para faz cál-culos simples mas num grande velocidade (Arithmetic Logic Unit) e por outra unidade querealiza o controle das ações, sobre a ordem em que as tarefas devem ser executadas. A memóriaque serve de suporte para armazenamento de dados, tanto para os dados processados quantopara dados não processados.

Para o autor a computação paralela também segue a mesma arquitetura só que com mul-tiplas unidades de processamento.

Grama et al (1994) afirma que existem diferentes formas de classificação para a com-putação paralela, uma das mais largamente utilizadas desde 1966 é chamada de Taxonomia de

Page 23: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

30

Flynn. A Taxonomia de Flynn distingue as arquiteturas de multi-processamento de acordo comduas dimensões independentes, o paralelismo de Instruções e de Dados. O autor afirma quede acordo com essas dimensões só existem 1 (um) ou 2 (dois) estados possíveis, o multiple ousingle, conforme a tabela 1.

Tabela 1 - Possíveis classificações para tipos de Paralelismo de acordo com Flynn

Descrições SIGLA Instruções DadosSingle Instruction, Single Data SISD Simples Simples

Single Instruction, Multiple Data SIMD Simples Múltiplas

Multiple Instruction, Single Data MISD Múltiplas Simples

Multiple Instruction, Multiple Data MIMD Múltiplas Múltiplas

• SISD

– Computador com processamento serial;

– Instruções: Somente 01 (uma) intrução pode ser executada por ciclo;

– Dados: Somente um grupo de dados podem ser usados por ciclo;

– O mais antigo e comum tipo de computador ainda usado nos dias de hóje;

• SIMD

– Um tipo de Computador com processamento paralelo;

– Instruções: Todas as unidades de processamento executam a mesma instrução;

– Dados: Cada unidade de processamento pode operar um elemento/dado diferente;

• MISD

– Um tipo de Computador com processamento paralelo;

– Instruções: Cada unidade de processamento opera instruções diferentes indepen-dentemente dos dados;

– Dados: Um único fluxo de dados alimenta as múltiplas unidades de processamento;

• MIMD

– Um tipo de Computador com processamento paralelo;

– Instruções: Todos os processadores podem executar uma intrução diferente;

– Dados: Todos os processadores podem trabalhar com um fluxo de dados diferente;

– Atualmente é o tipo mais comum de computador com processamento paralelo, ossupercomputadores mais modernos estão dentro desta categoria;

Para o presente trabalho poderia ser utilizado o tipo de paralelismo de MIMD.

Page 24: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

31

3 Proposta preliminar de um método iterativo híbrido paraa resolução de sistemas de equações lineares

Existem bibliotecas destinadas à utilização de arquiteturas multicore voltadas à com-putação numérica de alto desempenho como o descrito em (Blas; Netlib).

As mudanças introduzidas por arquiteturas multicore criaram a necessidade de desen-volver algoritmos que utilizem o hardware de forma mais eficiente, Baboulin (2009). Nessesentido, o presente trabalho apresenta um método de resolução de sistemas lineares resultanteda combinação dos métodos clássicos de Gauss-Jacobi e Gauss-Seidel, visando adaptar-se àplataforma multicore.

Os métodos iterativos de Jacobi e Gauss-Seidel (Burden & Faires, 2008) pertencem àclasse dos métodos iterativos estacionários sendo regidos por critérios de parada que controlamo processo de cálculo da solução do sistema.

Considere a "i-ésima"equação pertencente a um sistema de equações lineares, de dimen-são n x m:

n

∑j=1

ai, jx j = bi (25)

em que aai, j e bi são constantes e x j é uma das "n"variáveis pertencentes a solução do sistema,i ∈ n.

Nesse esquema, o valor da "i-ésima"variável (xi) na "k-ésima"iteração (xki ) dos métodos

de Jacobi e Gauss-Seidel pode ser calculada respectivamente pela equações (18) e (24) que tam-bém podem ser representadas conforme Tabela 2:

Tabela 2 - Métodos de Gauss-Seidel e Jacobi

Método de Jacobi Método de Gauss-Seidel

xk+1i =

(bi− ∑

j ̸=iai, jxk

j

)ai,i

xk+1i =

(bi− ∑

j<iai, jxk+1

j −∑ j>i ai, jxkj

)ai,i

No método de Gauss-Jacobi, a atualização das "n"variáveis que definem o sistema podeser feita de maneira aleatória em cada iteração, pois dependem apenas dos valores encontrados

Page 25: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

32

na solução anterior. Com isso, pode-se usar multiprocessamento na medida em que a atualiza-ção de variáveis distintas dentro da mesma iteração pode ser feita em paralelo.

No método de Gauss-Seidel, a atualização da "i-ésima"variável em cada iteração dependeda atualização das "j-ésimas"variáveis anteriores (j < i). Com isso, o método exige comporta-mento serial, pois cada atualização depende de componentes previamente computados.

A abordagem híbrida proposta nesse artigo é derivada dos métodos e Gauss-Seidel eGauss-Jacobi e a atualização das variáveis pode ser feita conforme descrito a seguir

Considere um sistema linear Ax = b, onde A = (ai j) e i, j = 1,2,3, . . . ,n, det(A) ̸= 0 eaii ̸= 0, i = 1,2,3, . . . ,n. O método proposto consiste na determinação de uma sequência aprox-imantes da iteração k:

(xk

1,xk2, . . . ,x

kn

), para k = 1,2,3, . . . ,n

de acordo com o sistema definido anteriormente, temos:

Dividindo as linhas do sistema pelos seus respectivos elementos da diagonal principal eexplicitando de x1,x2 até xn na n-ésima equação, temos o sistema escrito na forma equivalenteem (15):

O método iterativo híbrido é semelhante ao apresentado por Arenales & Darezzo (2008)para o método Gauss-Seidel com uma diferença, o sistema é submetido a um divisão em doisgrupos com as "n"equações divididos por 2, o resultado será analisado como um divisão inteira,para n

2 será utilizada uma equação de iteração e nas demais será usada outra equação diferentes,ou seja, para a aplicação do método serão utilizadas duas equações de iteração, ficando o Grupo1 com a primeira metada da divisão inteira e o grupo 2 com a segunda metade. O grupo 1 podeescrito na forma de sistema linear da seguinte forma:

xk+11 = 1

a11{b1− (a12xk

2 +a13xk3 + . . .+a1nxk

n)}

xk+12 = 1

a22{b2− (a21xk+1

1 +a23xk3 + . . .+a2nxk

n)}

xk+13 = 1

a33{b3− (a31xk+1

1 +a32xk+12 +a34xk

4 + . . .+a3nxkn)}

...

xk+1n2

= 1a( n

2 ,n2 ){bn

2 − [a( n2 ,1)

xk+11 +a( n

2 ,2)xk+1

2 + . . .+a( n2 ,n)

xkn2]}

(26)

Page 26: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

33

e o Grupo 2:

xk+1n2+1 =

1a( n

2+1, n2+1)

{b( n2+1)− [a( n

2+1,1)xk1 +a( n

2+1,2)xk2 + . . .+a( n

2+1,n)xkn]}

xk+1n2+2 =

1a( n

2+2, n2+2)

{b( n2+2)− [a( n

2+2,1)xk1 +a( n

2+2,2)xk2 + . . .+a( n

2+2, n2+1)x

k+1( n

2+1)+

+a( n2+2, n

2+3)xk( n

2+3)+ . . .+a( n2+2,n)xk

n]}

...

xk+1n−2 =

1a( n

2−2, n2−2)

{bn−2 − [an−2,1xk1 +an−2,2xk

2 + . . .+an−2,n−3xk+1n−3 +an−2,n−1xk

n−1 +an,nxkn]}

xk+1n−1 =

1a( n

2−1, n2−1)

{bn−1 − [an−1,1xk1 +an−1,2xk

2 + . . .+an−1,n−2xk+1n−2 +an−1,nxk

n]}

xk+1n = 1

a(nn){bn − [an1xk

1 +an2xk2 + . . .++an,n−xk+1

n−2 +an,n−1xk+1n−1]}

(27)De forma geral, o Método Híbrido Iterativo pode ser representado por:

Para i ≤ n/2

xk+1i =

1ai,i

(bi −∑

j<iai, jxk+1

j −∑j>i

ai, jxkj

)Com i = 1,2,3, . . . ,n (28)

e para n/2 < i ≤ n

xk+1i =

1ai,i

bi −∑j>i

ai, jxkj − ∑

j≤ n2

ai, jxkj − ∑

i> j> n2

ai, jxk+1j

Com i = 1,2,3, . . . ,n (29)

Escrevendo de forma semelhante a utilizada por Arenales & Darezzo (2008) para o métodode Gauss-Seidel, temos:

Para i ≤ n/2

xk+1i =

(gi −∑

j<ihi, jxk+1

j −∑j>i

hi, jxkj

)(30)

e Para n/2 < i ≤ n

Page 27: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

34

xk+1i =

gi −∑j>i

hi, jxkj − ∑

j≤ n2

hi, jxkj − ∑

i> j> n2

hi, jxk+1j

(31)

onde gi =biai,i

hi, j =ai, jai,i

i = 1,2, . . . ,n

Na sua forma matricial temos:

x(k+1)1

x(k+1)2

x(k+1)3

...

x(k+1)n2

x(k+1)n2 +1

x(k+1)n2 +2

...

x(k+1)n−2

x(k+1)n−1

x(k+1)n

=

0 0 0 0 0 0 . . . 0

− a21a22

0 0 0 0 0 . . . 0

− a31a33

− a32a33

0 0 0 0 . . . 0

......

......

......

......

−a( n

2 ,1)

a( n2 , n

2 )−

a( n2 ,2)

a( n2 , n

2 ). . . −

a( n2 ,( n

2 −1))

a( n2 , n

2 )0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 −a( n

2 +2),( n2 +1))

a( n2 +2),( n

2 +2)0 0 0

......

......

......

......

0 0 0 . . . − a(n−2,n−3)a(n−2,n−2)

0 0 0

0 0 0 . . . − a(n−1,n−3)a(n−1,n−1)

− a(n−1,n−2)a(n−1,n−1)

0 0

0 0 0 . . . − a(n,n−3)a(n,n)

− a(n,n−2)a(n,n)

− a(n,n−1)a(n,n)

0

x(k+1)1

x(k+1)2

x(k+1)3

...

x(k+1)n2

x(k+1)n2 +1

x(k+1)n2 +2

...

x(k+1)n−2

x(k+1)n−1

x(k+1)n

+

0 − a12a11

− a13a11

− a14a11

− a15a11

− a16a11

. . . − a1na11

0 0 − a23a22

− a24a22

− a25a22

− a26a22

. . . − a2na22

...... 0 − a34

a33− a35

a33− a36

a33. . . − a3n

a33

0 0... 0 − a45

a44− a46

a44. . . − a4n

a44

0 0... 0 0 − a56

a55. . .

...

−a( n

2 +1,1)

a( n2 +1, n

2 +1). . . −

a( n2 +1, n

2 )

a( n2 +1, n

2 +1)0 0 0 . . .

...

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

... . . .... 0 0 0 . . . − a(n−1,n

a(n−1,n−1)

− an,1ann

. . . −a(n, n

2 )

an,n0 0 0 . . . 0

x(k)1

x(k)2

x(k)3

x(k)4

x(k)5

x(k)n2 +1

...

x(k)n2 −1

x(k)n

+

b1a11

b2a22

b3a33

b4a44

b5a55

b( n2 +1)

a( n2 +1, n

2 +1)

...

b( n2 −1)

a( n2 −1, n

2 −1)

bnann

Page 28: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

35

Temos, desta forma, que x(k+1) = Px(k+1)+Qx(k+1)+ g, onde P = p(i, j) e Q = q(i, j) ei, j = 1,2,3, . . . ,n e pi j e qi j são dados por:

pi j =

−ai jaii, se

{i < n

2 e j < i

i > n2 e j > n

2

0, se

{i < n

2 e j < i

i > n2 e j > n

2

,qi j =

−ai jaii, se

{i < j

i > n2 e j ≤ n

2

0, se

{i ≤ n

2 e j ≤ n2

i > n2 e i > j

e g=bi

ai

De forma análoga ao escrito por Arenales & Darezzo (2008) para o métodode Gauss-Seidel escrevemos o método aqui proposto da seguinte forma, sendo I a matriz identidade:

(I −P)x(k+1) = Qx(k)+g (32)

A matriz (I −P) é inversível pois o determinante desta matriz sempre será diferente dezero, então multplicando-a em ambos os lados da expressão obtida, temos:

xk+1 = (I −P)−1Qx(k)+(I −P)−1g

Chamando H = (I − P)−1Q de Matriz iterativa e (I − P)−1g = g podemos escrever oMétodo Iterativo Híbrido Proposto na forma:

xk+1 = Hx(k)+g (33)

3.1 Convergência

Antes de começarmos o estudo de convergência devemos definir as normas de matrizesaqui utilizadas

3.2 Normas

Page 29: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

36

Segundo Dakson (2011, p. 10) "..para a definição de norma de uma matriz consideramos

um conjunto de matrizes n×n, com as operações de soma de matrizes e produto por um escalar

que formam um espaço vetorial E de dimensão n2. Logo, chamamos de norma de uma matriz

A, representado por ||A||, uma função qualquer definida no espaço vetorial das matrizes n×n

com valores em ℜ, que atendam as seguintes condições":

1. ||A|| ≥ 0 e ||A||= 0 ⇐⇒ A = 0 (Matriz Nula).

2. ||λA||= ||λ || · ||A|| para todo escalar λ .

3. ||A+B|| ≤ ||A||+ ||B||.

O Autor supracitado afirma que com isso então podemos falar em norma de uma matrizA ∈ E

Segundo Dakson(2011) e Franco(2007) temos abaixo alguns exemplos de normas de ma-trizes considerando que A é uma matriz n×n:

1. ||A||inf = max(1≤i≤n)n∑j=1

|ai j| (Norma Linha).

2. ||A||1 = max(1≤ j≤n)n∑

i=1|ai j| (Norma Coluna).

3. ||A||E =

√n∑

i, j=1|a2

i j| (Norma Euclidiana)

O estudo de convergência realizado foi feito com base no seguinte Teorema encontradoem Arenales & Darezzo (2008, p. 55)

Teorema 02 "Sejam uma norma matricial consistente com alguma norma vetorial e

x(0) ∈ ℜN uma solução aproximada inicial qualquer. Se ||H|| < 1, então a sequência de

soluções aproximadas definida pelo processo iterativo x(k+1) = Hx(k)+ g, k = 1,2, ..., con-

verge para a solução x do sistema Ax = b."

Devemos provar que ||e|| → 0, quando k → ∞ onde e(k) = x−x(k) é o erro cometido na

k-ésima iteração.

Page 30: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

37

PROVA

e(k) = x− x(k) = (Hx+g)− (Hx(k−1)+g) = H(x− xk−1) = He(k−1)

Portanto,

e1 = He0

e2 = He1 = H2e0

...

ek = Hke0

Assim,

||e(k)||= ||x− xk|| ≤ ||Hk||||e0||Por outro lado sabemos que

||Hk|| ≤ ||H||k, logo:||ek|| ≤ ||H||k||e||0

(34)

Assim, se ||H||< 1, temos que ||ek||= ||x− xk|| → 0, quando k → ∞. Portanto: xk → x.

Se ||H|| << 1, então ||H||k tende a zero rapidamente, ou seja, a sequência de soluçõesaproximadas converge para a solução do sistema rapidamente.

Se ||H|| ≈ 1, porém ||H||< 1, a convergência ocorre, mas lentamente.

Tabela 3 - Método Híbrido PropostoPara i ≤ n/2

xk+1i =

(bi −∑ j<i ai, jxk+1

j −∑ j>i ai, jxkj

)/ai,i

Para n/2 < i ≤ n

xk+1i =

(bi −∑i> j> n

2ai, jxk+1

j −∑ j>i ai, jxkj −∑ j≤ n

2ai, jxk

j

)/ai,i

O método proposto possui atualização dividida em duas computações independentes parauma mesma iteração k. Nesse esquema é possível o uso de processamento duplo na atualizaçãodas variáveis mediante o uso de arquitetura que possua, no mínimo, 2 processadores.

Page 31: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

38

4 Resultados e Discussões

Os exemplos utilizados neste trabalho serão apresentados em anexo e possuem os seguintescaractéristicas:

Tabela 4 - Informações sobre os problemas testados

Problema Tamanho Esparso Diagonalmente Dominante

(1) 3×3 Não Sim

(2) 4×4 Não Sim

(3) 10×10 Não Sim

(4) 30×30 Não Sim

(5) 225×225 Sim Não

(6) 765×765 Sim Não

(7) 1000×1000 Sim Não

Salientamos que os poblemas (5), (6) e (7) foram retirados do MatrixMarket (2012), com225, 765 e 1000 equações e variáveis. O MatrixMarket é um banco de dados para busca de ma-trizes, principalmente matrizes que envolvem problemas reais. (disponível em <www.matrixmaket.com,acessado em 16/10/2012>.

Page 32: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

39

DADOS ADICIONAIS SOBRE OS PROBLEMAS (5), (6) e (7):

Problema (5) - Elementos Não-Nulos e Plotagem da Estrutura

• TOTAl: 1065;

• DIAGONAL: 225;

• ABAIXO DA DIAGONAL: 420;

• ACIMA DA DIAGONAL: 420;

• A−A′ = 420;

• Refere-se a solução de uma equação diferencial parcial.

Figura 5: Plotagem do problema (5) - Figura proveniente do arquivo do MatrixMarket

Page 33: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

40

Problema (6) - Elementos Não-Nulos e Plotagem da Estrutura

• TOTAl: 24382;

• DIAGONAL: 765;

• ABAIXO DA DIAGONAL: 9289;

• ACIMA DA DIAGONAL: 14328;

• A−A′ = 30716;

• Refere-se a solução de um problema de Transferência radioativa Não-linear e equilíbrioestatístico.

Figura 6: Plotagem do problema (6) - Figura proveniente do arquivo do MatrixMarket

Page 34: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

41

Problema (7) - Elementos Não-Nulos e Plotagem da Estrutura

• TOTAl: 3750;

• DIAGONAL: 1000;

• ABAIXO DA DIAGONAL: 1375;

• ACIMA DA DIAGONAL: 1375;

• A−A′ = 0;

• Refere-se a solução de um problema envolvendo uma bacia de petròleo.

Figura 7: Plotagem do problema (7) - Figura proveniente do arquivo do MatrixMarket

Visando analisar a funcionalidade do algoritmo proposto, efetuou-se a implementação dosmétodos de Gauss-Jacobi, Gauss-Seidel e híbrido utilizando o SciLab 5.3.2 em uma máquinacom processador Intel Core i5, 4GB de RAM e rodando o Windows 7.

Os critérios de parada adotados foram um erro relativo com precisão de 10−5, e para oproblema (7) também fizemos testes com precisão de 10−3 e 10−4, outro critério de parada uti-lizado foi um limite máximo de 5000 iterações em todos os testes.

Para os problemas (5) e (6), o vetor b foi gerado aleatoriamente com SciLab 5.3.2.

Page 35: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

42

A Tabela 5 mostra os dados referentes as iterações e testes realizados por cada um dosmétodos na resolução dos sistemas considerados:

O teste dos algoritmos foi realizado mediante resolução dos sistemas descritos na tablela4, analisando a convegência, o tempo de processamento e o número de iterações,

Page 36: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

43

Tabe

la5

-Res

ulta

dos

Obt

idos

Prob

lem

aM

étod

oR

esul

tado

No

deIt

eraç

ões

Tem

pode

Exe

cuçã

oPr

ecis

ãoal

canç

ada

Prob

lem

a1(3

x3)

(10−

5 )Ja

cobi

Con

verg

iu6

0.01

5000

s7.

7551

1x10

−6

Gau

ss-S

eide

lC

onve

rgiu

40.

0160

00s

1.61

282x

10−

6

Híb

rido

Prop

osto

Con

verg

iu6

0.01

5000

s3.

1309

5x10

−6

Prob

lem

a2(4

x4)

(10−

5 )Ja

cobi

Con

verg

iu23

0.01

5000

s8.

0323

3x10

−6

Gau

ss-S

eide

lC

onve

rgiu

70.

0160

00s

8.21

25x1

0−6

Híb

rido

Prop

osto

Con

verg

iu14

0.03

2000

s8.

2734

1x10

−6

Prob

lem

a3(1

0x

10)(

10−

5 )Ja

cobi

Con

verg

iu27

0.03

1000

s6.

4205

7x10

−6

Gau

ss-S

eide

lC

onve

rgiu

150.

0310

00s

5.23

129x

10−

6

Híb

rido

Prop

osto

Con

verg

iu19

0.04

7000

s9.

1067

x10−

6

Prob

lem

a4(3

0x

30)(

10−

5 )Ja

cobi

Con

verg

iu7

0.06

2000

s4.

8959

9x10

−6

Gau

ss-S

eide

lC

onve

rgiu

50.

0470

00s

3.17

301x

10−

6

Híb

rido

Prop

osto

Con

verg

iu6

0.07

8000

s2.

8193

4x10

−6

Prob

lem

a5(2

25x

225)

(10−

5 )Ja

cobi

Con

verg

iu69

352

0.68

2000

s9.

8877

9x10

−6

Gau

ss-S

eide

lC

onve

rgiu

327

301.

3600

000s

9.79

648x

10−

6

Híb

rido

Prop

osto

Con

verg

iu44

841

0.56

2000

s9.

7362

5x10

−6

Prob

lem

a6(7

65x

765)

(10−

5 )Ja

cobi

Con

verg

iu21

720

50.2

3200

0s0

Gau

ss-S

eide

lC

onve

rgiu

207

2262

.787

00s

0H

íbri

doPr

opos

toC

onve

rgiu

207

2258

.524

000s

0Pr

oble

ma7

(100

0x

1000

)(10

−5 )

Jaco

biN

ãoC

onve

rgiu

5000

8003

8.77

1000

s1.

1942

6x10

−4

Gau

ss-S

eide

lN

ãoC

onve

rgiu

5000

9203

7.11

0000

s3.

0135

x10−

5

Híb

rido

Prop

osto

Não

Con

verg

iu50

0092

464.

2420

00s

3.01

419x

10−

5

Prob

lem

a7(1

000

x10

00)(

10−

4 )Ja

cobi

Não

Con

verg

iu50

0076

558.

3760

00s

1.19

426x

10−

4

Gau

ss-S

eide

lC

onve

rgiu

3229

5722

3.87

6000

s9.

9993

4x10

−5

Híb

rido

Prop

osto

Con

verg

iu32

3057

763.

0720

00s

9.99

461x

10−

4

Prob

lem

a7(1

000

x10

00)(

10−

3 )Ja

cobi

Não

Con

verg

iu39

564

65.2

7500

0s9.

9745

3x10

−4

Gau

ss-S

eide

lC

onve

rgiu

258

4902

.867

000

9.98

32x1

0−4

Híb

rido

Prop

osto

Con

verg

iu25

847

83.6

4500

0s9.

9854

9x10

−4

Page 37: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

44

Comentários

No problema 1 o método híbrido proposto convergiu para a solução, obtendo númerode iterações acima do Gauss-Seidel, tempo de execução melhor que o Gauss-Seidel e igual aoJacobi e a precisão obtida foi melhor que o Jacobi e pior que o Gauss-Seidel. Apesar dos re-sultados, este problema não é ideal para ánalises envolvendo métodos de resolução de sistemade equações lineares, por causa de seu número limnitado de equações e variáveis os resultadosapresentados tem tempo de execução muito baixo, tonrando a análise pouco precisa para esteproblema. Também trata-se de uma matriz de coeficientes bem condicionada com ausência deelementos nulos e composta por enúmeros inteiros na matriz dos coeficientes, que falicitam aresolução com o métodos implemenmtados.

No problema 2 o método híbrido proposto convergiu para a solução, obtendo número deiterações acima do Gauss-Seidel e abaixo do Jacobi, tempo de execução pior que o Gauss-Seidele Jacobi e a precisão obtida foi pior que o Gauss-Seidel e Jacobi, mas com pequena diferença en-tre eles. Com relação ao tempo de execução, este problema não é ideal para ánalises envolvendométodos de resolução de sistema de equações lineares, por causa de seu número limnitado deequações e variáveis os resultados apresentados tem tempo de execução muito baixo, tonrandoa análise pouco precisa para este problema. Também trata-se de uma matriz de coeficientesbem condicionada com poucos elementos nulos e composta de números inteiros na matriz doscoeficientes, que falicitam a resolução com o métodos implemenmtados.

No problema 3 o método híbrido proposto convergiu para a solução, obtendo número deiterações acima do Gauss-Seidel e abaixo do Jacobi, tempo de execução pior que o Gauss-Seidele Jacobi e a precisão obtida foi pior que o Gauss-Seidel e Jacobi. Com relação ao tempo de ex-ecução, este problema não é ideal para ánalises envolvendo métodos de resolução de sistemade equações lineares, por causa de seu número limnitado de equações e variáveis os resulta-dos apresentados tem tempo de execução muito baixo, tonrando a análise pouco precisa paraeste problema. Também trata-se de uma matriz de coeficientes bem condicionada que apesar devários elementos nulos é composta de números inteiros na matriz dos coeficientes, que falicitama resolução com o métodos implemenmtados.

No problema 4 o método híbrido proposto convergiu para a solução, obtendo número deiterações acima do Gauss-Seidel e abaixo do Jacobi, tempo de execução pior que o Gauss-Seidele Jacobi e a precisão obtida foi melhor que o Gauss-Seidel e Jacobi. Com relação ao tempo deexecução, este problema não é ideal para ánalises envolvendo métodos de resolução de sistemade equações lineares, por causa de seu número limnitado de equações e variáveis os resulta-dos apresentados tem tempo de execução muito baixo, tonrando a análise pouco precisa para

Page 38: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

45

este problema. Também trata-se de uma matriz de coeficientes bem condicionada que apesar devários elementos nulos é composta de números inteiros na matriz dos coeficientes, que falicitama resolução com o métodos implemenmtados.

No problema 5 o método híbrido proposto convergiu para a solução, obtendo número deiterações acima do Gauss-Seidel e abaixo do Jacobi, tempo de execução pior que o Gauss-Seidele melhor que o Jacobi e a precisão obtida foi melhor que o Gauss-Seidel e Jacobi. Este prob-lema é de bom dimensionamento para ánalises envolvendo métodos de resolução de sistemade equações lineares. Seu número de equações e variáveis já esta próximo de ser consideradoum problema de grande porte, os resultados apresentados tem diferenças no tempo de execuçãoconsideráveis, tonrando a análise mais precisa para este problema. Também trata-se de umamatriz de coeficientes mal condicionada com vários elementos nulos e composta de númeroscom várias casas decimais na matriz dos coeficientes, que dificultam a resolução com o métodosimplemenmtados.

No problema 6 o método híbrido proposto convergiu para a solução, obtendo número deiterações igual ao Gauss-Seidel e abaixo do Jacobi, tempo de execução melhor que o Gauss-Seidel e pior que o Jacobi e a precisão obtida foi a mesma que o Gauss-Seidel e Jacobi. Esteproblema é de bom dimensionamento para ánalises envolvendo métodos de resolução de sis-tema de equações lineares. Pelo seu número de equações e variáveis já pode ser consideradoum problema de grande porte. Os resultados apresentados tem diferenças no tempo de execuçãoconsideráveis, tonrando a análise mais precisa para este problema. Também trata-se de uma ma-triz de coeficientes mal condicionada com vários elementos nulos e composta de números comvárias casas decimais na matriz dos coeficientes, que dificultam a resolução com o métodosimplemenmtados.

No problema 7 considerando um precisão de 10(−5) o método híbrido proposto não con-vergiu para a solução, assim como o Gauss-Seidel e Jacobi, tempo de execução pior que oGauss-Seidel e Jacobi e a precisão obtida na ultima iteração foi pior o Gauss-Seidel e Jacobi,mas com diferença da ordem de 10(−3) em relação ao Gauss-Seidel. Este problema é ideal paraánalises envolvendo métodos de resolução de sistema de equações lineares. Trata-se de umproblema de grande porte, cujos resultados apresentados tem diferenças no tempo de execuçãoconsideráveis, tonrando a análise mais precisa para este problema. Também trata-se de umamatriz de coeficientes mal condicionada com vários elementos nulos e composta de númeroscom várias casas decimais na matriz dos coeficientes, que dificultam a resolução com o méto-dos implemenmtados. Neste problema por a matriz dos coeficientes estar mal condicionada,nenhum dos métodos convergiu para a solução.

Page 39: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

46

Como considerando a precisão de 10(−5) não houve convergência para nenhum dos méto-dos, então realizamos testes diminuindo a precisão para análisar a convergência deste problema.

No problema 7 considerando um precisão de 10(−4) o método híbrido proposto convergiupara a solução, assim como o Gauss-Seidel, já o Jacobi não convergiu para a solução e paou comas 5000 iterações, tempo de execução pior que o Gauss-Seidel mas com diferença de menos que1

No problema 7 considerando um precisão de 10(−3) o método híbrido proposto convergiupara a solução, assim como o Gauss-Seidel e Jacobi, tempo de execução melhor que o Gauss-Seidel e Jacobi, e a precisão obtida foi pior o Gauss-Seidel e Jacobi, mas com um diferença daordem de 10(−3) entre os tr es métodos.

Os resultados mostram que quanto ao número de iterações o método híbrido não obteveconvergência tão rápida quanto o método de Gauss-Seidel, mas teve melhor resultado que ométodo de Gauss-Jacobi com o benefício que a equação esta pronta para que o método possaser paralelizado (enquanto o Gauss-Seidel não). Quanto ao tempo de execução, dos nove testesrealizados o método híbrido obteve melhor tempo para finalização em três testes melhor que oGauss-Seidel em três testes e por quatro vezes foi mais rápido que o Gauss-Jacobi.

4.1 Sugestão para trabalhos futuos

Tais resultados ainda merecem análises mais detalhadas. Com isso, como trabalhos fu-turos, pretende-se desenvolver o método num ambiente de computação paralela e numa lin-guagem de pogramação mais apropriada como o C, também realizar testes com tipos de com-putação paralela(Paralelismo de instruções, de dados), com memória compartilhada ou dedi-cada. Também como sugestão para trabalhos futuros, pretendemos estudar uma a aplicação dométodo híbrido proposto considerando 3 pocessos e n pocessos.

Page 40: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

47

5 Considerações Finais

Segundo Dakson (2011) qualquer método de resolução de sistemas lineares escolhidotem o objetivo de encontra um vetor solução que satisfaça as condições pré-estabelecidas, maso método indicado também deve ser escolhido de acordo com essas condições, entre os muitosmétodos existentes(alguns citados neste trabalho, outros não) os dividimos em diretos e itera-tivos.

Apesar de os metodos diretos sempre encontrarem a solução se esta existir, nem todoproblema pode se dar ao tempo e porque não dizer ao luxo de esperar por esta solução, existeuma frase popular que diz "tempo é dinheiro"e além da viabilidade econômica os métodos iter-ativos encontram por vezes respostas satisfatórias para os problemas investigados.

A escolha sobre qual método (direto ou iterativo) recai sobre o quão precisa é a respostaque queremos, e a precisão será definida pelo tipo de problema, como exemplos se errarmos em10−4 a corrente que deverá passar por uma determinada parte de um circuito elétrico terá umaimplicação bem mais catastrófica que do que o mesmo erro no dimensionamento de uma vigade construção civil.

Assim, fica condicionado que entre outros motivos o tipo de problema nos dimensionaráa precisão, e com esta definida podemos escolher o método. Como já foi dito neste trabalho,a maioria dos problemas de engenharia nos retornam sistemas de equações lineares grandese esparsos e em alguns casos como em um dos testes realizados também serão sistemas commatrizes mal condicionadas. Os Métodos iterativos uma vez satisfeitas as condições de con-vergência nos retornarão soluções aproximadas em menor tempo que os métodos diretos.

Para aplicações praticas, os métodos iterativos apresetados neste trabalho possuem algo-ritmos para sua execução em computadores e realizam cálculos numa velocidade muito grande,sendo uma grande ferramenta no estudo e resolução se sistemas com esses métodos, face o ad-vento da computação paralela, viemos por meio deste trabalho adaptar um desses métodos paraa computação paralela, onde os testes realizados tiveram resultados satisfatórios e em algunsaté suspreendentes.

Portanto este trabalho atingiu todos os seus objetivos descritos na subseção 1.2.

Page 41: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

48

6 Referências

BOYER, Carl Benjamin. História da matemática. 11a ed. São Paulo: Edgard Blucher, 1974.

BURDEN, Richard L.; FREITAS, J. Douglas. Análise Numérica. 8a ed. São Paulo: CengageLearning, 2008.

FRANCO, Neide Bertoldi. Cálculo Numérico. São Paulo: Pearson, 2006.

GAVALA, Francisco Javier Cobos. Cálculo Numérico: Apuntes para el curso de 2001-2002.Disponível em: <www.decom.ufop.br/bob/com400/livros/ap_cal_num_esp.PDF>. Acesso em:30 ago. 2011.

LEON, Steven J. Álgebra Linear: com aplicações. 8a ed. Rio de Janeiro: LTC, 2011.

LIPSCHUTZ, Seymour. Álgebra Linear. 2a ed. São Paulo: Mcgraw-hill, 1977.

BOLDRINI, José Luiz; COSTA, Sueli I. Rodrigues; FIGUEIREDO, Vera Lúcia; WETZLER,Henry G.Álgebra Linear, ampliada e revisada, 3a Edição, Editora HARBRA Ltda. 1980.

SPERANDIO, Décio; MENDES, João Teixeira; SILVA, Luiz Henry Monken e. Cálculo Numérico:características matemáticas e computacionais dos métodos numéricos. São Paulo: PearsonPrentice Hall, 2003.

BARROSO, Leônidas Conceição; BARROSO, Magali Maria de Araújo; CAMPOS, FredericoFerreira Filho; CARVALHO, Marcio Luiz Bunte; MAIA, Miriam Lourenço. Cálculo Numérico.São Paulo: Editora HARBRA Ltda, 1987.

NETLIB, método iterativo de Gauss Jacobi, disponível em <http://netlib.org/linalg/html_templates/node12.html>,acesso em 15/01/2012, 16h

BLAS: Basic linear algebra subprograms. disponível em <http://www.netlib.org/blas/>, acessoem 15/01/2012, 19h.

BUTTARI. A Class of Parallel Tiled Linear Algebra Algorithms for Multicore Architec-tures. LAPACK Working Note # 191.

Programação Paralela em Arquiteturas Multi-Core/Compiladores paralelizadores, disponívelem <http://pt.wikibooks.org/wiki/Programa

BARNEY, Blaise Introduction to Parallel Computing, disponível em <https://computing.llnl.gov/tutorials/parallel_comp/>acessado em 22/06/2012.

SENGER, Luciano J. Parallel computing simulation of fluid flow, disponível em <http://www.icmc.usp.br/l̃efraso/parallel.html>acessado em 12/06/2012.

Page 42: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

49

MATTSON, Timothy G.; SANDERS, Beverly A.; MASSINGLI, Berna L. Patterns for Paral-lel Programming. Boston-MA, Pearson Education, Inc. 2004.

GRAMA, Anarth; GUPTA, Anshul; KARYPIS, George; KUMAR, Vipin. Introduction toParallel Computing, Second Edition. Harlow - England. Pearson Education Limited. 1994.

Page 43: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

50

7 AnexosProblema 1:

9x1 +3x2 + x3 = 15x1 +7x2 + x3 =−102x1 +4x2 +8x3 = 6

Problema 2:

5x1 +2x2 + x4 = 39x1 +10x2 −3x3 +4x4 = 6−6x1 +4x2 −7x3 =−163x1 −8x2 +3x3 +3x4 = 22

Problema 3:

4x1 − x2 − x3 =−110−x1 +4x2 − x3 − x5 =−30−x2 +4x3 − x6 =−40−x1 +4x4 + x5 =−110−x2 − x4 +4x5 − x6 − x7 = 0−x3 − x5 +4x6 − x8 =−15−x5 +4x7 − x8 =−90−x6 − x7 +4x8 − x9 =−25−x8 +4x9 − x10 =−55−x91+4x10 =−65

Page 44: RESUMO Muitas são as formas de se resolver sistemas de ... João Paulo... · a velocidade de convergência do método Gauss-Seidel, e possibilitar, a computação paralela que é

51

Problema 4:

4x1−1x2−1x14−1x28 =−110−1x1+30x2−1x3−1x5−1x13−1x15+2x16 =−30−1x2+20x3+3x16−1x22−1x28+2x29 =−40−1x1+19x4−1x5+4x14+4x30 =−110;−1x4+50x5−1x6−1x7−1x12−1x14−1x17−1x22−1x28 = 0;−1x3−1x5+6x6−1x8−1x13 =−15;−1x5+30x7−1x8−1x18 =−90−1x6−1x7+20x8−1x9−1x17−1x22+2x23−1x25 =−25;−1x8+4x9+1x18−1x26 =−55;5x10 =−65;4x5+30x11−1x12−1x14|−1x28 =−110;4x5+2x11+11x12−1x15 =−30;4x5−1x12+8x13−1x28 =−40;4x5+15x14−1x15+3x30 =−110;4x5+1x7+1x10−1x14+12x15−1x17+1x23−1x28 = 0;4x5+1x9−1x10−1x13−1x15+16x16−1x29 =−15;4x5+4x7+25x17 =−90;4x5−1x6+2x7+1x13+1x14−1x17+25x18−1x22+2x23−1x25 =−25;4x5+1x14+19x19+4x25−1x26 =−55;20x20 =−65;1x2−1x8+4x11+1x16−1x20+4x21−1x28 =−110;4x11+1x158x22 =−30;−1x8−1x12+1x15+1x16−1x22+9x23−1x28+1x29 =−40;4x11+4x20+14x24 =−110;01x3−1x8+4x11−1x12+1x13+1x17−1x20−1x22+1x23+25x25−1x28 = 0;−1x9+4x11+4x12−1x19+1x24+28x26−1x29 =−15;1x3+4x11+1x24+17x27 =−90;−1x5+4x11−1x12+2x13−1x15−1x22+2x23+1x24−1x25+1x27+28x28−25;−1x6−1x16−1x26+1x27+9x29 =−55;1x24+0x26+1x27+9x30 =−65