Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Sobre os autores Selma Helena de Vasconcelos r\renales Pnifrssor;1 do llepart.1mcntl1 dr Matf rn;ít ic;1 d;1 llnivrrsidadc írdrr;1l de S.lo Cir it1s-LIFS(;1r. Cr;1du;1d;1 cm Matl'm;ític;1 pda llniwrsid;1dc Estadual Júlio l'vksquit;1 filho (llncsp) r mcstrr em Matemática r\plicada peb Universidade Estadual de Crn1pinas (Llnil";1mp). Possui experiência na <ÍrTa de M;llcm;ít ir;1, com ênfase em 111atl'111;1tica ;1plicada, ;1tu;1 11do cm p rojetos de pesquisa e oricnt1ç;'io de alunos nas áre;1s de Otimiza \'<'io e 1\nálisc Numfrica, com enfoques na nllldd;1gem de prnhlrmas e métodos numé rin 1s de resoluç.lo . Tem puhlic;1do trabalhos cm rongn·ssos cm ensino de M;1temática, principalmente no ensino de Cálculo Numl� rico com ferramentas computacion;1is. Artur Darezzo Filho Licrnciado cm Matcmát ira pela íanrl d<tdc de Filosofia, Cirnrias e Lrt ras de Rio liam - SP ( 1971 ), mestre cm Ciências da Cl1111putaç.10 e Estatística - opç.lo computa ç;fo - pela Universidade de S.lo Paulo - LISP, S;'ill Carlos (197B), doutor cm Engenharia Civil pda Universidade de S.lo Paulo - LISP, S.lo Carlos ( 1996). Desde 19 72 é professor vinculado ao Departamento de Matemática da Universidade Federal de S.lo Carlos, onde exerceu as funções de docente, pesquisador na área de Modrlagcm Matr rnát irn e Méto dos l'\uméricos e coordenador do curso de Matemática . A partir do ano de 2001, como pnikssor aposentado, passou <1 ser professor n1nvidado voluntário no mesmo Departa mento de Matemátim até a presente data. foi também professor e coordenador do curso de Matrm<Íl ie<1 Aplic;ida e Computa cional do Centro Llnivcrsit<'irio Centrnl Pau lista - Linicrp - S<'io Car los (SP). Atualmente exerce as furn,;(ks de Diretor Acadêmico da Esrol;1 Superior de Tecnologia e Educaç;'io de Rio Claro, Rio Claro SI� Dados Internacionais ci. Cataloqação na Publicação (CIP) (c&mara Brasileira do Livro, SP, Brasil) 07-6796 Arenales, Selma Cálculo numérico : aprendizagem com apoio de software I Selma Arenales, Artur Darezzo. SAo Paulo : Thomson Learning, 2008. Bibliografia ISBN 978-85-221-0602-8 1. Cálculo numérico 2. Cálculo numérico - Problemas, exercicios etc. I. Darezzo, Artur. II. Titulo. CDD-515.07 1. Cálculo numérico : Estudo e ensino 515. 07 Cálculo Numérico Aprendizagem com Apoio de Software Selma Arenales Artur Darezzo THOMSON • Austrália Brasil Canadá Cingapura Espanha Estados Unidos México Reino Unido Gerente Editorial: Patricia La Rosa- Editora de Desenvolvimento: Ligia Cosmo Cantarelli Supervisor de Produção Editorial: Fábio Gonçalves Copyright © 2008 de Thomson Learning Edições Ltda., uma divisão da Thomson Learning, lnc. Thomson Learning™ é uma marca registrada aqui utilizada sob licença. Impresso no Brasil Printed in Brazil. 1 2 3 4 10 09 08 Condomínio E-Business Park Rua Werner Siemens, 111 Prédio 20 - Espaço 03 Lapa de Baixo - CEP 05069-900 São Paulo - SP Tel.: (11) 3665-9900 Fax: (11) �665-9901 sac@thomsonlearning.com.br www.thomsonlearning.com.br THOMSON • Produtora Editorial: Renata Siqueira Campos Revisão: Gisele Múfalo Supervisora de Produção Composição: Gráfica: Segmento & Co. Produções Fabiana Alencar Albuquerque Gráficas Ltda. Copidesque: Sueli Bossi da Silva Todos os direitos reservados. Nenhuma parte deste livro poderá ser reproduzida, sejam quais forem os meios empregados, sem a permissão, por escrito, da Editora. Aos infratores aplicam-se as sanções previstas nos artigos 102, 104, 106 e 107 da Lei nQ 9.610, de 19 de fevereiro de 1998. Capa: Eduardo Bertolini Dados Internacionais de Catalogação na Publicação (CIP) (Câmara Brasileira do Livro, SP, Brasil) Arenales, Selma Cálculo numérico : aprendizagem com apoio de software I Sei ma Arenales, Artur Darezzo. -- São Paulo : Thomson Learning, 2008. Bibliografia ISBN 978-85-221-0602-8 1. Cálculo numérico 2. Cálculo numérico - Problemas, exercícios etc. 1. Darezzo, Artur. li. Título. 07-6796 CDD-515.07 lndice para catálogo sistemático: 1. Cálculo numérico : Estudo e ensino 515.07 Ao Marcos Arenales, meu esposo, aos meus pais Maria e Sebastião Vasconcelos e à minha família de amigos. Com carinho para minha esposa Regina, companheira de todas as jornadas e aos meus filhos Helga, Fabiana e João Paulo. Sumário Prefácío IX Agradecímentos X Capítulo 1 Erros em processos numéricos 1 1.1 Introdução 1 1.2 Erros na fase da modelagem 2 1.3 Erros na fase de resolução 2 1.4 Erros de representação 5 1.5 Erro de arredondamento 10 1.6 Erro absoluto 10 1.7 Erro relativo 11 1.8 Erro de truncamento 12 1.9 Propagação dos erros 14 Exercícios 16 1 Capítulo 2 Solução numérica de sistemas de equações lineares e matrizes inversas 19 2.1 Introdução 19 2.2 Sistemas de equações lineares 19 2.3 Métodos diretos 21 2.4 Matrizes inversas 46 2.5 Condicionamento de sistemas lineares 49 2.6 Métodos iterativos 49 Exercícios 68 Capítulo 3 Solução numérica de equações 73 3.1 Introdução 73 3.2 Localização das raízes: métodos gráficos 74 3.3 Métodos numéricos para resolução de equações 76 3.4 Equações polinomiais 96 3.5 Sistemas de equações não lineares 106 3.6 Trabalhando com o software numérico 121 Exercícios 124 vii viii Cálculo Numérico Capítulo 4 Aproximação de funções 127 4.1 Introdução 127 4.2 Interpolação polinomial 127 4.3 Fórmula interpolatória de Lagrange 132 4.4 Interpolação linear 138 4.5 Fórmula interpolatória de Newton 141 4.6 Interpolação inversa 148 4.7 Fórmula interpolatória de Newton-Gregory 153 4.8 Aproximação de funções - o método dos mínimos quadrados 157 4.9 Trabalhando com o software numérico 182 Exercícios 185 Capítulo 5 Integração numérica 189 5.1 Introdução 189 5.2 Fórmulas de quadratura de Newton-Cotes 191 5.3 Erro cometido na integração numérica 192 5.4 Regra dos trapézios 193 5.5 Regra 1 /3 de Simpson 200 5.6 Regra 3/8 de Simpson 208 5.7 Fórmula de quadratura de Gauss 216 5.8 Integração dupla 223 5.9 Trabalhando com o Software Numérico 227 Exercícios 229 Capítulo 6 Solução numérica de equações diferenciais ordinárias 233 6.1 Introdução 233 6.2 Problema de valor inicial (PVI) 236 6.3 Discretização 241 6.4 Métodos baseados em série de Taylor 242 6.5 Métodos de Runge-Kutta 251 6.6 Métodos previsor-corretor 269 6.7 Trabalhando com o Software Numérico 278 Exercícios 282 Capítulo 7 Manual do Software Numérico 285 7.1 Introdução 286 7.2 Objetivos 286 7.3 Software Numérico - Módulos desenvolvidos 286 7.4 Abertura do Software Numérico 287 7.5 Descrição dos módulos do Software Numérico 288 Referências bibliográficas 361 Índice remissivo 363 Prefácio Este livro foi projetado e escrito com o objetivo de oferecer aos estudantes de ciências exatas um material didático simples e de fácil entendimento dos tópi cos de um curso básico de Cálculo Numérico, de um semestre, nas instituições de ensino superior. Originada a partir de uma apostila, Notas de Cálculo Numérico, escrita pelos autores e pelos professores que ministravam a disciplina de Cálculo Numérico e publicada pelo Departamento de Matemática, conforme Darezzo, A. F.; Arenales, S. H. V. et al. (1992), esta obra reflete a experiência de muitos anos dos autores, no ensino da disciplina Cálculo Numérico para diferentes cursos do Centro de Ciências Exatas e de Tecnologia da Universidade Fe deral de São Carlos - UFSCar. O livro é composto de sete capítulos contendo os principais tópicos abordados numa disciplina básica de Cálculo Numérico nas universidades, apresentando os métodos numéricos com desenvolvimento teórico e os res pectivos algoritmos descritos de forma simples, com exemplos e listas de exercícios para fixação do conteúdo. Alguns resultados do Cálculo Diferencial Integral, da Álgebra Linear e da Geometria Analítica foram utilizados no decorrer dos capítulos, conside rando que os alunos tenham estes conhecimentos. Juntamente com este livro desenvolvemos o Software Numérico de apoio ao ensino/aprendizagem de tópicos básicos de Cálculo Numérico, no qual conceitos e resultados dados em sala de aula são reforçados em aulas de exercícios nos laboratórios computacionais. O Software Numérico relaciona cinco módulos: Sistemas Lineares, Raízes de Funções, Interpolação e Aproxi mação de Funções, Integração Numérica e Equações Diferenciais Ordinárias. Este software foi desenvolvido inicialmente durante o Projeto de Rees truturação do Ensino de Engenharia - Projeto Reenge (1996), em seguida foi aperfeiçoado e tem sido utilizado como ferramenta metodológica, em aulas ix X Cálculo Numérico de exercícios, para todas as turmas de Cálculo Numérico no Laboratório de Ensino do Departamento de Matemática da UFSCar. Acreditamos, também, que este material possa ser aplicado em cursos na modalidade Ensino a Distância, o qual o professor, com listas de exercícios bem elaboradas, reforça e melhora a- aprendizagem desses assuntos, com a aplicação do Software Numérico, que contém um Arquivo de Correção, o qual armazena todas as etapas de execução dos exercícios feitos pelos alunos. Posteriormente, o professor pode acessá-lo, analisá-lo e realizar comentários sobre tentativas, erros e acertos dos alunos estabelecendo uma interação pro fessor/ aluno a distância, que pode ser encontrado para download no site da Editora Thomson (www.thomsonlearning.com.br). O Manual do Software Numérico, no qual o usuário possui, de forma simples e clara, um resumo sobre os métodos numéricos desenvolvidos nos capítulos anteriores deste livro com exemplos ilustrativos, além de infor mações sobre o uso, sintaxe, entrada de dados e todos os esclarecimentos à disposição no Help On Line pode ser encontrado no CD que acompanha este livro. O usuário pode instalar o software de maneira simples utilizando a senha 6028. Este software também foi usado, numa experiência de ensino na dis ciplina de Cálculo Numérico, integrado com o uso de Mapas Conceituais. Com esta metodologia de ensino/ aprendizagem foi possível observar efeitos, influências, benefícios e dificuldades, tanto nas atividades em sala de aula como em aulas de laboratório, conforme publicação Salvador, J. A.; Arenales, S. H. V. et al. (2003). Agradecimentos Aos estudantes da UFSCar e do Centro Universitário Central Paulista -Unicep, pelo retorno positivo nas versões preliminares que nos incentivou a publi car este livro. Aos colegas do Departamento de Matemática da UFSCar que de alguma forma acompanharam este trabalho e acreditaram no seu desenvolvimento, através do incentivo diário e de sugestões para que os objetivos propostos fossem alcançados. Em especial, ao Professor Dr. Marcos NereuArenales, docente do Depar tamento de Matemática Aplicada e Estatística - ICMC-USP-São Carlos, pela leitura e pelas sugestões pertinentes nos diversos capítulos deste livro. Selma Arenales Artur Darezzo Capítulo 1 Erros em Processos Numéricos 1 . 1 Introdução De uma maneira geral, a resolução de um problema de qualquer área do conhe cimento científico passa inicialmente por uma fase de observação e entendimento do fenômeno físico envolvido na qual, usando conhecimentos já estabelecidos, buscamos, através· de simplificações, quando necessárias, a construção de um modelo matemático que represente, com a maior fidelidade possível, o problema que desejamos tratar. Esta etapa é caracterizada como fase da modelagem do modelo matemático. Com o problema representado através de um modelo matemático, bus camos, para a sua resolução, um método exato quando possível, ou, quando não, um método numérico aproximado. Mesmo quando utilizamos na resolução do modelo matemático um mé todo exato, isto é, um método que apresenta a solução exata para o modelo, pelo fato de este envolver um número muito grande de operações elemen tares (adição, multiplicação, subtração e divisão) e, sendo estas processadas em equipamento com capacidade limitada para armazenar dados, podemos cometer erros. Por outro lado, quando optamos, em razão da complexidade do modelo matemático, pela resolução através de um método numérico, além dos erros no processamento anteriormente mencionados, podemos também cometer erros provenientes do fato de utilizarmos, para a resolução do modelo mate mático, um algoritmo aproximado. Esta etapa é caracterizada como fase de resolução do modelo matemático. Podemos entender as duas fases descritas anteriormente através do es quema representado na Figura 1 . 1 . Neste capítulo apresentamos os principais erros que podem ocorrer na fase da resolução de um problema. Os erros cometidos devido à mudança 1 2 Cálculo Numérico Problema Real Fase da Modelagem Figura 1 . 1 Solução para o Modelo Matemático Fase da Resolução da base de processamento, os erros de representação, devido ao sistema uti lizado pelos computadores para armazenar dados numéricos; os erros de arredondamento e truncamento; e erros absolutos e relativos. 1.2 Erros na fase da modelagem São os erros decorrentes de simplificações, muitas vezes necessárias, para que o fenómeno da natureza que estivermos observando possa ser repre sentado por um modelo matemático e que tenha condições de ser tratado com as ferramentas matemáticas disponíveis. 1.3 Erros na fase de resolução São erros provenientes da utilização de algum equipamento, como, por exem plo, um computador, para processarmos os cálculos necessários à obtenção de uma solução para o modelo matemático. Tais erros ocorrem devido ao fato de os equipamentos terem capacidade limitada para armazenar os dígitos significativos de valores numéricos utilizados nas operações elementares de adição, multiplicação, subtração e divisão. Os erros nesta fase de resolução podem ser classificados em erros na mudança de base e erros de representação, apresentados a seguir: Erros na mudança da base A maioria dos equipamentos computacionais representa os valores numé ricos no sistema binário. Assim, quando os dados numéricos presentes nos modelos matemáticos são lidos, estes são transformados em uma outra base de representação. Erros em Processos Numéricos 3 Acontece, muitas vezes, que esta transformação pode ser acometida de erros, em razão da limitação da representação do equipamento computacio nal que estamos utilizando para o processamento dos dados numéricos. Dado um número real, N, é sempre possível representá-lo em qualquer base b, da seguinte forma: m Nb = L ªixbi i = n onde ai E {o, 1, 2, 3, . . . , (b- 1)}, com n e m inteiros. Base binária m N2 = L ªi x2i , ai E {0, 1} i = n Exemplo 1.1 a) ( 101 1 h = 1 X 2° + 1 X 21 + 0 X 22 + 1 X 23 Neste caso, o binário só tem a parte inteira, isto é, i = O, l, 2, 3, e temos: a0 = l, a1 = 1, a2 = O, a3 = 1 b) ( 1 1 1 .01 )2 = 1X2-2 + 0 X 2- l + 1X2º + 1X21 + 1X22 Neste 'Caso, o binário tem parte inteira e parte fracionária, isto é, n = -2 e m = 2, e portanto: Base decimal m N10 = L ªi xlOi, ai E {O, 1, ... , 9}, com n e m inteiros. i = n Exemplo 1.2 a) ( 231 )10 = 1 X 10° + 3 X 101 + 2 X 102 Neste caso, o número na base decimal é inteiro, i = O, 1, 2 e temos: ªº = l, ª1 = 3, ª2 = 2 b)(231 . 35)10 = 5x10-2 + 3x10-1 + lx10° + 3xl01 + 2x102 Neste caso, o número na base decimal tem parte inteira e parte fracionária, n = -2 e m = 2, e temos: ª-2 = 5, ª-1 = 3, ªº = 1, ª1 = 3, ª2 = 2 Assim, dado um número real qualquer numa base b, podemos escrevê-lo em uma outra base b', a partir de adequação conveniente de seus coeficien tes ai = O, l, 2, 3, . . . , (b - 1) e de uma potência adequada na nova base b'. 4 Cálculo Numérico Mudança da base binária para a base decimal Procedimento: multiplicar o dígito binário por uma potência adequada de 2. Exemplo 1.3 a) ( 1 101 h = 1 X 2° + o X 21 + 1 X 22 + 1 X 23 = ( 13 ho b) ( 1 1 1 .011 )2 = 1X2 -3 + 1X2-2 + 0 X 2-l + 1X2° + 1X21 + 1X22 = ( 7.375 )10 Mudança da base decimal para a base binária (número na base decimal tem somente a parte inteira) Procedimento: divisões sucessivas. O procedimento consiste na divisão do número na base decimal sucessi vamente por 2, armazenando, a cada passo, o algarismo do resto (r), até que o quociente da divisão seja igual a 1 . O binário é constituído pelo quociente 1 e pelos coeficientes do resto da divisão, a partir do resto mais significativo (rn _ 1) para o menos significativo (r1) . Desta forma, temos: N10 = ( l, fn-v fn- 2 1 rn-3 1 . . . , r3 , rz , ri )2 Exemplol.4 a) ( 25 )i0 = ( llOOlh = 1x2° + O x 21 + O x 22 + 1x23 + 1x24, isto é: 25+2 = 12 e resto = 1, 12+2 = 6 e resto = O, 6 + 2 = 3 e resto = O 3 + 2 = 1 e resto = l, 1 + 2 = O e resto = 1 b) ( 1 1 )10 = ( 101 1h = 1X2° + 1X21 + 0 X 22 + 1X2 3 Mudança da base decimal para a base binária (número na base decimal tem somente a parte fracionária) Procedimento: multiplicações sucessivas. O procedimento é constituído dos seguintes passos: a) Multiplicamos o número fracionário por 2. b) Do resultado do passo a), a parte inteira é o primeiro dígito binário. c) Do resultado do passo b), a parte fracionária é novamente multipli cada por 2. d) O processo continua até que a parte fracionária seja nula. Exemplo 1.5 a) (0.1875 )10 = ( O.OOllh =O x 2-1 + O x 2-2 + 1x2-3 + 1x2-4 = (?'i6)10, isto é: (0.1875)(2) = 0.375 � parte inteira = O e parte fracionária = 0.375 (0.375)(2) = 0.75 � parte inteira = O e parte fracionária = 0.75 (0.75)(2) = 1 .5 � parte inteira = 1 e parte fracionária = 0.5 (0.5)(2) = 1 .0 � parte inteira = 1 e parte fracionária = O Erros em Processos Numéricos b) (13.25)10 = (13)i0 + (0.25)10 = (1101)2 + (0.01)2 = (1101 .01)2 e) (0.2 )i0 = (0.001100110011 . . . )i 5 Observe que (0.2h0 é uma dízima periódica de período (0.0011) . Assim, o decimal (0.2)i0 não tem uma representação binária exata, isto é, a represen tação é aproximada e, portanto, apresenta erro. 1 .4 Erros de representação Na construção de um equipamento computacional, uma questão iffiportante a ser considerada em sua arquitetura é a forma que será adotada para repre sentar os dados numéricos. Basicamente, na memória de um equipamento, cada número é armazenado em uma posição que consiste de um sinal que identifica se o número é positivo ou negativo e um número fixo e limitado de dígitos significativos. De maneira geral, destacamos o seguinte sistema de armazenamento de valores numéricos: Sistema de ponto flutuante normalizado Um número no sistema de ponto flutuante é caracterizado por uma base b, um número de dígitos significativos n e um expoente exp. · Dizemos que um número real nr está representado no sistema de ponto flutuante se for possível escrevê-lo da seguinte maneira: nr = mxbexp onde m é a mantissa do número, b � 2 é a base e exp é o expoente da base. Neste sistema de ponto flutuante, as seguintes condições devem ser verificadas: m = ± O. d1 , d2 1 ..• , dn n e N sendo n o número máximo de dígitos na mantissa, d11 d2, . • • , dn, dígitos significativos da mantissa, do sistema de representação, com o primeiro dígito satisfazendo a condição 1 :5: d1 :5: (b-1) e os demais dígitos satisfa zendo O :5: di :5: (b- 1); i = 2, 3, . . . , n. O expoente exp varia da seguinte maneira: expmín :5: exp :5: expmáx sendo expmín :5: O e expmáx � 1 com expmín e expmáx inteiros. A união de todos os números em ponto flutuante, juntamente com a representação do zero, constitui o sistema de ponto flutuante normalizado, que indicamos por SPF (b, n, expmírv expmáx>· 6 Cálculo Numérico Neste sistema, o zero é representado da seguinte maneira: zero :0.0000 . . . . . . . 0 bexPmín n vezes Considerando o sistema de ponto flutuante normalizado dado na forma genérica por SPF (b, n, expmíw expmáx), temos: a) O ºmenor positivo exatamente representável, não nulo, é o real for mado pela menor mant.issa multiplicada pela base elevada ao menor expoente, isto-é: menor = (0. 1000 . . . . . . . 0) bexpmín "-,,.--' (n-1) vezes b) O maior positivo exatamente representável é o real formado pela maior mantissa multiplicada pela base elevada ao maior expoente, isto é: maior = (0 X (b - l ] [ b - 1 ] . . . (b - 1 ]) bexpmáx n vezes c) O número máximo de mantissas positivas possíveis é dado por: · mantissas+ = (b - 1 ) bn-I d) O número máximo de expoentes possíveis é dado por: exppossívei s = expmáx - expmín + 1 e) O número de elementos positivos representáveis é dado pelo produto entre o número máximo de mantissas pelo máximo de expoentes, isto é: NR+ = mantissas+ X expposs íveis Se considerarmos que dado um número real nr E SPF temos que -nr E SPF e a representação do zero, podemos concluir que o número total de elementos exatamente representáveis NRt é dado por: NR1 = 2xNR+ + 1 Exemplo 1.6 Considere o sistema de ponto flutuante SPF (b, n, expmíni expmáx> = SPF (3, 2, -1, 2), isto é, de base 3, 2 dígitos na mantissa, menor expoente igual a -1 e maior expoente 2. Para este sistema temos: a) O menor exatamente representável: 0.10 X 3-t = (1X3-t + 0 X 3-2 ) X 3 -t = ..!. 9 Erros em Processos Numéricos 7 b) O maior exatamente representável: e) A quantidade de· reais positivos exatamente representáveis: Temos que a quantidade de reais positivos exatamente representáveis é dada pelo produto entre todas as mantissas possíveis de dois dígitos� formadas com os dígitos da base 3, isto é, 0.10, 0.11, 0.12, 0.20, 0.21, 0.22, e todas as pos sibilidades de expoentes, que no caso são -1, 0,-1, 2. Desta forma, os 24 positivos exatamente representáveis estão listados a seguir: exp = - 1 : 0.10x3-1 = 1 / 9 exp = O : 0.10x3° = 1 / 3 exp = 1 : 0.10 x 31 = 1 exp = 2 : 0.10 x 32 = 3 exp = -1 : 0.12x3-1=5 / 27 exp = O: 0.12 x 3° = 5 / 9 exp = 1 : 0.12 x 31 = 5 / 3 exp = 2 : 0.12x32 = 5 exp = - 1 : 0.21 x 3-1 = 7 / 27 exp = O: 0.21x3° = 7 /9 exp = 1 : 0.21x31 = 7 / 3 exp = 2 : 0.21 x 32 = 7 exp = - 1: 0.llx3-1 = 4/ 27 exp = O: 0.1 1x3° = 4 / 9 exp = 1 : 0. 1 1x31 = 4 / 3 exp = 2 : 0.1 1x32 = 4 exp = -1 : 0.20x3-1 = 2 /9 exp = O: 0.20 x 3° = 2 / 3 exp = 1 : exp = 2 : exp = -1 : exp = O: exp = 1 : exp = 2 : 0.20 X 31 0.20 X 32 = 2 = 6 0.22 X 3-l = 8 / 27 0.22 X 30 0.22 X 31 0.22 X 32 = 8 / 9 = 8 / 3 = 8 Observe que o menor real positivo representável é � e o maior positivo representável é o real 8. Por outro lado, sabemos que se um real x E SPF então -x E SPF e, como no sistema de ponto flutuante normalizado o zero é uma representação, te mos que os representáveis de SPF pertencem ao conjunto: R = {x; x E [� , 8] u [-8, -�Ju {o}} 8 Cálculo Numérico Todos os reais que não pertencem à união dos intervalos anteriores não são representáveis e qualquer tentativa de representação fora dos intervalos anteriores constitui-se em uma mensagem de erro, isto é, Erro de Underflow, se a tentativa de representação satisfizer: Under = {x; x e (-� , o )u (o, �)} Erro de Overflow, se a tentativa de representação satisfizer: Over = {x; x E (--oo, -8 ) U (8, +oo)} Se marcarmos os reais exatamente representáveis na reta real, verifica remos, num primeiro momento, uma maior concentração de representáveis nas proximidades do zero e uma menor concentração à medida que nos afasta mos da origem e que, aparentemente, não existe uma uniformidade na sua distribuição, como acontece com os representáveis do sistema de ponto fixo. No entanto, é possível observar que os representáveis definidos através do produto de cada uma das mantissas multiplicada pela base elevada ao mesmo expoente são igualmente espaçados na representação sobre a reta. Assim, os reais 0.10 X 3-l, 0 .11X3-l, 0.12 X 3-l, 0.20 X 3-l, 0.21X3-l, 0.22 X 3-l são igualmente espaçados por h3 = J7 . Os reais 0.10 X 3°, 0.1 1X3°, 0.12 X 3°, 0.20 X 3°, 0.21X3°, 0.22 X 3° são igualmente espaçados por h2 = �. Enquanto os reais 0.10 X 31, 0.1 1X31, 0.12 X 31, 0.20 X 31, 0.21X31, 0.22 X 31 são espaçados por h1 = �. E os reais representados por 0.10x32, O.llx32, 0.12x32, 0.20x32, 0.21x32, 0.22x32 são igualmente espaçados por ho = 1 . De modo geral, podemos representar o espaçamento entre os represen táveis exatamente da seguinte maneira: hi = �i ; i = o, l, 2, 3 Exemplo 1.7 Considere o sistema de ponto flutuante SPF (2, 3, -1, 2), isto é, de base 2, 3 dígitos na mantissa, menor expoente igual a -1 e maior expoente 2. Erros em Processos Numéricos 9 Para este sistema temos 16 reais positivos exatamente representáveis além do zero. A representação na reta real de alguns dos reais positivos do sistema SPF (2, 3, -1, 2) pode ser visualizada através da Figura 1 .2: o 1/4 5/8 718 1 5/4 7/4 2 Figura 1 .2 5/2 3 7/2 Observe que o menor positivo exatamente representável é 1/4 e o maior é 7 /2. Exemplo 1.8 Considere o sistema de ponto flutuante normalizado SPF (3, 2, -1, 2), de base 3, 2 dígitos na mantissa, menor expoente igual a -1 e maior expoente 2. Para este sistema, temos que: X = �= (0.lO h X 3-l e Y = 5 = (Q. 12 h X 32 são exatamente representáveis, no entanto, (x + y) = (0.0001 0h x 32 + (0.12h x 32 = (0.1201h x 32 não é exatamente representável em SPF, uma vez que no sistema de ponto flutuante considerado a mantissa é de 2 dígitos. Observação Pode ocorrer de outras propriedades consagradas no conjunto dos números reais não serem verdadeiras, no sentido da exatidão da representação, no sistema de ponto flutuante normalizado, como as propriedades comuta tiva e associativa na adição, e as propriedades comutativa e distributiva na multiplicação. Exemplo 1.9 Dados x , y , z E � e o sistema de ponto flutuante normalizado SPF (3, 2, -1, 2), temos: Se X = �= (Q.12h X 31 , Y = ;7 = (Q.21h X 3-l e Z = � = (Q.22h X 30 temos: x + (y+ z) = 0.22x31 e (x + y)+ z = 0.21x31 10 Cálculo Numérico Podemos observar que: x +(y + z) * (x + y) + z 1 .5 Erro de arredondamento Quando estamos utilizando um equipamento computacional para proces sar uma determinada operação aritmética, se o número obtido não pertencer às regiões de Underflow ou de Overflow e este não é representável exata mente no sistema de ponto flutuante SPF o mesmo será representado de forma aproximada por nra. Esta aproximação será caracterizada como um arredondamento do real nr, para que sua representação seja possível no SPF. Assim, dizemos que um número na base decimal nr foi arredondado na posição k se todos os dígitos de ordem maior que k forem descartados segundo o seguinte critério: a) O dígito de ordem k é acrescido de uma unidade se o de ordem (k + 1) for maior que a metade da base. Caso contrário, o número nr é repre sentado com os k dígitos iniciais. b) Se o dígito de ordem (k + 1) é exatamente a metade da base e o de ordem k é par, então o número nr é representado com k dígitos e, se o dígito de ordem k é ímpar, então o de ordem k é acrescido de uma unidade. c) O arredondamento por corte considera que, para obter um número com k dígitos, simplesmente trunca-se na posição k. Exemplo 1.10 Consideremos um equipamento com o sistema de ponto flutuante normali zado SPF (b, n, expmíw expmáx) = SPF (10, 4, -5, 5) . a) Se a = 0.5324x103 e b = 0.4212x10-2, então a x b = 0 . 22424688x101, que é arredondado e armazenado como (a x b)a = 0 . 2242x101• b) Se a = 0.5324x103 e b = 0.1237x102, então a + b = 0 . 54477x103, que é arredondado e armazenado como (a + b)ª = 0 . 5448x103. 1 .6 Erro absoluto Definimos erro absoluto como onde aex é o valor exato da grandeza considerada e aaprox é o valor aproxi mado da mesma grandeza. Erros em Processos Numéricos 11 Como na maioria das vezes o valor exato não é disponível, a definição anterior fica sem sentido. Assim, é necessário trabalharmos com um limi tante superior para o erro, isto é, escrevê-lo na forma: onde E é um limitante conhecido. A desigualdade anterior pode ser entendida da seguinte maneira: ou ainda isto é, aaprox é o valor aproximado da grandeza aex com erro absoluto não superior a E. 1 . 7 Erro relativo Definimos erro relativo como: Erel = 1�1=1 aex - aaprox 1 aex 1 aex 1 onde aex é o valor exato da grandeza considerada e aaprox é o valor aproxi mado da mesma grandeza. Como na maioria das vezes o valor exato não é disponível, a definição anterior fica sem sentido. Dessa forma, é preciso trabalharmos com um limi tante superior para o erro relativo, isto é, escrevê-lo na forma: E onde õ, é um limitante conhecido. Podemos observar que o erro relativo nos fornece mais informações sobre a qualidade do erro que estamos cometendo num determinado cálculo, uma vez que no erro absoluto não é levada em consideração a ordem de grandeza do valor calculado, enquanto no erro relativo esta ordem é contemplada. Exemplo 1.11 a) Consideremos o valor exato ªex = 2345.713 e o valor aproximado aaprox = 2345.000 Então, Eabs = 0.713 Erel = 0.00030396 12 Cálculo Numérico b) Consideremos o valor exato ªex = 1 .713 e o valor aproximado aaprox = 1.000 Então, Eabs = 0.713 Erel = 0.416229 Observe que nos exemplos a) e b) o erro absoluto é o mesmo, embora o erro cometido pela aproximação seja muito mais significativo no exemplo b). No exemplo a), o erro relativo é da ordem de 0.03%, e no exemplo b), é da ordem de 41 .6%. Observação Em geral, nos procedimentos numéricos geramos uma seqüência de soluções aproximadas que convergem ou não para a solução desejada do problema. Os erros absolutos e relativos serão usados como critério de parada nestas seqüências de aproximações. Em geral, o erro relativo é preferível, devido às observações nos exemplos anteriores. Exemplo 1.12 Para resolver a equação f(x) = x2 -a= O, com a > O, podemos utilizar o se guinte processo iterativo: X n+l = �( Xn + �) n =O, l, 2, . . . Assim, dado o valor XQ, podemos, através da expressão anterior, gerar a seqüência de soluções aproximadas x11 x2, • • • Dado que a propriedade de convergência da seqüência de aproxi mações esteja estabelecida e uma tolerância pré-fixada E foi definida pará o cálculo de uma raiz da equação f(x) =O, podemos verificar, de forma absoluta, se a seqüência de aproximações atingiu a precisão anterior E, realizando o seguinte teste: Se lxn+l -xnl � E for verdadeiro, dizemos que Xn+l é a raiz da equação f(x) = O com tolerância E; caso contrário, devemos calcular outro elemento da seqüência e, de forma relativa, realizar o seguinte teste: Se j x " i ' - 1 x .j � E for verdadeiro, concluímos que X..+ 1 é a raiz da equação Xn+l com a tolerância E e, em caso contrário, devemos proceder ao cálculo de outro termo da seqüência. 1 .8 Erro de truncamento Quando representamos uma função através de uma série infinita e, por limi tações do sistema de armazenamento de dados do equipamento, conside rarmos apenas um número finito de termos, dizemos que estamos cometen do um erro de truncamento. Erros em Processos Numéricos 13 Exemplo 1.13 a) Consideramos a representação de uma função f(x) utilizando a Série de Taylor, nas vizinhanças do ponto x: f( ) = f(-) f<I>( _) (x-x) f<2>(_) (x-x) 2 f<n>(_) (x-xt X X + X li + X 21 + ... + X I + ··· . . n. onde t<n>(x) é o valor da n-ésima derivada da função f(x) no ponto x. Quando truncamos a série no 3Q termo, isto é, considerando apenas os termos até a derivada de ordem 2, na expressão anterior, temos um erro cometido nesta aproximação, como segue: (x-x) (x - x) 2 f(x) = f(x) + f(l>(x) + t<2>(x)--l! 2! b) Consideremos o desenvolvimento de f(x) =ex em Série de Taylor, isto é: x 2 x3 x n ex=l+x+-+-+ ... +-+ ... 2! 3! n! ou, de forma compacta: � n X � X e = �- n=o n! Suponha que o equipamento utilizado para trabalhar numericamente com a série seja capaz de armazenar somente dados referentes aos 4 primeiros termos, isto é: Neste caso, desprezamos todos os termos de potência maiores que 4, isto é, truncamos a série no termo de potência de ordem 3. Destacando os quatro primeiros termos da série, podemos escrevê-la da seguinte maneira: 1 � n ex = (; (x3 + 3 X 2 + 6 X+ 6)+ � �! Vamos supor que desejamos calcular o valor de ex para x = 2 usando apenas os quatro primeiros termos da série, isto é, a série truncada. Neste caso, temos e2 = 6.33333, que é um valor com erro absoluto bem significativo quando comparado com o valor e2 = 7.38906 obtido numa calcu ladora científica que armazena uma quantidade maior de termos da série. 14 Cálculo Numérico 1 .9 Propagação dos erros Quando desenvolvemos ou utilizamos um processo numérico para buscar aso lução de um determinado problema, normalmente o processamento envolve um número muito grande de operações elementares. Assim, na maioria das vezes, o erro cometido em uma operação isolada pode não ser muito significativo para a solução do problema que estamos tratando, mas sim, é necessário analisar como os erros se propagam quando tratamos com muitas operações no processamento. Neste caso, é fundamental termos o conhecimento da forma com que estes erros estão se propagando, isto é, caso estejam se acumulando a uma taxa crescente, dizemos que o erro é ilimitado, e a seqüência de operações é considerada instável. Se, por outro lado, os erros estão se acumulando a uma taxa decres cente, dizemos que o erro é limitado e, portanto, a seqüência de operações é considerada estável. Podemos visualizar, através da Figura 1 .3, as situações de erros ilimi tado e limitado: Erro o a) Exemplo 1.14 Erro ilimitado Nº iterações Erro o Figura 1 .3 Nº iterações • b) Usando aritmética de ponto flutuante de 4 dígitos, base decimal e arredon damento por corte, calcule o valor da seguinte soma: 4 S = L (xi + Yi ), sendo xi = 0.46709 e Yi = 3.5678 i = 1 Para i = 1, na aritmética definida, realizamos inicialmente a operação que resulta no seguinte valor aproximado: 51 = (x1 + Y1 ) = 0.4034x101 Calculando o erro absoluto, temos: Eabsl = j 4.03569 - 4.034 j = 0.00169 = 0.169X10-2 Erros em Processos Numéricos 15 Para i = 2, realiz.amos a operação que resulta no seguinte valor aproximado: 52 = (x1 + y1 ) + (x2 + y2 ) = 0.8068x101, cujo erro absoluto é dado por: E abs2 = 1 8.07138 - 8.068 1 = 0.00338 = 0.338X10 -2 Observe que, ao realizarmos a mesma operação de adição por duas vezes, cometemos um erro absoluto significativamente maior. Para i= 3, realizamos a operação que resulta no seguinte: 53 = (x1 + Y1 ) + (x2 + y2 ) + (x3 + y3 ) = 0.1210x102 cujo erro absoluto é dado por: E abs3 = 1 12.10707 - 12.10 1 = 0.00707 = 0.707x10-2 Para i = 4, repetindo o mesmo procedimento, obtemos o seguinte valor para a soma: que apresenta o seguinte erro absoluto: E abs3 = 1 16.14276 - 16.13 1 = 0.01276 = 0.12767X10-l Como podemos observar, na medida em que aumentamos o número de parcelas na operação de adição, considerando a aritmética definida anterior mente, aumentamos também o erro absoluto cometido na soma final. Desta forma, a seqüência de operações pode tomar-se instável, conforme gráfico na Figura 1 .3 a) . Exemplo 1.15 Para resolver a equação f ( x) = x 2 - a = O , com a > O, podemos utilizar o seguinte processo iterativo: Xn+I = .!.(xn + �J, para n = O, l, 2, . . . 2 Xn Neste procedimento, em cada iteração estão envolvidas as operações de adição, multiplicação e divisão, que são repetidas até que se calcule o valor aproximado Xn para solução da equação com uma precisão E desejada. Desta forma, se o valor final Xn está sujeito a um determinado tipo de erro, a cada iteração realizada este erro pode se propagar ao longo do pro cesso. Se este procedimento convergir para a solução x da equação, apesar dos erros cometidos, temos que a seqüência de operações se toma estável, conforme gráfico da Figura 1 .3 b ). 16 Cálculo Numérico Exercícios 1 . Representar na base binária os seguintes números decimais: a) 13 b) 29.75 c) 17.6 d) 0.46875 2. Represente o número decimal (0.2) na base binária com 4, 8, 12 e 16 dígitos. 3. Considerando que a base 16 é representada através dos dígitos O, l, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, represente: a) (27Dh6 na base decimal b) (270.9)16 na base decimal c) (32.E.32h6 na base decimal 4. Representar os seguintes números na forma normalizada a) (100ho b) (0.0158h0 c) (101 h 5. Representar os seguintes números na base binária na forma normalizada a) (0.1875h0 b) (25.75h0 c) (437)8 6. Represente na reta os positivos exatamente representáveis do sistema de ponto flutuante normalizado SPF(3, 2, -1, 2). ' 7. Considere o sistema de ponto flutuante normalizado SPF = SPF (2, 4, -1, 2) de base 2, 4 dígitos na mantissa, menor expoente -1 e maior expoente 2. Para este sistema: a) Qual é o menor positivo exatamente representável? b) Qual é o maior positivo exatamente representável? c) Quantos são os exatamente representáveis positivos? d) Qual é o número total de reais exatamente representáveis? e) Represente na reta todos os positivos exatamente representáveis . f) Defina as regiões de overflow e de underflow. 8. No sistema de ponto flutuante normalizado SPF (2, 3, -1, 2), represente, em cada caso, o valor arredondado e o arredondado por corte (truncado) das seguintes operações: a) 0 . 101 X2º + 0 . 110 X 2 -l b) 0 . 1 01 X2º + 0 . 111 X21 C) 0 . 1 1 1 X2º X 0 . 1 10 X 2 -l Erros em Processos Numéricos 17 9. Considere o sistema de ponto flutuante normalizado SPF (3, 2, -1, 2), de base 3, 2 dígitos na mantissa, menor expoente igual a -1 e maior expoen te 2. Para este sistema, temos que: a) x = _!_ e y = 5 são exatamente representáveis. Verifique se x + y é 9 exatamente representável em SPF. b) x = 4 e y = 1 são exatamente representáveis. Verifique se x + y é 3 também exatamente representável em SPF. 10. Considere um equipamento cujo sistema de ponto flutuante normali zado é SPF (2, 10, -15, 15), de base 2, 10 dígitos na mantissa, menor ex poente -15 e maior expoente 15. Para este sistema: a) Qual o menor positivo exatamente representável? b) Qual é o próximo positivo, depois do menor positivo representável? c) Transforme o menor positivo e o próximo para a base decimal. d) Verifique se existem reais entre o menor e o próximo positivo. Comente. e) Qual o maior positivo exatamente representável? f) Quantos são os exatamente representáveis positivos? Capítulo 2 Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 2.1 Introdução Apresentamos neste capítulo o desenvolvimento de algoritmos computacio nais para calcular a solução única de sistemas de equações lineares através de métodos diretos de decomposição e eliminação, métodos iterativos e es quemas numéricos para o cálculo de matrizes inversas através da aplicação de métodos diretos. Posteriormente, apresentamos noções sobre condiciona mento de sistemas. Finalmente, apresentamos algumas aplicações que envolvem a resolu ção de um sistema de equações lineares. 2.2 Sistemas de equações l ineares Considere o sistema linear Ax = b, onde A = (aij) i, j = 1, . . . , n x = (xi)t j = 1, . . . , n b = (bi)t i = 1, . . . , n e det (A) '* O (garantia de solução única). Representamos o sistema da seguinte forma: ª1 1 X1 + ª12 X2 + · · · + ª1n Xn = b1 ª21 X1 + ª22 X2 + ... + ª2n Xn = b2 Na forma matricial: a1 1 a1 2 ··· al n X1 b1 a21 ª2 2 ••• ª2 n X2 b2 19 20 Cálculo Numérico Ainda, pode ser escrito de forma compacta, da seguinte maneira: n L ai i xi = bi i = 1, 2, . . . , n j=l Resolver o sistema dado consiste em determinar um vetor x = (xv x21 ••• , xn)t que satisfaça todas as equações simultaneamente. Graficamente, no 9t2, podemos representar a solução de um sistema considerando o seguinte exemplo: {-X1 + 2X2 = 3 det(A) :;t: O X1 + X2 = 3 Observe que a solução x = (1, 2) encontra-se na intersecção das duas retas, conforme Figura 2.1 : 3 Figura 2.1 Definição 2.1 Dizemos que o sistema Ax = b, onde A = (aij) i, j = l, . . . , n x = (xi)t j = l, ... , n e b = (bi)t i = 1, . . . , n é consistente se apresenta pelo menos uma solução, caso contrário dizemos que o sistema é inconsistente. Definição 2.2 Dizemos que o sistema Ax = b é homogêneo se o vetor b = (bJt = O i = 1, . . . , n. Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 21 Observação Um sistema homogêneo é sempre consistente uma vez que o vetor nulo é sempre solução deste sistema. Procuraremos resolver sistemas consistentes através de métodos diretos e iterativos cuja solução seja não nula. Para isso, consideramos sempre o vetor dos termos independentes b = (bi)t * O i = 1, . . . , n. 2.3 Métodos diretos Consideramos Ax = b um sistema de equações lineares onde matriz dos coeficientes é A = (ai i ) i , j = 1 , . . . , n b = (bi)t i = l, . . . , n e det(A) * O. Um método direto ou exato para calcular o vetor solução x = (xv x0 ... , Xn)t é caracterizado por fornecer a solução exata para o sistema dado, não fossem os erros provenientes do processamento do algoritmo em um equipamento computacional. 2.3 . 1 Sistema triangular inferior Considere Lx = b com L = (lij) i, j = 1, . . . , n b = (bi)t i = l, . . . , n e x = (Xj)t j = 1, . . . , n, um sistema de equações lineares onde a matriz dos coeficientes é triangular inferior, isto é, os seus coeficientes (lii) = O sempre que i < j e com lii '# O i = 1, . . . , n. Podemos escrever: Para construir o algoritmo que calcula a solução do sistema destacamos a linha genérica ( i ), isto é: Podemos, então, escrever: 22 Cálculo Numérico ou, (i -1 ) (bi - I lij xj) j=l Xi = ---'-----lii Temos, assim, o seguinte algoritmo: Algoritmo 2.1 Para i = 2, . . . , n, faça (i -1 ) (bi - I lij xj) i= 1 Xi = --�---lii Exemplo 2.1 Calcule a solução do seguinte sistema de equações lineares: Usando o algoritmo anterior temos: X3 = b3 - l31X1 - l32X2 _ 0-1(1)-1(-1) = O 133 1 Portanto, temos a solução do sistema: x =(l, -1, 0)1 �alução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 23 2.3.2 Sistema triangular superior Considere Ux = y com U = (ui i) i, j = l, . . . , n y = (yi)t i = l, . . . n e x = (xi)t j = 1 ... , n, um sistema de equações lineares onde a matriz dos coeficientes é triangular su perior, isto é, os seus coeficientes (uij) = O sempre que i > j e com uii -:t:- O i = l, . . . , n. Podemos, então, escrever: U11 X1 + U12 X2 + ... + U1n Xn = b1 = b2 + U22 X2 + . . . + U2n Xn + Unn Xn = bn Para a construção do algoritmo que calcula a solução do sistema, desta camos a linha genérica ( i ), isto é, ou, na forma compacta, Algoritmo 2.2 Para i = (n - 1), (n - 2), ... , 1 faça n (bi - L u i i xi) j = ( i+ l ) Exemplo 2.2 n (bi - L ui i x i ) j = ( i+ l) Calcule a solução do seguinte sistema de equações lineares: 24 Cálculo Numérico Usando o algoritmo anterior, temos: x2 = b2 -u2.3x3 2- (-1)(0) 1 U22 2 Portanto, temos a solução do sistema: x = (1, 1, O)t Observação Sabemos que o Esforço Computacional Ec de um algoritmo é a quantidade de operações elementares necessárias para calcular a solução do problema para o qual foi desenvolvido. No caso da solução de um sistema triangular superior ou inferior de or dem (n), o esforço computacional dos Algoritmos 2.1 e 2.2 é Ec = n2 operações 1 d ( ) - d d" · - n ( n - l) - d d" -e ementares sen o n operaçoes e 1v1sao, operaçoes e a 1çao 2 . ( b - ) n ( n - l) - d lti" l" -ou su traçao e operaçoes e mu p 1caçao. 2 Assim, por exemplo, na resolução de um sistema de equações lineares de ordem n = 10, cuja matriz dos coeficientes é triangular superior ou infe rior, estão envolvidas 10 operações de divisão, 45 operações de multiplicação e outras 45 operações de adição ou subtração, sugerindo um esforço compu tacional de 100 operações elementares. Experiências computacionais demonstram que o tempo computacional envolvido nessas operações é pequeno, tornando os sistemas triangulares bastante atrativos. 2.3.3 Métodos de decomposição Como observamos anteriormente, sistemas de equações lineares cuja ma triz dos coeficientes possui a característica triangular inferior ou superior apresentam um "pequeno" esforço computacional para a obtenção de sua solução. Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 25 Este fato nos motiva a buscar formas para que um sistema de equações lineares Ax = b possa ser resolvido através da solução de sistemas com caracte rística triangular permitindo, assim, a utilização dos Algoritmos 2.1 e 2.2. Definição 2.3 Denomina-se "menores principais" de ordem k de uma matriz A = (ai i ), i , j = 1 , . . . , n por: dk = det(Ak ), onde Ak = (aij) i , j = l , . . . , k é formada pelas k primeiras linhas e k primeiras colunas de matriz A. Exemplo 2.3 Considere a seguinte matriz: Cálculo dos menores principais: Ó1 = 2 ô2 = 6 Ó3 = o Método de decomposição LU Teorema 2.1 Considere A= (ai i ) i , j = l , ... , n. Se os menores principais de A, ói * O, i = 1, 2, . . . , n - l, então A se decompõe, de maneira única, no produto de uma matriz triangular inferior L= ( lij ) i, j = 1, . . . , n, com lii = 1, por uma matriz n triangular superior U = (uij) i, j = l, . . . , n. Além disso, det (A) = det (U) = IJ ufr i = l Prova: indução finita a) Para n = 1 Temos que A = [ a11 ], L = [ 1 1 1 ] e U = [ u11 ]. Como 111 = l, temos que u11 é univocamente determinado, isto é, u11 = a11• Logo A = LU, de maneira única. b) Suponhamos que a decomposição seja verdadeira para uma matriz A de ordem n = (k - 1), isto é, Ak-l = Lk-1 Uk-1 · e) Provaremos que a decomposição é verdadeira para uma matriz A de ordem n = k. 26 Cálculo Numérico Particionamos a matriz A em submatrizes da seguinte maneira: onde Ak-1 k-I é uma matriz de ordem (k - 1 x k - 1), s é um vetor coluna com (k - 1) componentes e r é um vetor linha também com (k - 1) componentes. De modo análogo, particionamos as matrizes L e U, isto é: u = [uk-1 Y ] O ukk O produto da matriz L pela matriz U resulta na seguinte matriz: [Lk-1 Uk-1 L x U = X Uk-1 Para provar que a decomposição é verdadeira para a matriz A de ordem n = k, isto é, que A = LU, univocamente, é necessário determinar x, y e ukk de maneira única. Para isso basta considerar a igualdade entre as matrizes [ Ak-1 s ] = [Lk-1 U k-1 r akk X Uk-1 temos, assim, o seguinte sistema de equações: Ak-1 = Lk-1 Uk-1 s = Lk-1 y r = X uk-1 akk = xy + ukk Como Ak-l = Lk-l Uk_1, por hipótese da indução e Ak-l é não singular, então Lk-l e Uk-l são também não singulares. Assim, temos a seguinte solução: = LIL1 s = r Uk:�1 = akk - xy e os valores para x, y e ukk são determinados de maneira única. Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 27 Processo de decomposição LU Considere A = (aij) i, j = 1, . . . , n L = (lij), i, j = l, . . . , n e U = (uij) i, j = 1, . . . , n então podemos escrever: 1 Un U12 U13 U1n ªn ª12 a13 aln 121 1 o U22 U23 u2n ª21 ª22 a23 ª2n 131 132 1 U33 U3n = a31 a32 a33 a3n o lnl ln2 ln3 . . . 1 Unn anl an2 an3 . . . ann Para a construção do algoritmo, construímos as matrizes U por linhas e a matriz L por colunas, isto é, Cálculo da 1ª linha de U lª linha de U Cálculo da lll coluna de L 1ª coluna de L Se continuarmos calculando a 2ll linha de U, 2ll coluna de L, 3ll linha de U, 3ll coluna de L etc., obteremos as fórmulas genéricas, respectivamente, para os elementos das matrizes U e L da seguinte forma: Matriz U i -1 ui i = ai i - L lik uki i, j = l, . . . , n, i :s; j k=l Matriz L j- 1 ai i - L lik uki k=l li j = ------ujj Observação i, j = 1, . . . , n i > j Quando i = j, teremos lii = lü = 1 . Podemos, assim, desenvolver para a decomposição da matriz A = (aij), i, j = l, . . . , n no produto A = LU, o seguinte algoritmo: Algoritmo 2.3 Para m = l, . . . , n - 1, faça Para j = m, m+ l, . . . , n, faça m-1 Umj = ªmi - L lmk ukj k=l Para i = m + l , . . . , n , faça lmm = 1 Para m = n, faça n-1 Unn = ann - L lnk Ukn k=l Exemplo 2.4 =ompor a mamz A = [ � : 3: ] no produto LU. Como �1 = 2 * O �2 = 4 * O, temos, usando o Algoritmo 2.3: L = [ � � �] 1 / 2 1/2 1 [ 2 o 1 ] U = O 2 1 o o 2 Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 29 Aplicação na resolução de sistemas de equações lineares Considere um sistema de equações lineares Ax = b, cuja matriz dos coeficien tes é A = (aij) i, j = 1, . . . , n x = (xi)t j = 1, . . . , n e b = (bi)t i = 1, . . . , n. Vamos supor que a matriz dos coeficientes A satisfaz às condições do Teorema 2.1, então podemos escrever A = LU e, portanto, o sistema Ax = b pode ser escrito: (LU) X = b Se denominarmos Ux = y, teremos substituído o cálculo da solução do sistema Ax = b, pela solução de dois sistemas triangulares; um inferior Ly = b e outro superior Ux = y. Para a resolução de sistemas triangulares usaremos os Algoritmos 2.1 e 2.2. Exemplo 2.5 'usando o método de decomposição LU, resolva o seguinte sistema de equa ções lineares: 1) Temos que �1 = 1 ª11 1 = 3 ;t: o �2 = 1 ª11 ª12 1 = 1 3 21 I = 1 ;t: o ª21 ª22 1 Portanto, a matriz A satisfaz condições do Teorema 2.1 . 2) Construção das matrizes L e U Usando o Algoritmo 2.4, temos: L = [ 1�3 � � l e U = [ � 1�3 4 / 3 1 1 o o 3) Cálculo da solução dos sistemas triangulares a) Ly = b -7 sistema triangular inferior [ 1 O º ] [ y, ] [ 1 ] [ Y1 - ] [ 1 ] 1 / 3 1 O � = 2 -7 y 2 = 5 1 3 4 / 3 1 1 y3 3 y3 O 30 Cálculo Numérico b) Ux = y � sistema triangular superior Portanto, temos a solução do sistema: x = (-3, 5, 0)1 Definição 2.4 Dizemos que uma matriz A = (aij) i, j = 1, . . . , n é simétrica aii = ªii i, j = l, . . . , n. Se os menores principais da matriz A, Lii > O i = 1, . . . , n, dizemos que A é simé trica e definida positiva. Método de Cholesky Teorema 2.2 Seja A = (aij) i, j = 1, . . . , n uma matriz simétrica e definida positiva. Então existe uma matriz R = (rij) i, j = 1, . . . , n, triangular superior, com diagonal positiva, tal que A = R• R de maneira única. Além disso, det (A) = (det (R))' = (o �' r Prova: Como A é definida positiva, temos que di > O , i = l , . . . , n e, portanto, A = LU. Além disso, se A = LU, podemos mostrar que os elementos da diago nal de U = (uij) i, j = 1, . . . , n, podem ser escritos da seguinte maneira: uii = �, i, j = l, . . . , n, sendo d0 = 1 . (A prova deste resultado é di-1 feita por indução finita e fica a cargo do leitor) . Sendo di > O, i = 1, . . . , n, temos que u\i > O, i = l, . . . , n. Então, dividindo cada linha da matriz U pelo elemento da diagonal uii > O, podemos escrever: U = DG onde D = (dii) i, j = 1, . . . , n é uma matriz diagonal cujos elementos dii = uii e G = (gij), i, j = 1, . . . , n é uma matriz triangular superior cujos elementos são dados por g . . = {� i J. se 1 J - se Uii i = j i :;t: j i < j Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 31 Assim, de A = LU podemos escrever A = L D G e, como A é simétrica, temos: Do fato da decomposição de A = LU ser única, e da igualdade anterior, podemos escrever: ct = L ou G = Lt, e, considerando que ot = D teremos A = Gt D G Por outro lado, sabemos que dü = uü > O, i = l, . . . , n, o que permite escrever Como A = ct D G, podemos concluir que e, portanto, o que prova a existência da matriz R. A unicidade da decomposição de A em Rt R decorre da unicidade da decomposição de A em LU. Processo de decomposição Considere A = (aii) i, j = 1, . . . , n, construímos os elementos da matriz triangular superior R = (rij) i, j = 1 , . . . , n, escrevendo o produto Rt . R = A, isto é: r1 1 r1 1 r12 r13 rln ª11 ª12 a13 aln r12 r22 o r22 r23 r2n ª21 ª22 a23 ª2n r13 r23 r33 r33 r3n = a31 ª32 a33 a3n o rln r2n r3n . . . � � anl an2 an3 . . . ann a) Construção dos elementos da diagonal de R ri21 = ª1 1 � rl l = ..Jã;; rA + ri2 = ª22 � r22 = ( ª22 - ri 22 ) 1 · rA + rf3 + rf3 = a33 � r33 = ( a33 - rf3 - rf3 ) 1 32 Cálculo Numérico ou, de maneira genérica: e, portanto, i = l, . . . , n b) Elementos não pertencentes à diagonal de R Construção da lã linha de R rn r12 = ª12 � r12 = ª12 I rn r1 1 r13 = a13 � r13 = a13 / r1 1 Construção da 2ª linha de R r22 a24 - r12 r14 r12 r14 + r22 r24 = ª24 � r24 = ----- De forma geral: e, portanto: i-1 (aii - L rki rki ) k=l i = 1, . . . , n j = i + l, . . . , n Usando convenientemente as expressões genéricas anteriores, pode mos determinar os elementos rii da matriz triangular superior R. Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 33 Algoritmo 2.4 Para i = l, . . . , n, faça Para j = i + 1, . . . , n, faça Aplicação na _resolução de sistemas lineares ·Considere um sistema de equações lineares Ax = b, onde A = (aii) i, j = l, . . . , n, x = (xi)t j = l, . . . , n e b = (bi)t i = l, . . . , n. Se a matriz A satisfaz às condições do Teorema 2.2, podemos escre ver A = Rt R, portanto, o sistema Ax = b pode ser escrito como (Rt R) x = b. Se denominarmos Rx = y, teremos substituído o cálculo da solução do sistema Ax = b, pela solução de dois sistemas triangulares Rt y = b e Rx = y. Exemplo 2.6 Usando o método de Cholesky, resolva o seguinte sistema de equações lineares: Temos que: A = At �1 = ' ª1 1 I = 1 > o �3 = 36 > o r l 2 2 8 4 10 Portanto, a matriz A satisfaz condições do Teorema,2.2. 34 Cálculo Numérico a) Construção das matrizes R e Rt Usando o Algoritmo 2.4 temos: r l º º J r l 2 4 l Rt = 2 2 O e R = O 2 1 4 1 3 o o 3 b) Cálculo da solução dos sistemas triangulares Rty = b � sistema triangular inferior R x = y � sistema triangular superior Portanto, temos a solução do sistema: :X = ( 1 , - 2, l )t 2.3.4 Métodos de eliminação Os métodos de eliminação consistem em transformar o sistema de equa ções lineares Ax = b onde A (aij) i, j = 1, 2, . . . , n x = (xi)t j = l, 2, . . . , n e (bi)t i = 1, 2, .. . , n num sistema de equação equivalente através da aplicação de operações elementares. Método de eliminação de Gauss com pivotamento diagonal Considere o sistema de equações lineares Ax = b, onde A = (aij) i, j = 1, . . . , n x = (xi)t j = 1, . . . , n b = (bi)t i = l, . . . , n e det(A) '# O. a11 X1 + a12 X2 + · · · + aln Xn = b1 a21 X1 + a22 X2 + · · · + a2n Xn = b2 O método de eliminação de Gauss, com pivotamento sobre os elementos da diagonal, consi$te em transformar o sistema dado, através de operações Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 35 elementares sobre as linhas, em um sistema equivalente triangular superior, tomando, em cada passo, como pivô, os elementos da diagonal da matriz A. (A, b) -�ºpe_ra�ções_e_le_m_en_ta_res_� (A (n-1 ) , b(n-1 ) ) onde A < n-l l x = b ( n-l ) é um sistema triangular superior depois de aplicados (n - 1) passos. Consideremos o sistema dado, escrito na seguinte forma: aW x1 + aW x2 + aW x3 + a�� x4 + . . . + a�� Xn = a��+t (1) (1) (1) (1 ) (1 ) (1) ª21 X1 + ª22 X2 + a23 X3 + a24 X4 + . . . + a2n Xn = a2n+l a<1> x + a<1> x + a<1> x + nl 1 n2 2 n3 3 (1 ) - (1) · · · +ann Xn - ann+l Considere a matriz aumentada: (A, b) = ª(1) 1 1 a(l) 21 (1 ) ª12 . . . (1 ) ª22 . . . ª(1) ln ª(1) 2n (1 ) ª1n+l (1 ) ª2n+l a�l a�J . . . a� . ª�+1 d (l ) . 1 . - 1 1 (l) - b on e ai i = ai j 1 = . . . , n J - . . . , n+ ain+l - i i = l . . . , n . Passo 1 Vamos supor que o coeficiente a � : i ':t O, seja considerado elemento pivô. Caso ag i = O, procedemos trocas de linhas até que o coeficiente que ocupa a primeira linha e primeira coluna seja dif�rente de zero. Aplicamos operações elementares às linhas de (A, b) tomando nulos os elementos da 1ª coluna · abaixo da diagonal: ª(1) ª(1) ª(1) ª(1) ª(1) (1 ) 1 1 12 13 14 ln aln+l (A, b)= d (1) _ · - 1 on e ai j - aij 1 - . . . , n ª(1) o a� o ª(2) 32 O a�l ª(2) 23 a� ª(2) n3 j = l . . ., n+ l d i1 • 2 sen o mi1 = ----w- 1 = , . . . , n. ª11 ª(2) ª(2) (2) 24 2n ª2n+l ª(2) ª(2) (2) 34 3n a3n+l (2) (2) (2) ªn4 . . . ann . ªnn+l (l) - b . - 1 ªin+l - i 1 - . . . , n 36 Cálculo Numérico Assim, o sistema dado inicialmente pode ser escrito da seguinte maneira: aW X1 + aW X2 + aW X3 + a�� X4 + . . . + a�� Xn = a��+t O + a&2d x2 + a&2] x3 + a&21 x4 + . . . + a&� Xn = a&�+t O + a�2d X2 + aW X3 + aW X4 + . . . + a�� Xn = a�2�+1 o (2) - (2) + a nn Xn - ann+l Passo 2: Supondo que o coeficiente a g> ::F- O seja considerado elemento pivô. Caso a �;> = O, efetuamos trocas de linhas até que o coeficiente que ocupe a segunda linha e segunda coluna seja diferente de zero. Dessa forma, tomamos nulos os elementos da 2ll coluna abaixo da dia gonal na matriz (A,b), conforme segue: ª(1) 1 1 o (A, b)= o o Assim: ª(1) 12 a<i] o o ª(1) 13 ª(2) 23 a� ª(2) n3 ª(1) ª(1 ) (1) 14 ln aln+l ª(2) ª(2) (2) 24 2n a2n+l a� (2) . . . a3 n . (2) a3n+l (2) (2) (2) ªn4 . . . ann . ªnn+l ( 3 ) (2) ( 2) • 3 . 2 1 ai j = ai j - mi2 a2i 1 = , . . . , n J = , . . . , n + ª(2) d i2 . 3 on e, mi2 = (2) 1 = , . . . , n ª22 Temos o sistema na seguinte forma: aW x1 + aW x2 + aW x3 + aW x4 + . . . + a�� xn = a��+t o (2) (2) (2) (2) - (2) + ª22 X2 + a23 X3 + a24 X4 + . . . + a2n Xn - a2n+l O O (2) (2) (2) - (2) + a33 X3 + a34 X4 + . . . + a3n Xn - a3n+l O O (2) (2) (2) - (2) + an3 X3 + an4 X4 + . . . + a nn Xn - ann+l Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 37 Assim, depois de executados (n - 1) passos, obtemos o sistema inicial dado Ax = b na forma equivalente triangular superior, da seguinte maneira: (1 ) (1 ) (1) (1) (1 ) ª1 1 X1 + ª12 X2 + ª13 X3 + · · · + aln Xn = aln+l (2) (2) (2) - (2) ª22 X2 + ª23 X3 + · · · + ª2n Xn - ª2n+l a(n-1) X = a(n-1) nn n nn+l cuja solução é dada conforme Algoritmo 2.2 por: a(n-1) nn+l Xn = (n-1) ann n (i ) � (i ) ªin+l - ""' aij xj xi = __ _,_ i= (= i+ l_ l __ i = (n-1), (n-2), . . . , 1 a . ! l i Algoritmo 2.5 a) Construção do sistema triangular superior equivalente Para k = 1, . . . , n - 1, faça Para i = k + l, . . . , n, faça ( k ) < k > _ ª i k mi k - (k) ª k k Para j = k, . . . , n + 1 a��+ll = a��l - m�kk l x a(k �l I J I J 1 J b) Calcular a solução do sistema triangular superior Usar o Algoritmo 2.2. Exemplo 2.7 Usando o método de eliminação de Gauss, resolva o sistema de equações lineares: Considere a matriz aumentada, conforme o exemplo: (A, b) = [ � -3 o 1 . 1 ] 2 1 . 1 1 3 . 3 38 Cálculo Numérico Depois de executar os passos 1 e 2 do método de eliminação de Gauss, temos a matriz na forma triangular superior equivalente: o 2 o 1 . 1 1 o . o 4 4 Reescrevendo o sistema na forma equivalente triangular superior, temos: Solução do sistema: {3X1 + ÜX2 + lX3 = 1 2X2 + ÜX3 = Ü 4 X3 = 4 x = (O, O, l)t Método de eliminação de Gauss com pivotamento parcial Considere o sistema de equações lineares Ax = b, onde A = (aii) i, j = l, . . . , n, x = (xj)t j = l, . . . , n b = (bi)t i = 1, . . . , n e det(A) -:;:. O. Representamos: (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) al l X1 + a12 X2 + a13 X3 + a14 X4 + . . . +aln Xn = aln+l (1 ) (1) (1 ) (1 ) (1) (1 ) ª21 X1 + ª22 X2 + a23 X3 + a24 X4 + . . . + a2n Xn = a2n+l (1 ) (1) (1 ) (1 ) (1) (1) a31 X1 + a32 X2 + a33 X3 + a34 X4 + . . . + a3n Xn = a3n+l a<1l x + a<1l x + aC1> x + nl 1 n2 2 n3 3 ( 1 ) - (1) + a nn Xn - ann+l d (l) - . - 1 . - 1 1 (l ) - b . - 1 on e ai i - ai i 1 - , . . . , n J - , . . . , n+ ain+l - i 1 - , . . . , n. O método de eliminação de Gauss com pivotamento parcial consiste em transformar o sistema dado, através de operações elementares sobre as linhas, em um sistema triangular superior, tomando, em cada passo, como pivô o elemento de maior valor absoluto abaixo da diagonal, de cada coluna da matriz A conforme ilustramos a seguir: Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 39 No k-ésimo passo temos: (k) (k) (k) ªn ª12 ªn (k) (k) ª22 a23 o . . . . . . . . . . . . . . . . . . . : (k) : (k ) : ak,k ! ak,k+I . . : (k) : (k ) : ªk+l,k : ªk+l,k+l . . . . . . i (k ) (k) aln (k) a2n (k ) ak,n (k ) ak+l,n (k) an,n (k) al,n+l (k ) a2,n+l (k) ak,n+l (k) ak+l,n (k ) an,n Escolher o elemento de maior valor absoluto na coluna destacada. Desta forma, temos a estratégia de pivotamento parcial: No início do k-ésimo passo, escolher para pivô o elemento de maior valor absoluto da coluna k, entre os coeficientes da diagonal, para baixo, isto é, escolher a linha r tal que: 1 (k ) 1 { 1 (k ) 1 1 (k) 1 1 (k ) 1 } a,k = máx akk , ak+Ik , . . . , ank Efetuar as trocas das linhas r e k, se r -::t:- k. Estas trocas devem ser arma zenadas. Para isto, consideramos um vetor P = (p11 p2, . . . , Pn) onde Pi for nece a linha na i-ésima posição. Inicialmente, temos p1 = 1, P2 = 2, . . . , Pn = n. Depois das trocas das linhas (r e k), atualizamos o vetor P trocando Pk por Pr e efetuamos a eliminação de Gauss como anteriormente, considerando o pivô na posição (k, k) . Observação Quando usamos esta estratégia de escolha do pivô, podemos provar que a propagação dos erros de arredondamento é controlada, uma vez que o ele mento pivô será o maior em valor absoluto de cada coluna (W'tlkinson, J. H.). 40 Cálculo Numérico Algoritmo 2.6 a) Início: Vetor que armazena as posições das linhas Para i = l, . . . , n, faça Pi = i b) Construção do sistema equivalente triangular superior Para k = 1, . . . , n - 1, faça Det�:rne r tal que 1 �:� l=máx{ 1 ��� 1 , i =k, . . . , n} Se a r k = O , então det(A) = O, o sistema indeterminado, Pare. Trocas das linhas k e r: Para j = k, . . . , n + 1, faça (k ) aux = a r j (k ) (k ) a r j = a k j (k ) a k j = aux aux = Pr Pr = pk Pk = aux Para i = k + 1, . . . , n, faça (k) (k) ai k mik = (kf akk Para j = k, . . . , n + 1, faça (k+l) (k) (k) (k) ai i = a i i -mik ªki e) Calcular a solução do sistema triangular superior Usar o Algoritmo 2.2. Exemplo 2.8 Usando o método de eliminação de Gauss com pivotamento parcial, resolva o sistema de equações lineares: U � � H :: H : l Considere a matriz aumentada e o vetor P = (p11 p2, p3) que armazena as permutações nas linhas da matriz A. Inicialmente temos P = (1, 2, 3). rl 2 3 . 3 1 (A, b) = 3 1 0 . 4 o 3 4 . 3 Passo 1 Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 41 Na primeira coluna observamos que o maior coeficiente em valor absoluto é o que ocupa a posição linha 2, isto é, o a21 = 3. Este coeficiente, considerado como elemento pivô, deverá ocupar a po sição diagonal na primeira coluna, portanto, devemos trocar a 2ª linha pela lil linha (coeficiente a21 ocupa a posição (1,1)) . Em seguida, procede-se como no método de eliminação de Gauss com pivotamento na diagonal para tornar nulos os coeficientes da primeira coluna abaixo do elemento pivô. Temos, assim, o sistema na seguinte forma: f 3 1 (A, b) = O 5 1 3 o 3 O . 3 . 4 . Atualizamos o vetor P = (2, 1, 3). Passo 2 Na segunda coluna, observamos que o maior coeficiente em valor absoluto é o que ocupa a posição linha 3, isto é, o a32 = 3. Este coeficiente, considerado elemento pivô, deverá ocupar a posição dia gonal, na segunda coluna, portanto, devemos trocar a 3il linha pela 2il linha (coeficiente a32 ocupa a posição (2,2)) e atualizamos o vetor P = (2,3,1). Neste caso, temos o seguinte sistema: [ 3 1 o 3 o 5/3 Devemos, agora, tornar nulos os coeficientes da segunda coluna abaixo do elemento pivô. Fazendo operações elementares sobre as linhas teremos o sistema na forma triangular superior, isto é: [ � � � l [ :: l = [ : l Ü Ü 7 /9 X3 Ü Resolvendo o sistema triangular superior, teremos o seguinte vetor solução: x = (1, l, 0)1 42 Cálculo Numérico Método de eliminação de Gauss com pivotamento total Considere o sistema de equações lineares Ax = b, onde A = (aii) i, j = 1, . . . , n, x = (xi)t j = l, . . . , n e b = (bi)t i = 1, 2, . . . , n e det(A) * O. Representamos por: ( l) (1 ) (1 ) (1 ) (l ) ( 1) a11 X1 + ª12 X2 + a13 X3 + a14 X4 + . . . + a1n Xn = aln+l (l) (1 ) (1 ) (1 ) (l ) (1 ) ª21 X1 + ª22 X2 + ª23 X3 + ª24 X4 + . . . + a2n Xn = ª2n+l (l) (1 ) (1 ) (1 ) (l ) (1 ) a31 X1 + a32 X2 + a33 X3 + a34 X4 + . . . + a3n Xn = a3n+l (1) - (1) . . . + a nn Xn - ann+l d (l ) - • - 1 . - 1 1 (l ) - b . - 1 on e a i i - ai i ' 1 - , . . . , n, J - , . . . , n+ , a in+1 - i 1 - , . . . , n O método de eliminação de Gauss com pivotamento total consiste em transformar o sistema dado, através de operações elementares sobre as linhas, em um sistema triangular superior equivalente. Neste caso, tomamos, em cada passo, como pivô o elemento de maior valor absoluto entre todos os elementos da submatriz, abaixo da k-ésima linha e a partir da k-ésima coluna, isto é, entre os elementos a\� l i � k, j � k , conforme ilustramos a seguir: No k-ésimo passo temos: (k) ª11 (k) (k) (k) (k) ª12 ªn aln aln+l (k) (k) (k) (k) ª22 a23 ª2n ª2n+l · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · o (k) (k) akk akk+1 (k) (k) ªk+lk ªk+lk+l (k) (k) ank ank+l i (k) (k) akn . akn+l (k) (k) ak+ln ak+ln Escolher o elemento de maior valor absoluto na submatriz destacada. Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 43 Desta forma, temos a estratégia de pivotamento total: 1 �� 1 = máx { 1 �: 1 , i � k j � k} Devemos trocar as linhas (k e r) e as colunas (k e s). Estas trocas devem ser armazenadas. Para isto, considere os vetores P = (p11 pz, . . . , Pn) e Q = (q1, qz, . . . , qn), onde Pi fornece a linha na posição i, e qi a coluna na posição j . Efetua-se a eliminação de Gauss com o pivô na posição (k, k) . Observe que as trocas de colunas produzem trocas no vetor solução. Por exemplo, se a 3ª coluna é trocada com a 1ª coluna, então a 1ª posição do vetor solução contém a variável x3 e a 3ª posição do vetor solução contém a variável x1. Algoritmo 2.7 a) Início: Vetores que armazenam as posições das linhas e colunas Para i = 1, . . . , n, faça Pi = i qi = i b) Construção do sistema equivalente triangular superior Para k = l, . . . , n - 1, faça 1 (k) 1 { I (k) 1 Determine r e s tal que ars = m á x aii i = k, . . . , n Troque a linha k com a linha r, atualize Pk e Pr· Troque a coluna k com a coluna s, atualize qk e q5• Para i = k + 1, . . . , n, faça (k ) <k > a i k mi k = ('k"} ª k k Para j = k, . . . , n + l , faça (k+I ) (k ) (k ) (k ) a i i = a i i -mi k ª k i e) Calcular a solução do sistema triangular superior Usar o Algoritmo 2.2. Exemplo 2.9 j = k, . . . , n} Resolva o sistema de equações lineares usando o método de eliminação de Gauss com pivotamento total. 44 Cálculo Numérico Considere a matriz aumentada: [ � � ! : �] Inicialmente temos P = (1, 2, 3) e Q = (1, 2, 3), os vetores que armazenam as posições das linhas e colunas da matriz A, respectivamente. Fazendo trocas de linhas e colunas de forma conveniente e atualizando os vetores P e Q, temos o seguinte sistema triangular equivalente: [ � � -11/ 6 ] [:: ] = [-11/ 6] Ü Ü 1 1 /6 X2 1 1 / 6 Neste caso, temos P = (2, 3, 1 ) e Q = (3, 1 , 2) Solução do sistema: x = (O, 1, O)t 2.3.5 Método de eliminação de Gauss-Jordan Considere o sistema de equações lineares Ax = b, onde A = (aij) i, j = 1, . . . , n x = (xi)t j = l, . . . , n e b = (bi)t i = 1, . . . , n. Representamos por: (1 ) (1 ) (1 ) (1) (l) (1) all X1 + a12 X2 + a13 X3 + a14 X4 + . . . +a1n = aln+l ( 1) (1) (1 ) (1) (l) ( 1) ª21 X1 + ª22 X2 + a23 X3 + a24 X4 + . . . +a2n = a2n+l (1) (1 ) (1) (1 ) (l) (1) a31 X1 + a32 X2 + a33 X3 + a34 X4 + . . . +a3n = a3n+l (1 ) (1) (1) (1 ) ( l) - (1) anl X1 + an2 X2 + an3 X3 + an4 X4 + . . . +ann - ann+l (1) ( i) onde aii = aii i = l, . . . , n j = l, . . . , n+ l, a1n+1 = bi i = l, . . . , n. O método de eliminação de Gauss-Jordan consiste em transformar o siste ma dado, através de operações elementares sobre as linhas, em um sistema cuja matriz dos coeficientes seja a matriz identidade, tomando, em cada passo, como pivô os elementos da diagonal da matriz A Utilizamos neste método operações semelhantes àquelas aplicadas no método de eliminação de Gauss, isto é, (A, b) operações elementares (1, b) onde 1 x = b é um sistema cuja solução é o vetor b. Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 45 Considere o k-ésimo passo: a) Dividir a k-ésima equação pelo pivô aLkJ . b) Subtrair das la, 2a, . . . , (k-l )a, . . . , n-ésima equações a k-ésima equação (k) (k) (k ) (k) (k) multiplicada por a1k , a2k , . . . , ªk-lk , ak+lk , . . . , ank respectivamente. Assim, no k-ésimo passo temos o sistema escrito na seguinte forma: lx1 + O + O + + . . . Ü + 1 X2 + Ü + Ü + . . . O + O + lx3 + 0 + . . . o + o + o + o + . . . (k+l) (k+l) - (k+l) + al,k+l Xk+l + ··· + aln Xn - aln+l (k+l) (k+l) - (k+l) + a2,k+l Xk+l + . . . + a2n Xn - ª2n+l (k+l) (k+l) - (k+l) + a3,k+l Xk+l + . . . + a3n Xn - a3n+l �� �B) (�ij + ank+l Xk+l + . . . + ann Xn = ann+l Continuando dessa forma até executarmos o n-ésimo passo, temos a solução do sistema: - - (n) x = b, onde bi = ain+l Algoritmo 2.8 a) Construção da matriz identidade Para k = 1, . . . , n, faça Para j = k, . . . , n+ l, faça ( k ) a < k + 1 > = ª k i k i a ( k l k k Para i = 1, . . . , n, i * k, faça a�� + I ) = a�k> - a�kk> a<kk > I J I J 1 J b) Calcular a solução do sistema (n) i = l, . . . , n Imprimir o vetor solução xi = ain+1 , i = 1, . . . , n. Exemplo 2.10 Usando o método de eliminação de Gauss-Jordan, resolva o sistema de equa ções lineares: l ! � -� ] l :J l � ] Considere a matriz aumentada: (A, b) � l ! 2 4 1 2 3 -2 � ] 46 Cálculo Numérico Após executar os passos 1 e 2, podemos escrever: [ 1 2 /3 4 / 3 . 1 / 3 l (A, b) = O 1 / 3 2 /3 . 5 / 3 o 1 / 3 -22/3 . 5 /3 Repetindo os passos 1 e 2 até tomar a matriz A = 1 matriz identidade, obtemos: (A, b) = [ � cuja solução é x = (-3, 5, 0)1 . 2.4 Matrizes inversas o 1 o Seja A = (aij) i j = l , . . . , n uma matriz não singular (det(A)*Ü). Então existe uma única matriz A-1 chamada de inversa de A, tal que A A-1 = 1. Desta forma, temos: = 1 o o o 1 o o o o o o . . . 1 Portanto, para determinar as n colunas da matriz inversa A-1, temos de resolver n sistemas de equações lineares, usando qualquer um dos métodos diretos vistos anteriormente, como observa-se a seguir: · a11 a12 aln X11 1 ª21 a22 · · · a2n X21 Ü = anl an2 . . . ann Xnl o ª11 ª12 aln X1n o ª21 ª22 a2n X2n o = anl an2 . . . ann Xnn 1 � 1ª coluna de A-1 � n-ésima coluna de A-1 A solução dos n-sistemas anteriores identificam as n-colunas da matriz inversa A-1 . Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 47 Exemplo 2.11 Determine a inversa da matriz A a seguir, usando o método de eliminação de Gauss: A = r � � � l A-1 = r ::: Ü 1 1 J X31 X12 X13 l x22 x23 ---t inversa de A X32 X33 Como A A-1 = 1, temos: r � � � l r ::: :: ::: i = r � � � i Ü 1 1 J X31 X32 X33 Ü Ü 1 Logo, três sistemas de equações lineares devem ser resolvidos: Construímos inicialmente a matriz (A, 1) e a transformamos numa matriz triangular superior, usando os passos de Gauss: [ � o 1 . 1 o �H� o 1 1 o � ] 1 2 . o 1 1 2 o 1 o -1 . o o o - 1 o -1 Assim, podemos resolver os sistemas triangulares, como segue: r � � � i r::: i = r � i Ü Ü -1 X31 Ü (x11 x21 x31 )1 = (1, O, O) ---t 1ª coluna da matriz inversa [ � � � i r:: i = r �i Ü Ü -1 X32 -1 (x12 x22 x32 )1 = (- 1, - 1, 1) ---t 2a coluna da matriz inversa r � � � l r:: i = r � i Ü Ü -1 X33 1 (x13 x23 x33 )1 = (1, 2� - 1) ---t 3a coluna da matriz inversa 48 Cálculo Numérico Portanto, temos: Observação [ 1 -1 1 ] A-1 = O -1 2 � matriz inversa de A o 1 -1 Quando usamos o método de Gauss-Jordan no cálculo da matriz inversa, transformamos a matriz A na forma da matriz identidade, usando os passos de Gauss-Jordan, simultaneamente com os vetores da matriz identidade, como no exemplo anterior. Retomamos os sistemas equivalentes 1 x = b. Neste caso, a matriz inversa encontra-se em cima da matriz identidade modificada, conforme Exemplo 2.12: Exemplo 2.12 Usando o método de eliminação de Gauss-Jordan, determine a matriz inversa: [ 2 1 A = O -1 1 o Construímos inicialmente a matriz: [ 2 1 (A, 1 ) = O -1 1 o 3 1 3 � ] 1 o n o 1 o o Aplicando os passos do método de eliminação de Gauss-Jordan, obtemos a seguinte matriz: [� (1, A-1 )� [ � o 1 o o o 1 3 / 2 3 /2 -2 ] . -1 / 2 -3 /2 1 . -1 / 2 -1 /2 1 Temos, neste caso, os sistemas equivalentes: 0 Ü] [Xn] [ 3 /2] [1 0 Ü] [X12] [ 3 / 2] [1 1 Ü X21 = -1/2 Ü 1 Ü X22 = -3 / 2 Ü Ü 1 X31 -1/2 Ü Ü 1 X32 -1 / 2 Ü o m::J{�J 1 o Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 49 Assim, temos a matriz inversa: f 3 / 2 A-1 = -1 / 2 -1 / 2 3 / 2 -2 1 - 3 / 2 1 -1 /2 1 2.5 Condicionamento de sistemas l ineares Dizemos que um sistema de equações lineares A x = b é mal condicionado se pequenas perturbações em alguns de seus coeficientes produzem bruscas altera ções em sua solução. Para detectar o mau condicionamento de um sistema linear, devemos calcular o número de condição da matriz do sistema, definido por: K(A) = l lA ll l lA -i 1 1 Se K(A) for "próximo de 1"; dizemos que o sistema é bem condicionado; caso contrário, dizemos que o sistema é mal condicionado. Exemplo 2.13 Considere o sistema de equações lineares: [ � 1 .00�01] [ :: ] = [ 2.0�001] Solução: x = (1, l)t Considere o sistema dado ligeiramente modificado conforme o exem plo dado: Solução: x = (12, -lO)t Podemos observar que temos um sistema mal condicionado, pois uma pequena modificação no vetor b do sistema provoca uma grande alteração na sua solução. Temos, neste caso: K(A) = 400004.00001 2.6 Métodos iterativos 2.6.1 Introdução Um método para calcular a solução única de um sistema Ax = b, A = (aii ) i, j = l, . . . n e det(A) * O é denominado iterativo quando fornece uma seqüência Cfe soluções aproximadas, em que cada solução aproximada é obtida da ante rior pela aplicação de um mesmo procedimento. 50 Cálculo Numérico De modo geral, a construção do método iterativo considera a transfor mação do sistema original Ax = b para a forma equivalente x = Hx + g e, posteriormente, a partir desta nova forma e de uma solução aproximada ini cial x(O), determinamos a seqüência de soluções aproximadas considerando o processo iterativo: x(k+l) = Hx(k) + g k = O, 1, 2, . . . , onde: H �matriz iterativa (n x n) g � vetor (nxl) Assim, partindo-se de uma aproximação inicial x(O) para a solução exata x do sistema Ax = b, determinamos a seqüência de vetores x(I), x(2), x(3), . . . que se pretende, seja convergente para a solução X:, isto é, lim xCkl = X: Apresentamos a seguir um breve resumo de resultados e definições que será necessário neste capítulo . 2.6.2 Resultados e definições Definição 2.5: Norma de vetores Definimos norma de um vetor x e V (espaço vetorial) por: 11 - l l : V � 9t X � llx l l satisfazendo às seguintes condições: n1) ll x ll :2:: ü 'v' x e V ; l l x l l = ü � x = O n2) l l a x ll = l a l l l x l l ; 'v' a e 9t, 'v' x e V n3) l l x + Y ll $ l l x l l + l l Y ll ; 'v' x, Y e V Observação De esp(e�ial in J ty:sse, quando V = 9tn, são as normas lp definidas por: ll x l lP = � lxdP ; p � 1 e llx lL = máx{lxi l, i = l, . . . , n}. Exemplo 2.14 Considere x = (x1 1 x2, . . . , xn) E 9tn n l l x l l1 = l x1 l + l x2 l + . . . + l xn l = L lxi l i = l ( n JYz l l x ll2 = J xi + x� + . . . + x� = � l xi 1 2 l l x lL = máx { l x1 l , l x2 l 1 · · ·1 l xn l} = �i�� l xi l Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 51 Exemplo 2.15 Considere x = (x1 , x2 1 x3 , x4 ) = (l, 2, 3, 4) E 9\4 • Então, temos: Observação a) No ':R2 podemos identificar a li x 1 1 2 como o comprimento do segmento que liga a origem (O, O) ao ponto P(xv Xz) do plano (x, y), isto é, d = (xr + xn112 . Normas equivalentes Considere l i . l i ª e l i . l i b duas normas em V. Dizemos que as normas são equivalentes se existem constantes reais positivas k1 e k2, tais que: Observação É possível mostrar que, em um espaço de dimensão finita, todas as normas são equivalentes. Exemplo 2.16 Considere x = (x1 1 x2 , • • • , xn ) E 9\n . São válidas as seguintes desigualdades: a) l l xL $ l lx l l 1 $ n l l xL b) ll�L $ l l x ll 2 $ follxL c) n l l x ll 1 $ l lx l l 2 $ fo ll x ll 1 Seqüência convergente
Compartilhar