al3-2010.1_Sistemas
-
Upload
victor-schinaider -
Category
Documents
-
view
21 -
download
0
Transcript of al3-2010.1_Sistemas
1
ALAp 3 - SISTEMAS DE EQUAÇÕES LINEARES
Acreditamos que você já tenha, em alguma medida, trabalhado a resolução de sistemas de
equações lineares passíveis de serem resolvidas na mão, ou seja, de sistemas com poucas equações
lineares e poucas incógnitas. Na seção 3.1 relembramos um pouco do que usualmente se faz com
sistemas de equações lineares nos primeiro e segundo graus.
Sistemas de equações lineares são fundamentais para tudo o que se segue, e mais ainda nas
aplicações da Álgebra Linear a problemas concretos. Teremos a oportunidade de trabalhar alguns deles
neste capítulo. A lista de problemas que podem ser modelados empregando sistemas de equações lineares
é gigantesca, e vai desde sistemas com duas equações e duas variáveis, até problemas de grande porte
com milhões de equações e variáveis aos quais se pode chegar, por exemplo, na procura de imagens do
cérebro numa tomografia médica, ou em problemas de otimização numa grande companhia de aviação.
Num curso introdutório de Álgebra Linear como este cabe-nos tratar problemas de “pequeno” e “médio
porte”, num sentido que tentaremos esclarecer melhor ao final deste capítulo, mas que, grosso modo,
inclui os sistemas de equações lineares com centenas de equações e de variáveis. As técnicas para
resolver sistemas de equações lineares de “grande porte” usualmente não fazem mais parte do conteúdo
relativo a um curso introdutório de Álgebra Linear. De qualquer modo, nossa preocupação neste capítulo
é, fundamentalmente, com a compreensão teórica do que pode acontecer quando tentamos resolver um
sistema de equações lineares e somente tangenciaremos as dificuldades computacionais que podem surgir.
Nos preocupamos ainda de incluir algumas aplicações relevantes na modelagem de problemas reais com
sistemas de equações lineares.
A seção 3.1 tem o sentido de uma introdução ao tema. Nela trabalhamos informalmente o método
da eliminação de Gauss em casos particulares, bem como introduzimos a notação matricial para sistemas
de equações lineares, com a qual trabalharemos ao longo de todo o texto. Na seção 3.2 apresentamos o
algoritmo da eliminação de Gauss com detalhes, bem como os principais resultados deste capítulo. Na
seção 3.3 discutimos a resolução de sistemas de equações lineares e a seção 3.4 é dedicada às matrizes na
forma escada reduzida. Na seção seguinte saldamos uma dívida do capítulo anterior estabelecendo que as
matrizes invertíveis são exatamente as quadradas de posto máximo. Estas cinco seções iniciais são básicas
para tudo o que se segue. Nas demais concentramos material que julgamos muito relevante, mas que não
são prerequisitos para o resto do livro, pelo menos teoricamente. Neste ponto, apresentamos alguns
exercícios suplementares de reforço às seções 3.1-3.5. Na seção 3.6 apresentamos a “popular” fatoração
LU de uma matriz , que corresponde a uma forma mais sintética e moderna de tratar com sistemas de
equações lineares. Na seção 3.7 discutimos um exemplo de aplicação de resolução de sistemas de
equações lineares à obtenção de soluções numéricas de equações diferenciais. Infelizmente, falta ainda
neste capítulo trabalhar mais com bons exemplos de aplicações, sobretudo nesta seção 3.7. Fica para a
próxima edição. O ótimo acaba, frequentemente, inimigo do possível. Na seção 3.8, fazemos algumas
observações de natureza computacional, bem como colocamos exercícios a serem resolvidos com o
auxílio de um computador.
3.1 INTRODUÇÃO
Certamente, desde o primeiro grau você vem tendo contato com sistemas de equações lineares. O
problema abaixo foi retirado de um livro da sétima série:
2
Exemplo 3.1 - Maria pagou uma conta de R$ 100,00 com 13 notas, algumas de R$ 5,00 e outras de
R$10,00. Quantas notas de cada tipo Maria deu para pagar a conta?
Ao equacionar este problema, chamando de x1 o número de notas de R$ 5,00 e de x2 o número de
notas de R$ 10,00, encontra-se duas equações a serem resolvidas simultaneamente:
100x10x5
13xx
21
21 (3.1)
Cada uma das duas equações acima é dita linear.1 Quando procuramos x1 e x2 que satisfaçam a
ambas simultaneamente, temos um sistema de equações lineares. Um tal par ordenado de números
reais que, simultaneamente, satisfaça ambas as equações é dito uma solução de sistema. Portanto, as
soluções do sistema (3.1) são pares ordenados de números, ou seja, pontos do 2. .
Na verdade, não há um único método para resolver sistemas de equações lineares. Para o problema
(3.1), você provavelmente já viu três maneiras diferentes de resolvê-lo. A mais ingênua corresponderia a
tirar o valor de x1 na primeira equação (x1 =13 – x2) e levá-lo na outra equação, obtendo:
5(13 – x2) + 10x2 = 100 x2 = 7 , x1 = 13 – x2 = 6
Apesar de funcionar bem neste caso, quando o número de variáveis cresce um pouco, este método
fica muito inadequado. Uma maneira mais sofisticada de resolver o probleminha acima seria usando a
regra de Cramer, usualmente introduzida no ensino médio. Ela também torna-se inviável para problemas
com muitas variáveis, mas tem alguma importância teórica. Pouco falaremos dela neste livro. A terceira
maneira de resolver (3.1) é denominada método de eliminação de Gauss. Em geral, ele é mais explorado
no ensino médio, embora seja introduzido ainda no ensino fundamental. Corresponde a substituir o
sistema (3.1) por um sistema equivalente, no qual trocamos a segunda equação por ela mesma menos 5
vezes a primeira, obtendo:
6x13x,7x3513*5100x5
13xx212
2
21
Em muitas situações, o método ideal depende fortemente do problema e teremos oportunidade de
citar alguns deles, ainda neste livro. No entanto, para problemas de pequeno e médio portes, o grande
campeão é, sem dúvida, o método da eliminação de Gauss. A idéia geral do método consiste em
substituir o sistema original por um fácil de resolver, usando operações nas linhas do sistema.
Tem nos chamado a atenção o fato que um número considerável de alunos, talvez por terem
passado vários anos resolvendo sistemas de duas equações lineares usando o método de substituição (o
primeiro dos três acima), terminam se apegando a ele na hora de fazer as suas contas na mão. Além de ser
mais trabalhoso, no caso geral, ele induz a erros com bem mais frequência do que o método de
1 Formalmente, uma equação linear com n variáveis e coeficientes reais se escreve como a1x1+ +anxn = b, ou seja, é uma
equação polinomial do 1o grau nas n variáveis x1, ,xn e coeficientes a1 , ,an ,b em .
3
eliminação de Gauss, e insistimos para que você desista desta tentação, mesmo em sistemas de
equações com apenas três variáveis, no caso geral. Com uma exceção importante, qual seja, a dos
sistemas dito triangulares. Um exemplo de sistema triangular superior seria:
4x2
1x3x
4x3x2x5
3
32
321
Neste caso, o método “ingênuo” da substituição cai como uma luva. É só ir resolvendo “de baixo
para cima”. Ou seja, na última equação encontramos x3=2. Substituindo este valor de x3 na segunda
equação, encontramos
x2 = 1 –3x3 = -5
Substituindo estes valores de x2 e x3 na primeira equação, encontramos:
45
x3x24x 32
1
Veja que obtemos x3=2, x2=-5 e x1=4 como única solução para o sistema, com muita facilidade.
O nome sistema triangular superior é uma alusão óbvia ao fato que ele pode ser escrito na forma de um
triângulo na forma acima. A correspondente matriz, formada pelos coeficientes do sistema é dita uma
matriz triangular superior.
200
310
325
U
. Em geral, uma matriz é dita triangular superior, se for quadrada e todas as suas entradas abaixo
da diagonal principal forem nulas. Analogamente, uma matriz quadrada é triangular inferior se todas
as suas entradas acima da diagonal principal forem nulas.
Como vimos acima, é fácil resolver um sistema triangular superior, sem zeros na diagonal. No caso
geral, um sistema triangular superior com n variáveis, teria a forma:
nnnn
2nn2222
1nn1212111
bxU
bxUxU
bxUxUxU
(3.1)
Se todas entradas U11, U22 , , Unn na sua diagonal forem não nulos, o procedimento para
resolvê-lo é exatamente o mesmo. Registramos o algoritmo TRIASUP, que encontra, “de baixo para
cima”, as soluções de um tal sistema triangular nxn, e sem zeros na diagonal:
4
Algoritmo 3.1 - TRIASUP -
Dado um sistema triangular superior nxn, e sem zeros na diagonal, como em 3.1:
Passo 1 – Resolva a última equação, fazendo xn =
nn
n
U
b
Passo 2 - Para i valendo, sucessivamente, n-1,n-2, ,1 , resolva i-ésima equação de 3.1, substituindo os
valores das soluções já encontrados na i-ésima equação. Ou seja, faça:
xi =
ii
nin1i)1i(ii
U
xUxUb
O método da eliminação de Gauss, essencialmente, consiste em reduzir o problema de resolver um
sistema de equações lineares qualquer ao problema “fácil” de resolver sistemas triangulares.
Basicamente, no caso de matrizes quadradas, consiste em ir substituindo equações do sistema, de modo a
ir zerando as entradas abaixo da diagonal, sem alterar as soluções do sistema original, como no exemplo
abaixo.
Exemplo 3.2 - Vamos começar a resolver o sistema
8x6x4x2
5x4x2x
7x2x4x
321
321
321
de forma a zerar (“eliminar”) os coeficientes de x1 nas equações abaixo da primeira linha. Para tanto,
substituiremos sua segunda equação por ela própria menos a primeira, bem como a terceira por ela
própria menos o dobro da primeira.
6x2x4
2x2x2
7x2x4x
8x6x4x2
5x4x2x
7x2x4x
32
32
321
Eq2EqEq
EqEqEq
321
321
321
133
122
É muito importante que você se convença que, ao substituirmos a segunda equação por ela
própria menos a primeira, o novo sistema terá exatamente as mesmas soluções que o anterior (vide
exercício 3.6). O passo seguinte consiste em zerar (“eliminar”) o coeficiente de x2, abaixo da segunda
equação. Para tanto, substituímos a terceira equação do novo sistema por ela própria, menos duas vezes a
segunda:
2x2
2x2x2
7x2x4x
6x2x4
2x2x2
7x2x4x
3
32
321
Eq2EqEq
32
32
321
233
Desta forma chegamos a um sistema triangular superior, “fácil” de resolver por substituição. De
baixo para cima, obtemos primeiramente x3=-1 na terceira equação. Levando x3=-1 na segunda equação,
obtemos x2 = (2-2x3)/2= 2. Com x3=-1 e x2 = 2 obtemos, na primeira equação, x1 = -7 +4x2 –2x3 = 3.
Uma maneira definitiva de nos certificarmos que x1=3, x2=2 e x3= -1 constituem uma solução do sistema
original, neste caso, seria checarmos que estes valores das variáveis resolvem o sistema original. De fato:
5
8)1(*62*43*2
5)1(*42*23
7)1(*22*43
Em geral, é altamente recomendável verificar se não cometemos erros ao resolver um dado
problema, checando se as soluções obtidas na sua resolução, de fato, funcionam. No entanto, a pergunta
importante aqui é saber se foi uma coincidência o fato das soluções do sistema triangular também serem
soluções do sistema original. A resposta é que não foi uma coincidência, uma vez que, ao
substituirmos uma das equações de um dado sistema por ela própria somada a um múltiplo de
qualquer outra, isto não altera as soluções do sistema (vide exercício 3.6).
3.1.1 - Interseção de duas retas no 2
Exemplo 3.3 - Ache a interseção das retas r1 e r2 , dadas pelas equações:
r1 : x1 - 2x2 + 1 = 0 e r2 : x1 - x2 - 1 = 0
Sua interseção corresponde a resolver o sistema linear de duas equações
1xx
1x2x
21
21
Equivalentemente, (substituindo a 2a equação pela sua
diferença com a 1a), obtemos
2x
1x2x
2
21 x1 = 3 e x2 = 2
( 3 2)T é o único ponto de interseção entre r1 e r2
Exemplo 3.4 - Ache a interseção das retas r1 e r2 , dadas pelas equações:
r1 : x1 - 2x2 + 1 = 0 e r2 : -2x1 + 4x2 - 8 = 0
Sua interseção corresponde a resolver o sistema linear de duas equações x x
x x
1 2
1 2
2 1
2 4 8
6
Equivalentemente, (substituindo a 2a equação pela sua soma
com o dobro da 1a), obtemos
60
1x2x 21 O sistema não tem solução .
Portanto, as retas não se intersectam. Ou seja, são paralelas.
Exemplo 3.5 - Ache a interseção das retas r1 e r2 , dadas pelas equações:
r1 : x1 - 2x2 + 1 = 0 e r2 : -2x1 + 4x2 - 2 = 0
Sua interseção corresponde a resolver o sistema linear x x
x x
1 2
1 2
2 1
2 4 2
A 2a equação é -2 vezes a 1
a. Na prática só temos a equação x1 - 2x2 = -1:
Há várias soluções, que escrevemos como
(-1+2 )T, para todo .
Geometricamente, as duas retas coincidem.
3.1.2 - Interseções de planos no 3
Nesta subseção, partimos do princípio que você já sabe que uma equação linear em três variáveis
representa um plano do 3.
Exemplo 3.6 Considere os planos 1, 2 e 3, definidos por:
1 = {x 3| x1 - 2x2 - 5x3 = 2}; 2 = {x
3 | 2x1 -x2 - 6x3 = 2};
3 = {x 3 | x1 - x2 - 4x3 = 1}
Se x é um ponto que está na interseção dos três planos então satisfará simultaneamente às
equações dos planos, ou seja, será uma solução do sistema
1x4xx
2x6xx2
2x5x2x
321
321
321 (3.2)
Procedendo a eliminação de Gauss como no exemplo anterior, começamos zerando os
coeficientes de x1 nas duas últimas equações, para em seguida “eliminar” o coeficiente em x2 na terceira
equação:
7
1x
2x4x3
2x5x2x
1xx
2x4x3
2x5x2x
1x4xx
2x6xx2
2x5x2x
3
32
321
Eq3EqEq
32
32
321
EqEqEq
Eq2EqEq
321
321
321
233
133
122
Resolvendo o sistema triangular à direita obtemos:
x3= 1; x2= -1-x3 = -2 e x1 = 2 +2x2+5x5 = 3.
Observe que o sistema triangular tem exatamente
as mesmas soluções que o sistema original
(vide exercício 3.6).
Ou seja, apenas x=(3 –2 1)T .
Geometricamente, isto significa que os três
planos se intersectam num único ponto x,
Exemplo 3.7 Considere os planos 1, 2 e 3, definidos por:
1 = {x 3| x1 - 2x2 - 5x3 = 2}; 2 = {x
3 | 2x1 -x2 - 6x3 = 2};
3 = {x 3 | x1 + x2 - x3 = 1}
Ou seja, mantivemos os dois primeiros planos do exemplo anterior e trocamos o terceiro. Do
mesmo jeito que antes, os pontos da interseção dos três planos são exatamente as soluções de:
1xxx
2x6xx2
2x5x2x
321
321
321 (3.3)
Procedendo a eliminação de Gauss como no exemplo anterior, mais uma vez começamos
eliminando os coeficientes de x1 nas duas últimas equações, para em seguida eliminar o coeficiente em x2
na terceira equação:
20
3x4x3
2x5x2x
1x4x3
3x4x3
2x5x2x
1xxx
1x6xx2
2x5x2x
32
321
EqEqEq
32
32
321
EqEqEq
Eq2EqEq
321
321
321
233
133
122
x
Observe que o sistema à direita, acima, é triangular
e não pode ter solução, já que isto implicaria 0=2. Como
as soluções do sistema original também são soluções do
sistema triangular (por quê?), isto significa que os três
planos considerados não têm nenhum ponto em comum.
Observe ainda que a interseção dos planos 1 e 2 são as
soluções de um sistema formado pelas duas primeiras
equações do sistema acima. Portanto, também é formado
pelas soluções das duas primeiras equações do sistema que
está no meio da passagem acima. Ou seja:
3x4x3
2x5x2x
32
321 (3.4)
8
Fazendo x3 = no sistema 3.4, obtemos x2 = -1 - 3
4 na segunda equação e x1 =
3
7, na
primeira. Observe que x( ) = (3
7 -1 -
3
4 )
T é a parametrização de uma reta, ou seja a reta de
interseção de 1 e 2 . Podemos concluir que 3 deve ser um plano paralelo a esta reta, conforme
indica a figura acima.
Exemplo 3.8 Mantenhamos os planos 1 e 2 dos exemplos anteriores e substituamos 3 por 3 = {x
3 | 5x1 + x2 +13x3 = 1}. A interseção dos três planos será descrita , neste caso, pelas soluções do
correspondente sistema, ou seja:
00
3x4x3
2x5x2x
9x12x9
3x4x3
2x5x2x
113xx5
1x6xx2
2x5x2x
32
321
Eq3EqEq
32
32
321
Eq5EqEq
Eq2EqEq
321
321
321
233
133
122
Observação 3.1 Estes exemplos acima são típicos do que se pode obter ao resolver um sistema de
equações lineares, no caso geral. Conforme veremos na seção 3.3, em algumas situações, podemos não
encontrar nenhuma solução para o sistema, como nos exemplos 3.4 e 3.7. Em outras, podemos ainda
encontrar uma única solução como nos exemplos 3.3 e 3.6. Finalmente temos ainda situações nas quais há
mais de uma solução, como nos exemplos 3.5 e 3.8, todas passíveis de serem descritas em função de um
certo número de parâmetros adequados.
3.1.3 Forma matricial dos sistemas de equações lineares
Considere o sistema do exemplo 3.3 e observe que podemos escrevê-lo mais concisamente na forma
Ax=b, onde A =
111
612
521
e b =
1
2
2
. Nesta notação:
Observe que, neste caso, a terceira equação do
sistema triangular à direita ficou redundante. Isto nos
diz que a interseção dos três planos é como na figura
ao lado, ou seja, coincide com a interseção de 1 e
2. Vale dizer, igualmente podem ser descritos pela
parametrização
x( ) = (3
7 -1 -
3
4 )
T
9
b
1
2
2
xxx
x6xx2
x5x2x
Ax
321
321
321
(3.3’)
Observe que 3.3’ é o mesmo sistema de equações 3.3, reescrito num formato matricial. Neste
caso, A é a matriz dos coeficientes, uma vez que armazena os coeficientes do sistema, b é o termo
independente, uma vez que armazena os termos independentes e x é a incógnita, por armazenar o vetor
de incógnitas.
Em (3.3’) fica ainda mais explícito que devemos pensar nas soluções dos sistemas de equações
lineares como pontos de algum n. No caso acima, como pontos do
3. A forma (3.3’) tem sobre (3.3)
duas vantagens importantes. Por um lado, é bem mais sintética. Do outro, nos facilita bastante a
manipulação algébrica. Daquí em diante denotaremos um sistema de m equações lineares nas n
incógnitas x1, x2, ,xn , pela equação matricial
Ax=b
onde A é uma matriz mxn de números reais e b um vetor coluna do m
.
Usaremos ainda a denominação de matriz ampliada do sistema Ax = b à matriz mx(n+1), formada
a partir de A, adicionando-lhe a coluna b. Por exemplo, a matriz ampliada do sistema (3.3’) se escreveria
como:
(A |b) =
1
1
2
311
612
521
A matriz ampliada é neste caso 3x4. O traço colocado antes da última coluna pode perfeitamente
ser omitido. É conveniente apenas no sentido de lembrar a correspondente partição que a caracteriza.
Observe que o método da eliminação de Gauss, na verdade, é um método que opera sobre as linhas da
matriz ampliada (A |b ). Ao substituirmos uma das equações por ela própria menos um múltiplo de outra,
em termos da matriz ampliada, o que fazemos é substituir uma linha de A por uma combinação linear dela
própria com um múltiplo de outra. Para que você se acostume com a notação, repetiremos abaixo, nas
duas notações, as operações realizadas com o método da eliminação de Gauss, no exemplo 3.7.
20
1xx
2x5x2x
1x4x3
3x4x3
2x5x2x
1xxx
1x6xx2
2x5x2x
32
321
EqEqEq
32
32
321
EqEqEq
Eq2EqEq
321
321
321
233
133
122
2
3
2
000
430
521
1
3
2
430
430
521
1
1
2
311
612
521
233
133
122 AAA
AAA
A2AA
Observe que este segundo formato limpa a escrita ao eliminar a repetida referência às incógnitas
x1, x2 e x3, perfeitamente dispensável.
10
Daquí em diante, operaremos sempre com matrizes ampliadas, ao invés de escrevermos, por
extenso, os sistemas de equações aos quais correspondem. É fundamental que você tenha sempre em
mente que, ao operar com matrizes ampliadas, estamos correspondentemente operando com as equações
do sistema.
Exercícios da subseção 3.1
Exercício 3.1 - Em cada um dos casos abaixo, considere os planos do
3 descritos por suas respectivas
equações, e descreva sua interseção, tanto geometricamente, como analiticamente:
i - 1: x1 + 2x2 - 3x3 -1 = 0 ; 2: 2x1 + 3x2 - 5x3 -2 = 0; 3: -x1 + 2x3 - 2 = 0
ii - 1: x1 + 2x2 - 3x3 -1 = 0 ; 2: 2x1 + 3x2 - 5x3 -2 = 0;
iii - 1: x1 + 2x2 - 3x3 -1 = 0 ; 2: 2x1 + 3x2 - 5x3 -2 = 0; 3: -x2 + x3 = 0
iv - 1: x1 + 2x2 - 3x3 -1 = 0 ; 2: 2x1 + 3x2 - 5x3 -2 = 0; 3: -x2 + x3 = 1
v - 1: x1 + 2x2 - 3x3 -1 = 0 ; 2: 3x1 + 6x2 - 9x3 - 3 = 0; 3: -x1 - 2x2 + 3x3 +1 = 0
vi - 1: x1 + 2x2 - 3x3 -1 = 0 ; 2: 3x1 + 6x2 - 9x3 - 3 = 0; 3: -x1 - 2x2 + 3x3 +2 = 0
Exercício 3.2 As idades de 4 irmãos formam uma PA e o mais velho tem 3 anos a mais que a soma das
idades dos 2 mais jovens e o segundo mais velho tem 12 anos a menos que a soma dos demais. Quais as
suas idades?
Exercício 3.3 – Ache as equações das medianas (retas que contêm um vértice e o ponto médio da aresta
oposta) do triângulo formado por P1 = (0 2)T , P2 = (2 3)
T e P3 = (-1 4)
T. Verifique que as três medianas
se intersectam num mesmo ponto (baricentro).
Exercício 3.4- Encontre um polinômio do 20 grau tal que P(-1) = -6, P’(-1) = -6, P’(1) = 2
Exercício 3.5 Considere uma chapa triangular de alumínio, com seus vértices nas posições A = ( 1 1)T , B
= (-2 2)T
e C = (1 -2)T .
i - Como deve uma massa total de 10 kg ser distribuída em seus três vértices, de tal modo que seu centro
de massa fique na origem (0 0 )T (Despreze a massa da chapa e veja o exemplo 1.2.iv para uma
definição de centro de massa de pontos materiais)
ii - Tente agora distribuir os 10 kg nos 3 vértices de modo que seu centro de massa fique em (0 -2)T.
Explique o resultado.
Exercício 3.6 + -
i - Verifique, sem usar a solução encontrada, que ao substituir, no sistema do exemplo 3.2, a segunda
equação por ela mesma menos a segunda, o novo sistema terá exatamente as mesmas soluções que o
primeiro.
ii - Mostre que, no caso geral, ao substituirmos uma linha de uma matriz ampliada por ela própria menos
um múltiplo de outra, o novo sistema de equações lineares correspondente terá exatamente o mesmo
conjunto de soluções que o anterior. (Sugestão: Verifique primeiramente que as soluções do novo
11
sistema satisfarão o sistema original, mas não se esqueça de argumentar que, vice versa, todas as
soluções do novo sistema igualmente já eram soluções do anterior)
Exercício 3.7 +- Considere a matriz triangular
200
310
325
U .
i - Resolva os três sistemas de equações lineares, Ux = I(i)
, para i = 1,2 e 3, onde I é a matriz identidade
3x3. Denote por X(1)
, X(2)
e X(3)
as respectivas soluções encontradas.
ii - Verifique que X = (X(1)
X(2)
X(3)
) é uma inversa à direita de U e explique por quê a obtivemos.
Exercício 3.8 +- Considere a mesma matriz U do exercício anterior.
i - Resolva os mesmos três sistemas de equações lineares para a matriz transposta UT, ou seja, U
Tx = I
(i) ,
para i = 1,2 e 3. Denote por Y(1)
, Y(2)
e Y(3)
as respectivas soluções encontradas.
ii - Verifique que a transposta de Y = (Y(1)
Y(2)
Y(3)
) coincide com a matriz X do exercício anterior.
Foi coincidência, ou você sabe explicar por quê isto se deu?
(Sugestão: Verifique que as equações UTY(i) = I(i) , para i =1,2 e implicam que YT é uma inversa à esquerda de U. Use um
argumento como no exercício 2.23.x, para verificar que isto garante X = Y)
Exercício 3.9+ - Mostre que se A e B são matrizes nxn, triangulares inferior, então A*B também é
triangular inferior.
Exercício 3.10+: Escreva um algoritmo TRIAGINF para resolver Lx=b, para o caso no qual L é
triangular inferior e sem zeros na diagoanl.
Exercício 3.11-Aplique TRIAGINF a L =
2 0 0 0
4 1 0 0
3 2 5 0
3 2 1 1
e b =
1
1
1
0
, para resolver Lx=b.
Exercício 3.12+ - O objetivo deste exercício é que você se certifique que matrizes triangulares sem zero
na diagonal são invertíveis. Seja L uma matriz nxn, triangular inferior e sem zeros na diagonal.
i - Para cada i = 1,2, , n, denote por X(i)
a solução do sistema Lx = I(i)
dada por TRIAGINF e forme a
matriz X = (X(1)
, X(2)
, , X(n)
). Mostre que X é uma inversa à direita de L.
ii - Verifique que LT é triangular superior e sem zeros na diagonal.
iii - Para cada i = 1,2, , n, denote por Y(i)
a solução do sistema LTx = I
(i) dada por TRIASUP (vide
exerc. 3.5) e forme a matriz Y = (Y(1)
, Y(2)
, , Y(n)
). Mostre que YT é uma inversa à esquerda de de L.
iv - Conclua que L tem uma inversa mostrando que X = YT. (Sugestão: Veja o exercício 2.23.x)
Exercício 3.13 - Certo ou errado? Justifique:
i - Se E1 e E2 são triangulares, sem zero na diagonal e A = E1 E2 então A é invertível.
ii - Se U e V são matrizes triangulares superior então UV também é triangular superior.
12
iii - A matriz A = 0 1
1 0 pode ser fatorada como um produto A= LU, onde L é triangular inferior e
U é triangular superior.
3.2 ALGORITMO DA ELIMINAÇÃO DE GAUSS
Esta seção é dedicada a sistematizar o método da eliminação de Gauss. A idéia essencial de como
ele funciona já está colocada nos exemplos 3.1-3.7. Basicamente, cada iteração do método usa um
elemento não nulo de uma linha, para zerar todos os elementos da mesma coluna e que estão abaixo
dele. Vale dizer, se pensamos no sistema de equações correspondente, para eliminar uma das variáveis de
todas as equações que estão abaixo dele. Em basquete e futebol de salão, o jogador que arma as jogadas
de ataque é denominado de pivô. Por analogia, no método de eliminação de Gauss, dá-se o nome de pivô
ao elemento não nulo que é usado para zerar a coluna abaixo dele. A posição que ele ocupa na matriz é
denominada de posição de pivô, e sua coluna leva o nome de coluna de pivô. No exemplo 3.8, as colunas
de pivô foram a primeira e a segunda. O primeiro pivô foi 1, na posição (1,1), e o segundo pivô foi 3 na
posição (2,2).
Com a exceção dos exemplos 3.7 e 3.8, nos casos de matrizes quadradas do capítulo anterior,
chegamos a sistemas triangulares, sem zeros na diagonal, fáceis de resolver por substituição. No caso
geral, de matrizes que não são quadradas, não podemos esperar chegar a sistemas triangulares. Ainda
assim, a idéia de ir usando pivôs em colunas cada vez mais à direita da matriz para, sucessivamente, ir
eliminando variáveis nas equações abaixo dos pivôs continua válida. Vamos fazê-lo no exemplo abaixo,
para um sistema de 3 equações, com 5 incógnitas.
Exemplo 3.9 - Eliminação de Gauss para resolver Ax =
34563
26542
13321
x =
0
0
1
A matriz ampliada do sistema se escreve: Â= (A |b)=
0
0
1
34563
26542
32321
. Devemos pensá-la como
uma matriz que vai variar a cada iteração, sem mudar de nome.
Primeira iteração: Eliminando x1 das duas últimas equações, usando como pivô Â11 = 1.
0
0
1
34563
26542
32321
133
122
A3AA
A2AA3
2
1
62400
42100
32321
13
Segunda iteração: Queremos eliminar uma variável na última equação, sem mexer com o que já está
feito. x2 já foi automaticamente eliminada das duas últimas equações. Mas x3 pode ser eliminada da
terceira equação usando como pivô Â23 = -1. 2
3
2
1
62400
42100
32321
233 A4AA
A matriz a que chegamos acima corresponde ao sistema de equações:
5x10x10
1x4x2x
1x3x2x3x2x
54
543
54321
Observe que mantendo, nas equações acima, as variáveis correspondentes aos pivôs onde estão, e
passando as demais para o outro lado, obtemos:
54
543
52431
x105x10
x41x2x
x3x21x2x3x
Analogamente ao que já havia acontecido no exemplo 3.8, chegamos a um sistema triangular
superior, cujas soluções podem ser explicitadas em forma paramétrica. Por exemplo, fazendo-se x2= 1 e
x5 = 2, obtemos, “de baixo para cima”:
x4 = 10
1(5 – 10 2) = –1/2 + 2;
x3 = – (1+4x5-2x4) = –2 –2 2
x1 = 1 – 2x2 –3x5 +3x3 – 2x4 = – 4 – 2 1 – 11 2
Temos aí um exemplo típico do que faz o método de eliminação de Gauss, no caso de um sistema
Ax = b, que tem soluções. Elimina sucessivamente variáveis do sistema, de modo a chegar num novo
sistema Ux = b , fácil de resolver por substituição, de “baixo para cima”. Observe que a matriz U, a qual
chegamos, tem a forma de uma escada, com as seguintes características:
i - Abaixo dela só tem zeros
ii - Em cada degrau fica um pivô.
iii - Em cada linha não nula a escada desce apenas um degrau.
Formalmente, isto corresponde a seguinte definição:
2 Cuidado: Trata-se aí de  conforme obtida depois da primeira iteração e não mais a original .
5
2
1
1010000
42100
32321
14
Definição 3.1 Matriz na forma escada. 3
Diz-se que uma matriz U tem a forma escada, caso:
i - As linhas nulas, se existirem, estejam abaixo de todas as não nulas.
ii - O primeiro elemento não nulo de cada linha esteja sempre numa coluna à esquerda do primeiro
elemento não nulo da linha seguinte.
Exemplo 3.10 A matriz abaixo é mais um exemplo de matriz na forma escada. Nos “degraus”,
temos números não-nulos p1, , p4 (pivôs), demarcando a escada. Abaixo dela, todas as entradas são
nulas. Nas demais entradas, representadas por x, temos números reais quaisquer.
O método da eliminação de Gauss para resolver Ax = b, consiste em substituir a equação
original por outra Ux = b , que tenha as mesmas soluções, e cuja matriz ampliada (U | b ) esteja na
forma escada.
Definição 3.2 Posição de pivô e coluna de pivô de uma matriz na forma escada
Se U é uma matriz na forma escada, mantemos a denominação de pivô para os primeiros
elementos não nulos de cada linha. As posições que ocupam (degraus da escada), bem como suas
colunas continuam levando a denominação de posições e colunas de pivôs.
Nos exemplos de sistemas 2x2 e 3x3 com os quais trabalhamos na seção anterior, sempre
conseguimos encontrar os pivôs na diagonal, de modo a ir zerando abaixo da diagonal. Nada nos garante
que isto sempre venha a ocorrer, como no exemplo 3.10 abaixo. A saída nestes casos é trocar linhas de
modo a sempre garantir um pivô na posição correta, conforme veremos a seguir.
Exemplo 3.11 - Ao empregar a eliminação de Gauss para resolver
1
0
1
x
321
542
321
, começamos
naturalmente com o pivô 1, na posição (1,1) da matriz ampliada, fazendo:
3 Muitos autores preferem denominá-las de matrizes na forma escalonada, ao invés de na forma escada.
0 p1 x x x x x x x x x x x
0 0 p2 x x x x x x x x x x
0 0 0 0 0 p3 x x x x x x x
0 0 0 0 0 0 0 0 p4 x x x x
0 0 0 0 0 0 0 0 0 0 0 0 0
15
0
2
1
010
100
321
1
0
1
311
542
321
133
122
AAA
A2AA
O passo seguinte seria tentar chegar num sistema triangular, zerando o número -1 na posição Â32,
usando um pivô em Â22. Só que neste caso, não dispomos de um pivô na posição desejada. O jeito aí é
trocar as linhas 2 e 3, chegando a:
2
0
1
100
010
321
0
2
1
010
100
321
23 AA
Convença-se que esta operação corresponde a uma mera troca na posição de duas das equações
do sistema Ax = b. Portanto, tampouco altera as soluções do sistema Ax = b. Desta forma, chegamos a
um sistema triangular, com as mesmas soluções do original, e fácil de resolver com a substituição “ de
baixo para cima”.
Com isto temos uma lista de operações elementares suficientes para operar com o método da
eliminação de Gauss:
Definição 3.3 Operações elementares nas linhas de uma matriz A
O1 - Substituir uma das linhas de A por uma combinação linear dela própria com um múltiplo de
outra linha de A.
O2 - Trocar a posição de duas linhas entre si
Definição 3.4 Matrizes linha-equivalentes
Diz-se que duas matrizes mxn, A e B, são linha-equivalentes , se B for obtida de A por uma
sequência de operações elementares nas linhas.
Observação 3.2 Se duas matrizes ampliadas são linha-equivalentes, então os sistemas que
representam têm conjuntos de soluções idênticos
No exercício 3.6 pedimos a você que verifique ao operar com O1 o conjunto de soluções de um
sistema não se altera. Obviamente, tampouco trocando de linhas com a operação O2. A propriedade
fundamental das operações elementares O1 e O2 é a de não alterarem as soluções de um sistema Ax
= b, caso operadas sobre as linhas da matriz ampliada (A |b). Isto signifca, em particular, que dois
sistemas de equações lineares, com matrizes ampliadas linha-equivalentes entre si, têm exatamente as
mesmas soluções.
Nossa preocupação agora é em descrever o algoritmo de um jeito que possa funcionar num caso
bem geral, no sentido de poder ser programado para operar com qualquer sistema de equações lineares de
“médio porte”.
16
Antes de descrever o algoritmo da eliminação de Gauss em geral, preferimos exemplificar
como ele opera num caso particular. O algoritmo da eliminação de Gauss começa com uma matriz  e a
atualiza sucessivamente, de modo a chegar numa matriz Û, na forma escada. Em cada iteração, o
algoritmo obtem uma das linhas de Û, e usa os pivôs que vão sendo encontrados, em colunas cada vez
mais à esquerda de Â, para zerar os elementos nas colunas dos pivôs que estão abaixo deles. Por
exemplo:
Exemplo 3.12 Ache as soluções de Ax = b, com A =
45572
16262
11511
01221
e b =
2
0
1
1
, usando o
método da eliminação de Gauss.
Primeira Iteração: Na primeira coluna da matriz ampliada dispomos do pivô 1 na primeira linha. Com
isto, podemos operar na primeira coluna da matriz ampliada Â, fazendo:
 = (A |b) = 122
144
133
2
2
2
0
1
1
45572
16262
11511
01221
AAA
AAA
AAA
Isto conclui a primeira iteração e não se mexe mais na primeira linha de Â.
Segunda Iteração: Como na segunda coluna há um elemento não nulo na segunda linha, êle vai
funcionar como pivô da segunda coluna. Desta forma:
Com isto termina a segunda iteração e não se mexe mais na segunda linha de Â.
Terceira Iteração: Desta vez, toda a terceira coluna abaixo da segunda linha é nula. Portanto, não há
nada a zerar aí. Na quarta coluna, temos um elemento não nulo na última linha (Â44= -3) , mas não temos
um pivô corretamente posicionado na terceira linha desta coluna (Â34=0) . A solução neste caso é trocar a
quarta linha com a terceira.
0
2
2
1
43930
14620
12310
01221
1 2 -2 1 0 |1
0
0 0 0 -3 1 2
0 0 0 0 -1 2
1 2 -2 1 0 1
1 3 2 1 2
0
0 0 0 0 -1 -6
0 0 0 -3 1 -6
1 2 -2 1 0 1
1 3 2 1 2
-3 1 -6
-1 -6 A4 A3
0
2
2
1
43930
14620
12310
01221
1 2 -2 1 0 | 1
0
0 0 0 0 -1 -6
0 0 0 -3 1 -6
1 2 -2 1 0 1
1 3 2 1 2
244
233
3
2
AAA
AAA
17
Algoritmo 3.2 Algoritmo da eliminação de Gauss:
Dada uma matriz mxn A, começando com i =1, faça:
Passo 1 - Critério de parada do algoritmo na i-ésima iteração:
Considere a submatriz Aux, formada pelas linhas i, i+1, , m de A.
Se i=m, ou se Aux for toda nula, pare.
Passo 2 - Escolha do pivô da i-ésima iteração:
Denote por ji a primeira coluna não nula de Aux e garanta-lhe um pivô (número real não-
nulo) na sua primeira linha, possivelmente trocando a primeira linha de Aux com alguma linha
abaixo.
Passo 3 - Eliminação na coluna do pivô e término da i-ésima iteração:
Anule os coeficientes da coluna ji de Aux que estiverem abaixo de sua primeira linha,
usando operações de substituição O1, (substituição das linhas de Aux, por elas mesmas
menos múltiplos adequados da primeira).
Substitua i por i+1 e volte para o primeiro passo.
Exemplo 3.13 Imaginemos o algoritmo 3.2 aplicado a uma matriz 5x13, como a que resultou na
escada do exemplo 3.10. Após duas iterações já teríamos encontrado as duas primeiras linhas da escada.
No começo da terceira iteração, estaríamos dispondo de algo como, por exemplo:
Passo 1 Aux é a submatriz formada pelas linhas 3, 4 e 5, visto que não são todas nulas. Portanto, o
algoritmo continua a operar com:
Passo 2 A coluna do pivô nesta iteração resulta j3 = 6. Como na posição do pivô desta iteração tem um
zero, somos obrigados a trocar de linhas. Trocaremos a primeira linha de Aux com a terceira, obtendo:
0 p1 x x x x x x x x x x x
0 0 p2 x x x x x x x x x x
0 0 0 0 0 0 0 0 3 -1 0 0 1
Aux 0 0 0 0 0 2 4 4 5 -1 2 -1 3
0 0 0 0 0 1 2 2 1 0 1 0 1
Coluna do pivô j3 =6
0
2
1
0 p1 x x x x x x x x x x x
0 0 p2 x x x x x x x x x x
0 0 0 0 0 0 2 2 1 0 1 0 1
Aux1 Aux3 0 0 0 0 0 2 4 4 5 -1 2 -1 3
0 0 0 0 0 0 0 3 -1 0 0 1
Coluna do pivô j3 =6
1
2
0
1
18
Passo 3 Só falta zerar um elemento na coluna j3 de Aux. Basta fazer Aux2 Aux2 – 2 Aux1
Ao final da iteração, completa-se o terceiro degrau da escada e faz-se i =4. A matriz A começa a
próxima iteração na forma:
Observação 3.3 No passo 3 do algoritmo, para zerar os elementos abaixo de um pivô pi =Aij 0, numa
coluna j=ji, ele manda substituir as linhas Ak por Ak – LkjAi, para k = i+1, i+2, ,m. Estes números Lkj são
denominados de multiplicadores e terão um papel importante na seção 3.7. A condição que amarra o valor
de Lkj,, é tornar nula a entrada de Ak – LkjAi na coluna j. Ou seja,
0 = Akj -LkjAij = Akj -Lkjpi Lkj =
i
kj
p
A , onde pi é o pivô da coluna j = ji
A “esperteza” do algoritmo é fazer com que, em cada iteração, não se mexa com o pedaço da
escada que havia sido construído nas iterações anteriores. Ou seja, nem com as entradas acima da escada,
nem com os zeros já construídos em iterações anteriores, nas colunas à esquerda do degrau a ser
construído em cada iteração. Resumimos esta “esperteza” no seguinte teorema:
Teorema-chave 3.1 - O algoritmo da eliminação de Gauss nunca fracassa.
De fato, o algoritmo da eliminação de Gauss tem todos os seus passos bem definidos e sempre
termina em, no máximo, m iterações, devolvendo uma matriz na forma escada linha-equivalente à
original.
Observação 3.4 - O teorema chave 1 é muito importante pois nos garante a possibilidade teórica de
reduzir a resolução de um sistema de equações lineares qualquer ao problema bem mais simples de
resolver um sistema na forma escada. Do ponto de vista computacional, na prática, o método também
0 p1 x x x x x x x x x x x
0 0 p2 x x x x x x x x x x
0 0 0 0 0 0 2 2 1 0 1 0 1
Aux2 Aux2 –2 Aux1 0 0 0 0 0 2 0 0 3 -1 0 -1 1
0 0 0 0 0 0 0 3 -1 0 0 1
Coluna do pivô j3 =6
1
0
0
1
0 p1 x x x x x x x x x x x
0 0 p2 x x x x x x x x x x
A = 0 0 0 0 0 p3 x x x x x x x
0 0 0 0 0 0 0 0 3 -1 0 -1 1
Aux 0 0 0 0 0 0 0 0 3 -1 0 0 1
19
funciona razoavelmente bem, (pelo menos em sistemas de “médio porte”), mas há cuidados numéricos
importantes a se tomar, visto que os softwares usualmente empregados fazem contas com erros de
arredondamento. O mais importante deles consiste em evitar pivôs muito pequenos, em função da
estabilidade numérica do método. A grande maioria dos softwares escolhe, como default, trocar de
linhas no passo 2 do algoritmo, de modo a sempre garantir para pivô o maior elemento disponível na
coluna do pivô.
Chegamos agora a um resultado fundamental para tudo o que se segue. Corresponde ao fato que,
essencialmente, “só há uma forma-escada para cada matriz A”, no sentido que:
TEOREMA-CHAVE 3.2 –
Se duas matrizes escada forem linha-equivalentes a A, então as colunas de seus pivôs
coincidem. Em particular, também o número de linhas não-nulas.
Observe que, no passo 2 do algoritmo da eliminação de Gauss, temos a liberdade de escolher a
linha onde estará o pivô de cada iteração. Em geral, isto pode conduzir a diferentes matrizes na forma
escada, e linha-equivalentes a matriz ampliada original. (vide exercício 3.21). Ainda assim, o teorema
chave 3.2 está nos garantindo que, independentemente de como se escolham os pivôs no passo 2 do
algoritmo, os degraus das escadas sempre ficam nas mesmas posições. Ou seja, podem variar os pivôs,
mas não as suas posições. É possível demonstrar este teorema-chave usando apenas a descrição do
algoritmo. No entanto preferimos uma demonstração de sabor mais geométrico, a ser feita no capítulo 4.
Uma de suas consequências mais importantes é permitir que definamos o posto de uma matriz, bem
como estender o conceito de posição e coluna de pivô a uma matriz qualquer.
Definição-chave 3.5- Posto, posição e coluna de pivô, variáveis pivotais e livres
Posto de A é o número de linhas não nulas de qualquer matriz escada linha-equivalente a A.
Do mesmo jeito, as colunas de pivô, bem como as posições de pivô de A são as correspondentes
colunas e posições de pivô de qualquer matriz na forma escada linha-equivalente a A.
Observe que a cada variável de Ax = b, corresponde uma coluna de A Denominamos de pivotais às
variáveis correspondentes às colunas de pivôs e de livres às demais.
Olhando para o que aconteceu nos sistemas Ax = b dos exemplos 3.5, 3.8 e 3.9, podemos perceber
que as soluções daqueles sistemas foram obtidas explicitando as variáveis nas colunas dos pivôs, em
função das demais variáveis, em matrizes linha equivalentes a A e na forma escada Na verdade, o que o
teorema chave 3.2 nos garante é que as colunas dos pivôs independem de qual matriz na forma escada
linha-equivalente a A tenham sido obtidas, e permite que, igualmente, classifiquemos as variáveis de
Ax =b em dependentes (pivotais ) e nas demais, livres.
Observação 3.5 Significado do posto de uma matriz.
Praticamente tudo o que dissermos neste capítulo e no próximo, estará relacionado ao conceito de
posto. Vamos arriscar uma primeira interpretação para o significado de posto de uma matriz, baseando-
nos num exemplo particular. Considere o sistema de equações Ax = 0, dado por
20
A =
1211109
8765
4321
Para achar o posto da matriz A, aplicamos o algoritmo 3.2, obtendo:
1211109
8765
4321
133
122
9
5
AAA
AAA
241680
12840
4321
233 2AAA
0000
12840
4321
Portanto, tendo em vista nossa definição-chave deste capítulo, a matriz A tem posto 2, apesar
de ter três linhas. Verifique que a terceira linha de A é uma combinação linear das duas primeiras, já
que A3 = 2A2 – A1. Se pensamos no sistema de equações lineares correspondente,
0x12x11x10x9
0x8x6x6x5
0x4x3x2x
4321
4321
4321
isto significa que a terceira equação pode ser obtida fazendo a diferença entre o dobro da segunda e a
primeira. Ou seja, todas as soluções das duas primeiras também satisfazem a terceira das equações do
sistema. Neste sentido, ela é redundante e perfeitamente dispensável. Ou seja, o sistema formado pelas
duas primeiras equações terá exatamente as mesmas soluções que o original. Por outro lado se
eliminarmos duas das três equações, a equação resultante obviamente, admitirá mais soluções do que o
sistema original Ax = 0. (vide exercício 3.14). Podemos dizer que, neste caso, o posto de A mede a
quantidade mínima de equações do sistema Ax = 0 que não são redundantes entre si, mas admitem
exatamente as mesmas soluções de Ax = 0. Ou seja, a quantidade mínima de equações que devem ser
mantidas, caso desejamos cortar equações do sistema sem alterar seu conjunto de soluções. No capítulo 4
teremos a oportunidade de verificar que esta interpretação vale em geral, no contexto de uma
interpretação mais abrangente para o conceito de posto. Do ponto de vista numérico, como em geral se
trabalha com erros de arredondamento, há complicações importantes para caracterizar numericamente o
posto de uma matriz, mas isto escapa aos objetivos de um livro introdutório como este. Tangenciaremos
esta questão nos exercícios para computador da seção 3.8.
Exercícios da seção 3.2
Exercício 3.14 – Encontre, para cada uma das 3 equações do sistema na observação 3.5, consideradas
isoladamente, uma solução que não satisfaça às demais.
Exercício 3.15 - Use o algoritmo da eliminação de Gauss para tentar encontrar matrizes triangulares
superior linha-equivalentes a A, nos seguintes casos:
i - A = 12
21 ii – A =
120
432
321
iii -
7654
6543
5432
4321
21
Exercício 3.16 - Ache, em cada um dos casos, uma solução de Ax = b, sempre que exista, aplicando o
método da eliminação de Gauss à matriz ampliada (A |b) e calculando, em seguida, a solução do sistema
linear triangular superior correspondente.
i - A = 12
21, b =
0
1; ii – A =
120
432
321
, b =
1
0
1
; iii -
7654
6543
5432
4321
e b =
0
0
0
1
Exercício 3.17 - Certo ou errado. Justifique:
i - Se U é uma matriz-escada nxn de posto n, então U é invertível
ii - Se A é uma matriz 30x20 então o posto de A é menor que o número de linhas de A
iii - Se A é nxn de posto n e b n , então Ax = b tem sempre uma única solução.
iv - Se A for mxn de posto menor que m então Ax = b nem sempre terá solução.
v - Se A for mxn de posto m então Ax = b sempre terá solução.
vi - Se A for mxn de posto n então Ax = b nunca tem mais de uma solução.
vii - Se A for mxn de posto menor que m então Ax=0 sempre terá uma solução não-trivial
Exercício 3.18 - Considere a matriz A =
1 2 1 1 02 4 2 1 11 1 1 1 12 3 0 1 2
.
i - Encontre uma matriz-escada linha-equivalente a A.
ii - Ache duas soluções de Ax = 0, de tal modo que uma não seja múltipla da outra.
Exercício 3.19 Diga os postos das matrizes usadas nos exercícios 3.15 e 3.18
Exercício 3.20 - Certo ou errado? Justifique:
i - Toda matriz triangular é invertível.
ii - Se o algoritmo da eliminação de Gauss é bem sucedido e U não tem zeros na diagonal, então A é
invertível.
iii - Se A não é invertível, e o algoritmo da eliminação é bem sucedido então U tem zero em alguma das
entradas da diagonal.
iv - As soluções de Ax = b não se alteram ao multiplicarmos uma de suas linhas por um número real
não-nulo.
v – As soluções de Ax = b não se alteram ao multiplicarmos uma de suas linhas por um número inteiro.
vi – As soluções de Ax = b se alteram ao multiplicarmos uma de suas linhas por um número inteiro.
Exercício 3.21 - Considere a matriz A =
1 1 2 0
2 3 1 2
4 0 1 1
i - Ache uma matriz escada U, linha-equivalente a A, sem fazer permutação de linhas.
ii - Ache uma outra matriz escada U’, linha-equivalente a A, escolhendo em cada coluna o maior pivô
possível.
iii - Veja que U e U’ têm a mesma forma escada. Ache as soluções de Ux = 0, bem como de U’x = 0 e
verifique diretamente que coincidem com as soluções de Ax = 0
22
3.3 Soluções de um sistema de equações lineares.
Dado que o algoritmo da eliminação de Gauss nunca fracassa, encontrar as soluções de um
sistema de equações lineares se reduz ao problema de encontrar as soluções de um sistema na forma
escada.
Ao longo de toda esta seção 3.3, vamos denotar por (U |b) uma matriz ampliada na forma escada e
analisar o conjunto das soluções de Ux = b. Para fixar idéias, começamos analisando um destes sistemas
no próximo exemplo, para em seguida discutir o caso geral:
Exemplo 3.14 - Considere o sistema Ux =
000000
300000
101200
312312
4
3
2
1
6
5
4
3
2
1
b
b
b
b
x
x
x
x
x
x
I - Obviamente Ux = b não admitirá solução, se b4 0 (vide ainda exemplos 3.4 e 3.7)
II - Se b4= 0, a última equação é redundante. Podemos eliminá-la e trabalhar com o sistema Ûx = b =
3
2
1
b
b
b
, de 3 equações abaixo.
36
2643
1654321
bx3
bx1xx2
bx3xx2x3xx2
36
4263
5421631
bx3
xbxx2
xx2x.bx3x3x2
(3.5)
Do mesmo modo que nos exemplos 3.5, 3.8 e 3.9, mantivemos acima as variáveis dependentes
(pivotais) onde estavam e passamos as variáveis livres para o outro lado. Recaímos num sistema
triangular superior e sem zeros na diagonal, a ser resolvido em função das variáveis livres, isto é, tendo as
variáveis livres como parâmetros a serem arbitrados. Do ponto de vista matricial, observe que o sistema
acima se escreve como:
LLDD
x
5
4
2
Ûx
6
3
1
U
x
x
x
000
010
121
b~
x
x
x
300
120
332
Observação 3.6 No exemplo acima reescrevemos Ûx = b , na forma
(3.6)
onde,
ÛD xD = b -ÛLxL
23
xD é um vetor que armazena as variáveis dependentes (pivotais) de Ûx = b
xL armazena as variáveis livres de Ûx = b
As colunas de ÛD são as colunas pivotais de Û, na mesma ordem que surgem em Û.
As colunas de ÛL são as demais colunas Û, igualmente na mesma ordem.
Veja que (3.5) e (3.6) representam exatamente o mesmo sistema de equações. (3.6) é apenas uma
forma matricial interessante de reescrever (3.5). Observe que podemos fazer o mesmo com qualquer
sistema de equações, de uma maneira até mais geral. Ou seja, dada uma matriz A qualquer,
armazenamos em AD algumas das colunas de A e as demais em AL , ao escrevermos Ax como
combinação linear das colunas de A, sempre podemos reagrupar o produto matriz-vetor, na forma (vide
exercício 2.42).
Ax =
LL
pnpn
11
DD
pp
11
xA
)L(L
)L(L
xA
)D(D
)D(D
)n(n
)2(2
)1(1 AxAxAxAxAxAxAx
Portanto Ax = b ADxD = b - ALxL (3.6’)
A vantagem de olhar para um sistema na forma 3.6 reside no fato dela ser bem mais econômica e
passível de manipulação algébrica do que 3.5. O exemplo 3.14 é representativo do que acontece no caso
geral. Dele extraímos dois procedimentos para o que se segue:
i - Vamos dispensar as linhas nulas da matriz ampliada (U |b), pois correspondem a equações
redundantes, da forma 0x1 +0x2+ + 0xn = 0
Basta portanto estudarmos sistemas na forma escada cujo posto é igual ao número de linhas.
Daqui por diante, no restante desta seção, vamos denotar por (Û | b ) uma matriz na forma escada, sem
linhas nulas, com Û sendo pxn.
ii - Passamos a adotar ainda a notação definida na observação 3.14 para o sistema Ûx = b , ou seja, xD
denota o vetor das variáveis dependentes (pivotais), xL é o vetor das variáveis livres, UD uma matriz
cujas colunas são as colunas pivotais de Û e ÛL armazena as demais colunas de Û. Do mesmo modo
que antes, chegamos a:
Ûx = ÛDxD + ÛLxL
Na subseção 3.3.1 analisamos o que podemos esperar das soluções de um sistema de equações
lineares Ûx = b , com (U | b ) na forma escada e sem linhas nulas. Nos exemplos 3.5, 3.8 e 3.9 obtivemos
famílias de soluções, dependendo de parâmetros, e que continham todas as soluções das equações
lineares em questão. Uma tal descrição das soluções é denominada de solução geral . Elas são muito
úteis e vamos nos ocupar de obtê-las nas subseções 3.3.2 e 3.3.3. Na subseção 3.3.4, sintetizamos um
algoritmo para obter as soluções de um sistema Ax = b.
3.3.1 Resolução de Ûx = b
Estamos supondo que a matriz ampliada (Û | b ) está na forma escada, não tem linhas nulas, é
px(n+1) e de posto p. Segue daí que ou bem posto de Û vale p-1 ou então vale p. Do mesmo jeito que
no exemplo 3.14, cada uma das duas possibilidades correspondem a casos bem distintos:
24
I - Posto(Û) = p-1 Ûx = b não tem solução. (sistema impossível)
Nos exemplos 3.4 e 3.7 esta situação já havia aparecido. Dizer que o posto de Û vale p-1 e que o
da matriz ampliada vale p, é sinônimo de dizer que a última linha da matriz ampliada (Û | b ) é da
forma:
(Û | b )p = (0 0 b p) (3.7)
Ou seja, representa a equação
0x1 +0x2+ + 0xn = b p, com b p 0 (3.7’)
Uma tal equação não tem soluções. Portanto, tampouco o sistema Ûx = b
II – Posto(Û) = p Ûx = b tem solução (sistema possível)
Dizer que o posto de Û vale p significa dizer que a última linha da matriz ampliada não é da forma
3.7. Vamos verificar que, neste caso, o sistema Ûx = b sempre tem solução e vamos indicar maneiras
convenientes de obtê-las. Observe que o número de colunas de Û não pode ser inferior ao seu posto,
implicando p n, e que, neste caso:
O vetor xD das variáveis dependentes está no p.
A matriz das variáveis dependentes UD é pxp, triangular superior e com os pivôs de Û na sua
diagonal. Em particular ÛD não tem zeros na diagonal e é, portanto, invertível.
Se l = n – p > 0, há l variáveis livres e o vetor das variáveis livres xL está em l . Neste caso a
matriz das variáveis livres UL é pxl
Vamos distinguir duas situações, neste caso II:
II.1 - Não há variáveis livres (p=n) (sistema possível e determinado)
Neste caso, Û = ÛD,. Portanto , Ûx = b é um sistema triangular sem zeros na diagonal. e admite
solução única, “fácil” de encontrar com TRIASUP.
II.2 - Há variáveis livres (l = n-p > 0) (sistema possível e indeterminado)
Neste caso, para cada xL que se fixe em l, existe uma única solução x, tendo xL nas posições
das variáveis livres e, nas posições das variáveis pivotais, a solução única de
ÛDxD = b - ÛLxL
3.3.2 Solução geral da equação homogênea Ûx = 0
Nesta subseção trataremos de algumas propriedades das soluções do caso particular muito
importante de sistemas de equações lineares homogêneos, ou seja, nos quais o termo independente é b
= 0. Neste caso sempre há pelo menos a solução x = 0, uma vez que Û*0 = 0. Em especial,
descreveremos uma solução geral de Ûx = 0, vale dizer, uma família parametrizada de soluções, que
inclui todas as soluções do sistema. Vamos começar com um exemplo particular:
25
Exemplo 3.15 Obter todas as soluções de Ux = 0, tais que uma de suas variáveis livres valha 1 e as
demais valha zero, para a mesma Û = 2 1 3 2 1 30 0 2 1 0 10 0 0 0 0 3
do exemplo anterior.
Se xL =
0
0
1
x
x
x
5
4
2
, obtemos xD =
0
0
2/1
. Ou seja, a solução S(1)
=
Se xL =
0
1
0
x
x
x
5
4
2
, obtemos xD =
0
2/1
4/1
. Ou seja, a solução S(2)
=
Se xL =
1
0
0
5
4
2
x
x
x
, obtemos xD =
0
0
2/1
. Ou seja, a solução S(3)
=
Considere agora uma combinação linear qualquer das três soluções, digamos
y = 1S(1)
+ 2 S(2)
e+ 3S(3)
=
0
2
242
3
2
2
1
321
=
000
100
010
02/10
001
2/14/12/1
3
2
1
= S
Observe que:
I – y também é solução de Ax = 0, já que, pela linearidade do produto matriz-vetor:
Ay = A( 1S(1)
+ 2 S(2)
e+ 3S(3)
) = 1 0
)1(AS + 2 0
)3(3
0
)2( ASAS = 0
Ii – Todas as soluções de Ax = 0 são combinações lineares de S(1)
, S(2)
e S(3)
0
0
0
0
1
2/1
0
0
1
2/1
0
4/1
0
1
0
0
0
2/1
26
Seja z uma solução qualquer de Ax = 0. Queremos verificar que z também é combinação linear
de S(1)
, S(2)
e S(3)
. Considere o vetor de variáveis livres zL, digamos zL =( 1 2 3 )T. Observe que, neste
caso, y = 1S(1)
+ 2S(2)
+ 3S(3)
e z têm exatamente o mesmo vetor de variáveis livres. Na subseção
anterior vimos que há uma única solução possível de Ûx = b, para cada vetor de variáveis livres que se
arbitre. Isto significa que z = y, e portanto, que z é uma combinação linear das soluções S(1)
, S(2)
e S(3)
.
Podemos dizer que x = 1S(1)
+ 2 S(2)
+ 3S(3)
=S , é uma família a três parâmetros de soluções, e
que contem todas as soluções de Ûx = 0. Ou seja, é uma solução geral de Ûx=0.
O esquema acima se generaliza naturalmente, e provoca a seguinte definição:
Definição 3.6: Soluções canônicas de Ûx = 0
Dizemos que S(i)
é a i-ésima solução canônica de Ûx = 0, se o vetor das variáveis livres de S(i)
valer 1 na posição i, e zero nas demais.
No exemplo anterior, as soluções canônicas de Ûx = 0 eram S(1)
, S(2)
e S(3)
. Em geral, teremos l =
n-p soluções canônicas. Do mesmo jeito que no exemplo 3.15:
Observação 3.6 Combinações lineares de soluções de Ûx = 0 também são soluções
Para verificá-lo, considere soluções Y(1)
,Y(2)
, ,Y(l)
de Ûx = 0, bem como números reais 1 , 2 ,
, l. Da linearidade do produto matriz-vetor, obtemos:
Û( 1Y(1)
+ 2Y(2)
+ + lY(l)
) = 0
)l(l
0
)2(2
0
)1(1 YUYUYU = 0
Ou seja, Y = 1Y(1)
+ 2Y(2)
+ + lY(l)
também é solução de Ûx=0
Observação 3.7 Uma solução geral de Ûx=0
Da observação anterior, dadas as soluções canônicas S(1)
,S(2)
, ,S(l)
, então
x = S = 1S(1)
+ 2S(2)
+ + lS(l)
(3.8)
é uma família a l parâmetros de soluções de Ûx = 0. Na verdade, uma tal x = S é também uma solução
geral. A justificativa para tanto é a mesma do exemplo 3.15. Parte da observação que o vetor de
variáveis livres de x = S é exatamente . (Por quê? Vide ainda exercício 3.23.vii-ix). Mas neste caso,
se z é uma solução qualquer de Ûx = 0, e seu vetor de variáveis livres for zL, então SzL igualmente é
solução de Ûx = 0, com o mesmo vetor de variáveis livres zL. Pela unicidade da solução para tal vetor
de variáveis livres, temos que z=SzL. Ou seja, toda solução z pode ser escrita na forma 3.8
3.3.3 Solução Geral de Ûx =b
Começamos com um exemplo, usando a mesma Û do exemplo 3.14:
27
Exemplo 3.16 Encontrar solução geral para Ûx= 2 1 3 2 1 30 0 2 1 0 10 0 0 0 0 3
x = b, onde b=
3
3
4
Renomeando as variáveis livres por x2 = 1, x4 = 2 e x5= 3 e resolvendo de baixo para cima,
obtemos, para as variáveis dependentes:
3x3
2xx2
2.2x3x3x2
6
263
321631
1x2
11x
2
1
4
1
2
12x
6
23
3211
Ou seja, obtemos todas as soluções do sistema na forma:
x =
1
0
0
1
0
2
+
000
100
010
02/10
001
2/14/12/1
3
2
1
= xp + S
Observe que, na relação acima, xp é uma solução particular de Ûx = b, e S é a solução geral de
Ûx = 0 obtida no exemplo 3.3.15.
Observação 3.8 No exemplo acima, a solução geral de Ûx = b consistiu de uma solução particular,
somada com a solução geral da equação homogênea Ûx = 0. Isto, na verdade, acontece em geral, devido
ao fato que
Duas soluções de Ûx = b diferem por uma solução da equação homogênea.
Sejam x e xp soluções de Ûx = b, e considere sua diferença xH= x –xp . Então xH é solução de
Ûx = 0, visto que:
ÛxH = Û(x –xp) = Ûx - Ûxp = b – b = 0
Em particular, se xp é uma solução de Ûx = b, então todas as demais soluções são da forma x = xp +
xH, onde xH é alguma solução de Ûx = 0. Ou seja, a solução geral de Ûx =b é:
x = xp + S
28
Exemplo 3.17 Solução geral de Ûx = 2
1x
2200
1321, usando a observação 3.8
Passo 1 - Obtendo uma solução particular xP do sistema:
Se arbitramos as variáveis livres x2 = x4= 0, obtemos x3 = 1 e x1 = -2.
Ou seja xp = ( -2 0 1 0)T.
Passo 2 - Solução geral da equação homogênea.
As soluções canônicas de Ûx = 0 são S(1)
= (-2 1 0 0)T
e S(2)
= (2 0 –1 1 )T .
Uma solução geral (canônica) de Ûx = 0: S =
10
10
01
22
Passo 3 - Somando as duas
Uma solução geral de Ûx = b: x = xp + S =
0
1
0
2
10
10
01
22
3.3.4 Algoritmo para resolver Ax = b
Podemos resumir a busca de soluções para Ax = b, onde A é mxn a três passos:
1o Passo -
i - Encontre uma matriz escada ( U |b ) linha-equivalente a( A |b)
ii - Obtenha (Û | b ), eliminando as linhas nulas de (U |b) e seja p o posto de (Û | b ).
iii - Considere a matriz ÛD formada pelas colunas pivotais de Û
iv - Se p < n, considere a matriz ÛL, formada pelas demais colunas de Û.
2o Passo -
Se a última linha de (Û | b ) for (0 0 ... 0 |b n+1), então Ax = b não tem solução.
3o Passo - Caso contrário:
i - Se p = n, obtenha a solução resolvendo ÛD x = b
ii - Se p < n , e xL for o vetor de variáveis livres de uma solução x, obtenha o vetor de variáveis
dependentes xD resolvendo:
UD xD = b - ULxL
29
No caso 3.ii, alternativamente, obtenha uma solução geral x = xp + S , calculando:
Uma solução xp , com xL = 0, resolvendo ÛDxD= b , para as variáveis dependentes de x.
As soluções canônicas S(1)
, S(2)
, ... , S(n-p)
de Ûx = 0.
Exemplo 3.18 Voltamos ao exemplo do circuito elétrico 2.14, com uma diferença. Neste caso, vamos
supor que a resistência do ramo da bateria é desprezível, ou seja, que R1 = 0 e que as demais valem todas
100 . Suponhamos ainda que a bateria vale e1 = 12 V.
Lembramos que, no exemplo 2.14, o equacionamento do circuito se fez com duas equações
matriciais:
)Kirchoffdelei2(eRipM
)Kirchoffdelei1(0MiaT
a
onde,
M =
11110000
10001001
01001100
00100110
00010011
- Matriz de incidência
. i =(i1, i2 ,...., i8) T - vetor das correntes nos ramos.
p = (p1, p2,p3,p4,p5)T - vetor dos potenciais elétricos em cada nó.
R =
100
0
0100
0
Matriz das resistências (Diagonal, com os Ri na diagonal).
e = (12, 0 , ......., 0)T - Fontes de tensão em cada um dos ramos.
No exemplo 2.14, a matriz R resultava invertível, e isto nos permitia explicitar a solução na forma
de um sistema determinado na forma
M R-1
MT p = - M R
-1 e
Neste caso, isto não ocorre mais, pois R continua sendo uma matriz diagonal, porém com um zero
na sua diagonal. O jeito é trabalhar com o sistema 3.10, nas 13 incógnitas armazenadas em i e p, com as
13 equações que reescrevemos na forma:
epMRi
0MiT (3.10)
30
Uma maneira de resolver tal sistema seria aplicando o algoritmo da eliminação diretamente ao
sistema acima. Olhando o sistema como particionado em blocos, teremos:
Ou seja, a matriz ampliada se escreve:
A
Ao aplicar o algoritmo da eliminação de Gauss à matriz acima, obtemos a seguinte matriz na forma
escada, linha equivalente a A:
Como Posto(ÛD) = Posto( (ÛD | b ) = n0
de colunas de A, o sistema tem solução única, a ser
obtida resolvendo:
ÛD p
i = b
Ao aplicar TRIASUP ao sistema acima, obtemos:
TMR
0M
e
0
p
i
-1 1 0 0 1 0 0 0 0 0 0 0 0 0
0 -1 1 0 0 -1 0 0 0 0 0 0 0 0
0 0 -1 1 0 0 -1 0 0 0 0 0 0 0
0 0 0 -100 0 100 100 0 1 -1 0 0 0 0
0 0 0 0 -1 1 -1 -1 0 0 0 0 0 0
0 0 0 0 0 -100 0 0 -1 2 -1 0 0 -12
0 0 0 0 0 0 -2 -2 0 0 0 0 0 0
0 0 0 0 0 0 0 100 0 -1 2 -1 0 0
0 0 0 0 0 0 0 0 -1 0 0 1 0 -12
0 0 0 0 0 0 0 0 0 -2 1 2 -1 -24
0 0 0 0 0 0 0 0 0 0 -0.5 -2 2.5 24
0 0 0 0 0 0 0 0 0 0 0 12 -14 -132
0 0 0 0 0 0 0 0 0 0 0 0 -3.5 -15
Û = ÛD b
M 0 e
M
A =
R
R MT
-1 0 0 1 0
1 -1 0 0 0
0 1 -1 0 0
0 0 1 -1 0
1 0 0 0 -1
0 -1 0 0 1
0 0 -1 0 -1
0 0 0 -1 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0 0 0 0
0 -100 0 0 0 0 0 0
0 0 -100 0 0 0 0 0
0 0 0 -100 0 0 0 0
0 0 0 0 -100 0 0 0
0 0 0 0 0 -100 0 0
0 0 0 0 0 0 -100 0
0 0 0 0 0 0 0 -100
-1 1 0 0 1 0 0 0
0 -1 1 0 0 -1 0 0
0 0 -1 1 0 0 -1 0
1 0 0 -1 0 0 0 -1
0 0 0 0 -1 1 -1 -1
0
0
0
0
0
-12
0
0
0
0
0
0
0
31
Resulta:
i = (-0.0514 -0.0343 -0.0514 -0.0343 -0.0171 -0.0171 0.0171 -0.0171)T
p = ( -6 -2.5714 2.5714 6 -4.2857)T
Observação 3.9 Uma alternativa mais “barata” para resolver 3.10
Uma maneira alternativa de resolver o sistema 3.10, parte da observação que as cinco primeiras
equações não envolvem as variáveis em p, mas apenas as relativas à corrente i. Ou seja, a matriz do
sistema 3.10 é diagonal em blocos. Isto nos permite atacar primeiro a equação MI = 0, explicitar sua
solução geral na forma i = S e levar este valor nas demais equações do sistema (vide exercício 3.34).
Este tipo de procedimento alternativo pode ser importante em problemas “grandes” . Ou seja, encontrar
alternativas para “baratear computacionalmente” a resolução de Ax = b, usando informações sobre a
estrutura do problema.
Observe que o critério para distinguir se Ax = b tem ou não solução, depende apenas de saber se
Posto(Û)= Posto (Û | b ), para uma matriz (Û | b ) na forma escada e linha equivalente à matriz
ampliada (A |b). Como, neste caso, Posto(U) = Posto(A) e Posto((Û | b )) = Posto(A |b), podemos dizer
que:
Observação 3.10 Seja A uma matriz mxn e b n.
i – Posto(A) < Posto(A |b) se e somente se Ax = b não tem solução
ii – Posto(A) = Posto(A |b) se e somente se Ax = b tem solução
iii – Posto(A) = Posto(A |b) = n se e somente se Ax = b tem uma única solução
Em particular, se Posto(A) = m, então Ax = b tem sempre solução, para todo b n, já que neste
caso Posto(A)=Posto(A |b) = m para todo b n..
E
vice-versa, se Posto(A) < m, é possivel exibir um
b para o qual Ax = b não tem solução. Basta tomar uma matriz U na forma escada e considerar o sistema
Ux = I(m)
, onde I representa a matriz identidade mxm. Um tal sistema não pode ter solução, já que a
última linha de U é nula, se Posto(A) < m. Como (U |I(m)
) tem de ser linha equivalente a (A |Î(m)
) para
algum vetor Î(m)
que resulte da equivalência por linhas que leva U de volta a A, em particular, Ax = Î(m)
é,
igualmente, um sistema sem solução. Ou seja:
iv - Posto(A) = m se e somente se Ax = b tem solução para todo b n.
Observe que, se posto(A) = n, o sistema Ax = b pode até nem ter solução. No entanto, se tiver
solução, será única, pois neste caso, o sistema Ax = b não terá variáveis livres ( n=p ). E vice versa, se
Ax = b nunca tem mais de uma solução, isto significa que Ax = 0 só tem a solução trivial x = 0. Mas
então, pelo que vimos na resolução da seção 3.3.1, A não pode ter variáveis livres e Posto(A) = n. Em
resumo:
v - Posto(A) = n se e somente se Ax = b nunca admite mais de uma solução.
Em palavras, dizer que o posto de A iguala seu número de linhas é sinônimo de dizer que Ax =
b tem sempre solução, para todo b. Dizer que o posto de A iguala o número de colunas é sinônimo de
garantir unicidade para as soluções de Ax = b, quando existirem.
32
Exercícios da seção 3.3
Exercício 3.22 : Considere a equação Ax = 0, com a mesma matriz A do exemplo 3.17
i - Ache a solução S(1)
de Ax = 0 que tem por vetor das variáveis livres xL = x
x
2
4
= 10
ii - Ache a solução S(2)
de Ax = 0 que tem por vetor das variáveis livres xL = x
x
2
4
= 01
iii - Verifique que toda solução de Ax=0 se escreve como combinação linear de S(1)
e S(2)
iv - Verifique que toda solução de Ax = 0 se escreve como na forma S , onde 2
e S é uma matriz
4x2 cujas colunas são S(1)
e S(2)
.
Exercício 3.23 - Sejam A = 2 11 1
, b = 10
e C uma matriz mxn qualquer. Certo ou errado? Justifique:
i - Se x e y forem soluções de Ax = 0, então x + y também é.
ii - Se x e y forem soluções de Ax =b, então x + y também é.
iii - Se x for solução de Ax =b, e y for solução de Ax=0, então x+y também é solução de Ax=b.
iv - Se x é solução de Cx = 0, então 3x também é .
v - Se x e y forem soluções de Cx = 0, então (x+2y) também é .
vi - Se x e y forem soluções de Cx = 0, então toda combinação linear de x e y também é
vii – Se x = S é uma solução geral de Ax =0 então é o seu vetor das variáveis livres. viii – Se uma
solução geral x = S de Ax =0 tiver como vetor das variáveis livres, então x é uma solução geral
canônica.
ix – Se S(1)
, S(2)
, , S(p)
são as soluções canônicas de Ax = 0, então 1S(1)
+ 2S(2)
+ + (p)
S(p)
é uma
solução de Ax = 0 cujo vetor de variáveis livres é xL = ( 1, 2, , (p)
)
Exercício 3.24 - Ache as soluções gerais da equação Ax = 0, em cada um dos seguintes casos:
i - A = 1 12 10 1
ii - A =
1 22 43 64 8
iii - A = 1 0 2 02 1 0 11 1 1 0
iv - A = 0 1 2 0 21 0 1 1 01 1 1 0 1
Exercício 3.25 - Considere U = 1 2 4 0 10 0 2 0 1
. Observe que U está na forma escada
i - Diga quais são as variáveis básicas de U e quais as variáveis livres.
ii - Encontre as soluções canônicas de Ux=0.
iii - Encontre uma solução de Ux = 0 e tal que x2 = 1, x4 = 0 e x5 = 0.
iv - É possível encontrar uma solução de Ux = 0 tal que x3 = 1, x4 = 0 e x5 = 0.
v - É possível encontrar uma solução de Ux = 0 tal que x1 = 1, x4 = 0 e x5 = 0?.
33
Exercício 3.26 - Considere A = 1 3 0 2 12 6 1 1 01 3 1 3 2
.
i - Encontre uma matriz escada U, linha equivalente a A.
ii - Diga quais são as variáveis básicas de U e quais suas variáveis livres.
iii - Encontre as soluções canônicas de Ux = 0.
iii - Descreva uma solução geral de Ax = 0
iv - Encontre uma soluçào de Ax=0 tal que x2 = 1, x4 = 0 e x5 = 0.
v - É possível encontrar uma solução de Ax=0 tal que x3 = 1, x4 = 1 e x5 = 1.
vi - É possível encontrar uma solução de Ax = 0 tal que x1 = 1, x4 = 0 e x5 = 0?.
Exercício 3.27 – Encontre as soluções gerais da equação Ax = 0, em cada um dos seguintes casos:
i - A = 1 12 10 1
ii - A =
1 22 43 64 8
iii - A = 1 0 2 02 1 0 11 1 1 0
iv - A = 0 1 2 0 21 0 1 1 01 1 1 0 1
Exercício 3.28 - Sejam A =
1 3 1 2 1
2 4 2 1 0
1 0 1 2 0
e b =
101
i - Ache o posto de A, diga quais variáveis de Ax = b são básicas e quais são livres.
ii - Ache todas as soluções canônicas de Ax=0
iii - Ache uma solução particular de Ax = b
iv - Descreva todas as soluções de Ax = b
v - Ache uma solução de Ax = b tal que x4=1 e x5 = 2
vi - É possível encontrar uma solução particular de Ax = b tal que x2 = x3 = x4 = x5 ?
3.4 Matriz Escada na Forma Canônica
Na subseção 3.1 vimos que a resolução de Ax = b se reduz, com a eliminação de Gauss, a
resolver sistemas de equações triangulares superior na forma UDxD = b~
- ULxL , para obter as variáveis
básicas de uma solução cujas variáveis livres são arbitradas em xL. Veremos a seguir que é possível
melhorar um pouco esta resolução, “esticando” o método da eliminação de Gauss de forma a transformar
a matriz UD na matriz identidade. Para tanto, usaremos precisamos de uma terceira operação elementar
sobre as linhas de uma matriz, qual seja:
O3 – Trocar uma linha de uma matriz por um múltiplo não nulo dela mesma.
Obviamente, substituir uma linha de uma matriz ampliada (A |b) por um múltiplo não nulo de si
própria também não altera as soluções de Ax = b. (vide exerc. 3.16.iv). Começamos com um exemplo:
Exemplo 3.19 Considere nossa matriz U = 2 1 3 2 1 30 0 2 1 0 10 0 0 0 0 3
, do exemplo 3.14. Vamos realizar
operações elementares nas linhas de U, de forma a transformar cada coluna de pivô de U, numa coluna da
matriz identidade. Dividimos o procedimento em três iterações:
34
Iteração 1: Transformando a última coluna de pivô em (0 0 1 )T
Passo 1 - Divida a última linha de U pelo pivô p3 = 3
Passo 2 - Anule U16 e U26, usando a operação elementar O1, tendo como pivô U36=1
300000
101200
312312
3
33
UU
100000
101200
312312
311
322
2UUU
UUU
100000
001200
012312
Iteração 2 Transformando a penúltima coluna de pivô em (0 1 0)T
Passo 1 - Divida a penúltima linha de U pelo pivô p2 = 2
Passo 2 - Anule U13, usando a operação elementar O1, tendo como pivô U23=1
100000
001200
012312
2
22
UU
100000
002/1100
012312
211 3UUU
100000
002/1100
012/1012
Iteração 3 Transformando a primeira coluna de pivô em (1 0 0)T
Passo 1 - Divida a primeira linha de U pelo pivô p1 = 2
100000
002/1100
012/1012
2
11
UU
100000
002/1100
02/14/102/11
Chamemos de U~
a nova matriz Observe que a equação original Ux = 0 terá as mesmas soluções
que
Ux =
100000
002/1100
02/14/102/11x = 0
A vantagem é que agora a matriz das variáveis dependentes resultou U~
D =
100
010
001
.
Em particular as variáveis dependentes se obtêm de graça em função das livres xL = :
xD = U~
DxD = - U~
LxL =
000
02/10
2/14/12/1
3
2
1
A matriz da solução geral canônica resulta S = (S(1)
S(2)
S(3)
) =
000
100
010
02/10
001
2/14/12/1
Ou seja, as variáveis livres das soluções canônicas resultam ser as colunas de -UL
35
Este procedimento motiva a seguinte definição:
Definição 3.7: Matriz na forma escada reduzida
Dizemos que uma matriz U tem a forma escada reduzida (canônica) se, além de ter U a forma
escada, a sua matriz de colunas pivotais UD for a identidade. Equivalentemente, se todos os seus pivôs
valerem 1, e nas colunas dos pivôs todas as demais entradas forem nulas.
O algoritmo a seguir imita o procedimento do exemplo 3.19 e, às vezes, é designado como fase
regressiva da eliminação de Gauss. Essencialmente, parte de uma matriz U na forma escada e,
começando pela última coluna de pivô, vai sucessivamente transformando cada uma das colunas de pivô
em correspondentes colunas da identidade. Formalmente temos:
Algoritmo 3.4 Algoritmo da eliminação regressiva de Gauss (Fase regressiva)
Dada uma matriz pxn na forma escada U, de posto p, começando com i = p, faça:
Passo 1 - Atribuindo o valor 1 ao pivô na i-ésima linha e finalização do algoritmo:
Divida a linha Ui pelo correspondente pivô da linha.
Se i = 1, pare
Passo 2 - Eliminação na coluna do i-ésima pivô de U e fim i-ésima iteração:
Anule os coeficientes da coluna do i-ésimo pivô de U que estiverem acima da posição do pivô
usando operações de substituição O1.
Substitua i por i-1 e volte para o primeiro passo.
Tipicamente, a terceira iteração do algoritmo aplicada a uma matriz na forma escada 5x7, com
pivôs nas colunas 2, 3, 4, 5 e 7, seria algo do tipo:
Observação 3.11 Para resolver sistemas Ax = b pequenos, na mão, frequentemente é bem mais
confortável trabalhar um pouco mais para chegar a uma matriz na forma escada reduzida do que resolver
um sistema triangular superior com TRIASUP. Talvez por isto as matrizes na forma escada reduzida
sejam tão “populares” nos livros didáticos de Álgebra Linear. Conforme teremos a oportunidade de
checar na seção 3.8, do ponto de vista computacional, ela torna a resolução de Ax = b um pouco mais cara
do que usar TRIASUP, apesar da diferença seja pequena. Em particular, a fase regressiva da eliminação
completa um interessante método prático para inverter matrizes. (vide exercício 3.31 e a seção 3.5)
Observação 3.12 - Unicidade da forma escada reduzida
Se U e V são matrizes na forma escada reduzida e linha-equivalentes, suas colunas pivotais
coincidem (pelo teorema chave 3.2), bem como suas matrizes de variáveis pivotais UD e VD (ambas
0 p1 x x 0 x 0 U3 U3/p3 0 p1 x 0 0 x 0
0 0 p2 x 0 x 0 0 0 p2 0 0 x 0
0 0 0 p3 0 x 0 U2 U2 – U24U2 0 0 0 1 0 x 0
0 0 0 0 1 x 0 U1 U1 – U14U2 0 0 0 0 1 x 0
0 0 0 0 0 0 1 0 0 0 0 0 0 1
36
valem a identidade pxp). Como as soluções de Ux = 0 e Vx = 0 são as mesmas, podemos explicitar
suas variáveis dependentes na forma xD = - ULxL = - VLxL , para todo vetor de variáveis livres xL. Mas
então UL = VL , para todo de l ( l = número de variáveis livres) e isto significa que UL = VL (vide
exercícios. 2.2.iv e 3.33.vii).
Com isto “esticamos ” o teorema-chave 3.2 para dizer que “cada matriz A admite uma única
matriz linha-equivalente e na forma escada reduzida”. (Daí a denominação forma escada canônica
frequentemente utilizada em vez de forma escada reduzida, já que, usualmente, a designação canônica
está associada a uma conotação de unicidade)
Exercícios da subseção 3.7.3
Exercício 3.29 - Reduza à forma escada canônica as matrizes dos exercícios 3.24.ii e 3.24.iv e 3.26.
Exercício 3. 30 - Ache a solução geral do sistema Ax = b, onde A é a matriz do exercício 3.24.iv e b =
(1,0,0)T. Ache uma solução particular de Ax = b tal que x4 = 3 e x5 = 2.
Exercício 3.31 - Considere a matriz A =
132
312
111
do exercício 3.17 e, juntando-lhe colunas da
identidade, forme a matriz  = (A I) =
100
010
001
132
312
111
.
i - Encontre a matriz Ã, na forma escada canônica e linha equivalente a Â.
ii – Verifique que a matriz formada pelas três últimas colunas de à é uma inversa de A.
iii – Você sabe explicar se isto foi uma coincidência, ou não?
iv – Observe que, na prática, você repetiu o procedimento do exercício 3.18.
Exercício 3.32 - Tente aplicar o método do exercício acima para achar a inversa de
A =
133
012
121
. Explique por que não deu certo.
Exercício 3.33 Certo ou errado? Justifique:
i - Toda matriz A admite uma matriz linha-equivalente na forma escada canônica
ii - Se A é linha equivalente a B e B é linha-equivalente a C, então A e C admitem uma mesma matriz
linha-equivalente na forma escada canônica.
iii - Se A é uma matriz invertível, então a sua forma escada canônica é a identidade.
iv - Se A é uma matriz nxn e de posto n então a forma escada canônica de A e de AT são as mesmas.
v - Se A é uma matriz 2x2 então a forma escada canônica de A e de AT são as mesmas.
vi – Se A é mxn e Ax = 0, para todo x n, então A = 0
vii – Se A e B são mxn e Ax = Bx, para todo x n, então A = B
viii – Se k vetores forem soluções de Ax = 0, então qualquer combinação linear deles também será.
ix - Se A é 3x3 e Ax = 2x, para algum x 0, então A - 2I não é invertível.
37
3.5 Inversão de Matrizes e resolução de sistemas
Começamos lembrando o exemplo 2.8. Lá encontramos uma inversa à esquerda para uma matriz
A, 2x2 e que também funcionava como inversa à direita. O principal objetivo desta seção é dizer que este
procedimento funciona sempre para matrizes quadradas, desde que o posto de A seja máximo, bem como
sistematizar a forma de encontrar inversas. Na verdade vamos fazê-lo, verificando primeiramente as
condições nas que uma matriz A, mxn, admite uma inversa à direita. Em seguida analisamos as
condições nas quais A admite uma inversa à esquerda.
Observação 3.13 Condições nas quais Amxn admite inversa à direita.
i - Se A = Amxn tem inversa à direita então o posto de A é m
Seja X = Xnxm uma inversa à direita de A, ou seja, tal que AX = Imxm. Tome um b qualquer no n e observe que y = Xb é solução de Ax = b, já que:
Ay = A(Xb) = (AX) b = I b = b
Portanto, y = Xb sempre resolve Ax = b. Pela observação 3.10, A tem posto m.
ii - Se A tem posto m, então A tem uma inversa à direita.
Se X for uma inversa à direita de A, então AX = Imxm . Em particular, isto significa que cada
coluna de AX = (AX(1)
AX(2)
AX(m)
) é igual à correspondente coluna da identidade. Ou seja, são
soluções de m sistemas de equações lineares, a saber:
Ax = I(i)
, para i = 1,2, , m
Como o posto de A é m, a observação 3.10 nos garante que cada um dos m sistemas acima admite
uma tal solução X(i)
. A inversa X resulta como a matriz cujas colunas são estas soluções X(i)
.
Em resumo, A = Amxn admite inversa à direita se e somente se o posto de A for m. Em particular,
uma forma prática de procurar inversas para matrizes consiste em resolver as m equações acima para
achar uma inversa à direita de A.
Exemplo 3.20 Procurar uma inversa à direita para A =
111
332
321
Procuramos uma matriz X tal que AX = (AX(1)
AX(2)
AX(3)
) = I3x3. Vale dizer, tal que
AX(i)
= I(i)
, para i = 1,2,3.
Veja que ao levar cada uma das 3 matrizes ampliadas (A |I(i)
) à forma canônica reduzida, se A
tiver inversa à direita, terá posto 3, e chegaremos a ( I |X(i)
) . É mais interessante fazer as 3 contas ao
mesmo tempo, na matriz ampliada (A |I ) , como no exercício 3.31. Veja que se A tiver inversa à
direita, na forma escada reduzida encontraremos ( I3x3 |X), tal que AX = I
38
(A | I ) =
100
010
001
111
332
321
133
122
AAA
A2AA101
012
001
210
310
321
233 AAA
111
012
001
100
310
321
311
322
A3AA
A3AA111
321
332
100
010
021
311
322
A3AA
A3AA
X
111
321
310
100
010
001
Verifique que AX = I3x3
Exemplo 3.21 Vamos procurar calcular diretamente uma inversa à esquerda da mesma matriz A do
exemplo anterior. Nosso ponto de partida é a observação que se X é uma inversa à esquerda de A, então:
I = XA = (XA)T = A
TX
T
Ou seja, X é uma inversa à esquerda de A sss XT é uma inversa à direita de A
T. Como já
sabemos calcular inversas à direita, basta procurarmos uma inversa à direita de AT
e tomar sua transposta.
A técnica é a mesma do exemplo anterior. Ou seja, basta procurarmos uma matriz na forma escada
reduzida e linha equivalente a (AT | I ). Vamos omitir as contas
100
010
001
133
132
121
TA
TX
133
121
110
100
010
001
Observação 3.14 Condições nas quais Amxn admite inversa à esquerda
Do mesmo jeito que no exemplo 3.21, a forma de procurar uma inversa à esquerda para A = Amxn
é procurando uma inversa à direita para AT. Veja que se Imxm = A
TX , resulta que X
T é uma inversa à
esquerda de A. Neste caso, AT é nxm, ou seja A
T tem n linhas. Portanto, pela observação 3.13,
A= Amxn admite uma inversa à esquerda se e somente se posto de AT for n.
Eliminação
de Gauss.
39
A pergunta natural, a seguir, é Posto(AT ) = Posto(A) = n ? Felizmente a resposta para esta
pergunta é sim. Isto vai nos permitir melhorar a condição acima para:
É um fato que Posto(AT) = Posto(A) vale sempre, mesmo que o posto de A seja diferente de n. Trata-se
de um resultado importante e não trivial que estabeleceremos no próximo capítulo. Neste caso particular,
no qual Posto(A) = n, faremos uma demonstração aparentemente simples, porém engenhosa4, deste fato.
Começamos mostrando que, supondo Posto(A) = n, a equação ATAx = 0 só admite a solução trivial.
Seja x0 n tal que A
TAxo = 0. Neste caso, x0
T(A
TAxo) = x0
T 0 = 0. Observe que:
0 = x0T(A
TAxo) =(Ax0)
T Axo
= (A1x0)
2 + (A2x0)
2 + + (Anx0)
2 = (Ax0 )1
2 + (Ax0 )2
2 + + (Ax0)n
2
Neste caso, (A x0)1 = (A x0)2 = = (A x0 )n = 0, o que nos garante Ax0 = 0.
Como Ax0 = 0 e Posto(A) = n, o item anterior nos garante que x0 = 0. Ou seja, a equação ATAx = 0 só
admite a solução trivial x0 = 0, conforme queríamos estabelecer. Portanto, pela observação 3.10,
Posto(ATA) = n. Como A
TA é uma matriz quadrada nxn, a observação anterior lhe garante uma inversa à
direita . Ou seja, uma matriz X, tal que Inxn = (ATA)X = A
T(AX). Mas então AX é uma inversa à direita
de AT e, pela mesma observação 3.13, isto significa que A
T tem posto n
Já estamos em condições de poder consolidar as afirmações esboçadas no capítulo 2, sobre
existência de inversas de matrizes:
Observação 3.15 As matrizes invertíveis nxn são exatamente as de posto máximo.
Podemos tirar duas conclusões importantes das observações 3.13 e 3.14:
Uma matriz que não é quadrada nunca tem inversas dos dois lados.
Uma matriz nxn é invertível se e somente se tiver posto n.
A primeira das afirmações segue do fato que, se A = Amxn tem inversas dos dois lados, pelas
observações 3.13 e 3.14, temos Posto(A) = m = n. Isto nos garante ainda, no caso quadrado m=n, que se
A é invertível então tem posto n. Vice-versa, no caso de A ter posto máximo n, temos garantidas
inversas à direita X e à esquerda Y. Só falta verificar que, neste caso X = Y. Para tanto, veja que
Y = YInxn = Y(AX) = (YA) X = InxnX = X
Observação 3.15’ Um resumo teórico útil do que obtivemos até aqui seria dizer que, se A = Amxn:
Pela esquerda, as seguintes afirmações são equivalentes entre si :
i – A tem posto n
ii - A equação Ax = 0 só admite a solução trivial x = 0
iii – A admite inversa à esquerda.
Pela direita, as seguintes afirmações são equivalentes entre si:
i – A tem posto m
ii – A equação Ax = b tem sempre solução
iii – A admite inversa à direita
4 Na verdade, a idéia principal desta demonstração tem uma inspiração geométrica importante. Se você já tem alguma
familiaridade com a norma de vetores no 3, pense no caso onde n = 3 e observe que supor ATAx0 = 0, signifca 0 =
x0TATAx0 = (Ax0)
T Ax0 =||Ax0||2 Ax0 = 0
A admite uma inversa à esquerda se e somente se posto de A for n
40
Exercícios da seção 3.5
Exercício 3.34 - Certo ou errado. Justifique:
i - Uma matriz 3x2 nunca tem inversa à direita.
ii - Uma matriz 3x2 nunca tem inversa à esquerda.
iii – Uma matriz 3x2 sempre tem inversa à esquerda
iv - Se A é uma matriz invertível então AT também é inversível.
v - Se A é mxn e admite inversa à esquerda, então AT admite uma inversa à direita.
vi – Se A é mxn de posto m então posto(A) = Posto(ATA) = posto(A
T).
Exercício 3.35 - Considere a matriz A do exercício 3.28.
i - A admite inversa à esquerda?
ii - A admite inversa à direita?
iii - Caso exista inversa de algum dos lados, diga se é única e calcule pelo menos uma delas.
Exercícios suplementares às seções 3.1-3.5
Exercício 3.36 – No exemplo 3.18:
i - Encontre a solução geral de Mi = 0, na forma i = S
ii – Escreva a matriz ampliada de um sistema de 8 equações e 8 incógnitas cujas soluções calculam o
valor do potencial nos nós, bem como o valor das variáveis livres na solução do sistema original.
Exercício 3.37 - Seja A = 1 2 11 11 0 1
e b = 10
i - Encontre os valores de e para os quais o sistema Ax = b não admite solução.
ii - Encontre valores de e para os quais o sistema Ax = b admite mais de uma solução.
Exercício 3. 38 - Seja A =
1110
1011
0101
e b = 101
i - Encontre os valores de , e para os quais o sistema Ax = b não admite solução.
ii - Encontre valores de , e para os quais o sistema Ax = b admite uma única solução.
iii - Encontre valores de , e para os quais o sistema Ax = b admite uma família a um parâmetro de
soluções.
iv - Encontre valores de , e para os quais o sistema Ax = b admite uma família a dois parâmetro
de soluções.
Exercício 3.39 Considere A = 52
21.
i - Ache valores de para os quais Ax = x admite solução x 0.
ii - Para cada um dos valores de , ache vetores x 0 tais Ax = x
(Sugestão: Observe que se Ax = x sss (A - I)x = 0 )
41
Exercício 3.40 - Certo ou errado? Justifique:
i - Se uma matriz quadrada tiver inversa à direita então também admitirá inversa à esquerda.
ii - Uma matriz 3x5 nunca tem inversa à direita.
iii - Uma matriz 3x5 nunca tem inversa à esquerda.
iv -Toda matriz tem inversa de pelo menos um dos lados
v - Se A e B forem matrizes quadradas de postos diferentes então AB não é inversível
vi - Se A e B forem matrizes quadradas de mesmo posto então AB será inversível.
vii - Se uma matriz A tem mais linhas que colunas então A não admite inversa à direita.
viii - Se uma matriz A tem mais linhas que colunas então A não admite inversa à esquerda.
ix - Se A for mxn e ATA for inversível, então A tem posto n.
Exercício 3.41 - Suponha que uma ração alimentar balanceada para a sua vaquinha necessite de 0,4 kg
de uma substância I, 1,2 kg de substancia II e 0,9 kg de uma substância III. Reproduzimos na tabela
abaixo a quantidade, em kg, de substâncias I, II, III encontradas em cada kg dos alimentos A, B, C e D.
i - Ache a quantidade de alimentos A, B e C que garantem exatamente as substâncias I, II e III que sua
vaquinha necessita.
ii - Verifique que, se podemos usar os alimentos A, B, C e D, haverá várias formas de combina-los de
modo a garantir exatamente a quantidade de substâncias que a vaquinha necessita.
iii* - Sabendo que os alimentos A, B, C e D custam respectivamente R$ 1,00, R$ 1,50, R$ 2,00 e R$
0,50, qual das combinações de alimentos A, B, C e D que garantem exatamente as substâncias I,II,III de
que necessita a vaquinha é a mais barata?
3.6 Fatoração LU
O objetivo desta seção é estabelecer, como “subproduto” do algoritmo da eliminação de
Gauss, uma fatoração de uma matriz A num produto de matrizes triangulares, que tem grande
importância teórica e prática. Na seção 3.6.1, discutimos uma situação mais simples, na qual o algoritmo
da eliminação de Gauss é executado sem que nenhuma troca de linhas seja realizada. Na seção 3.6.2,
discutimos o caso geral, no qual se faz uso do pivoteamento indicado no passo 2
3.6.1 Fatoração LU na eliminação de Gauss sem pivoteamento
Falamos em eliminação de Gauss sem pivoteamento, para nos referirmos a uma aplicação do
algoritmo da eliminação de Gauss, na qual não se troca de linhas no passo 2 do algoritmo e ainda assim
ele termina sem fracassar. Para alguns tipos de matrizes importantes, isto é possível de se prever a priori,
mas o nosso principal objetivo em estudar este caso antes é para simplificar a exposição. Começamos
com um exemplo numérico:
A B C D
I 0,1 0,1 0,2 0,1
II 0,4 0,5 0,3 0,2
III 0,2 0,3 0,4 0,4
42
Exemplo 3.22
Vamos aplicar o algoritmo da eliminação de Gauss, à matriz A =
334
222
112
, tomando o
cuidado de armazenar os multiplicadores que forem surgindo (vide a observação 3.3). Denotemos por U
uma matriz que varia a cada iteração do método, começando com U = A e terminando com uma matriz
triangular superior.
334
222
112
123
122
A2AA
A)1(AA
110
310
112
233 A)1(AA
U
400
310
112
Junto com U =
400
310
112
, armazenamos os multiplicadores L21 = -1, L31= 2 e L32= -1. Forme a
matriz dos multiplicadores L =
112
011
001
1LL
01L
001
3231
21, e observe que:
LU =
112
011
001
400
310
112
=
334
222
112
=A
Ou seja, como num passe de “mágica”, a matriz original A ficou fatorada num produto de duas
matrizes triangulares, uma superior e outra inferior. Vamos explicar a “mágica” deste exemplo,
observando passo a passo, o que aconteceu com a matriz U.à esquerda, vamos registrando os valores
definitivos de U que vão se fixando em cada iteração: Na primeira iteração, tivemos:
U1 A1 U1 = A1
U2 A2 – L21U1 = A2 + U1 U2 = A2 + U1
U3 A3 – L31U1 = A3 –2 U1
Na segunda iteração, tivemos
U3 U3 – L32U2 = A3 – L31U1 – L32U2 = A3 -2U1 +U2 U3 = A3 -2U1 +U2
No final da iteração resultou:
Passando as linhas de A para o lado esquerdo, e as de U para o lado direito, pode-se perceber que
cada linha de A é o produto da correspondente linha de L por U, ou seja:
U1 = A1
U2 = A2 + U1
U3 = A3 -2U1 +U2
43
Observação 3.16 Fatoração LU
No exemplo anterior obtivemos A = LU, onde L é uma matriz triangular inferior com todas as
entradas da diagonal iguais a 1, e U é uma matriz triangular superior. As letras L (de Lower,
significando inferior em inglês) e U ( de Upper, significando superior em inglês) já são universalmente
consagradas na literatura. Não foi um acaso. Sempre que aplicarmos o algoritmo da eliminação de Gauss,
sem troca de linhas (apenas com as operações de substituição de linhas de tipo O1), obteremos uma tal
fatoração
A = LU
onde U é a matriz na forma escada que resulta no algoritmo e L é uma matriz triangular inferior. Abaixo
da diagonal de L ficam os correspondentes multiplicadores resultantes do algoritmo, e 1 em cada entrada
da diagonal. O argumento que justifica isto é inteiramente análogo ao que usamos para justificar a
“mágica” do exemplo 3.22. Deixamos ao leitor (vide exercício 3.43.i) para verificar que, do mesmo modo
que no exemplo anterior, se A é uma matriz nxn, de posto n, e o algoritmo da eliminação de Gauss chega
ao final sem precisar trocar de linhas, obteremos:
U1 = A1
U2 = A2 - 121UL
U3 = A3 - 232131 ULUL (3.11)
Un = An - 1n)1n(n22n11n ULULUL -
Em particular, isto significa que:
A1 = U1 = ( 1 0 0 0 0) U
A2 = L21U1 + U2 = (L21 1 0 0 0) U
A3 = L31U1 + L32U2 + U3 = (L31 L32 1 0 0) U
An = Ln1U1 + Ln2U2 + + Un = (Ln1 Ln2 Ln(n-1) 1) U
Observação 3.17 Fatoração LU, no caso onde U não resulta quadrada
Se A não for quadrada, ou tiver pivôs fora da diagonal, algo análogo funciona, porém é mais
chato de descrever (vide exercício 3.43.ii). Neste caso, U será a matriz escada resultante do algoritmo
da eliminação e L continuará quadrada, mxm, e tendo sua diagonal formada com entradas iguais a 1. Se
i for menor que o posto de A, na i-ésima coluna abaixo da diagonal de L ficarão os multiplicadores
usados na i-ésima iteração do algoritmo, ou seja, os multiplicadores usados para zerar a coluna ji abaixo
do pivô na posição (i, ji). Nas demais colunas e abaixo da diagonal, só zeros.
A1 = U1 = ( 1 0 0 ) U
A2 = -U1 +U2 = (-1 1 0 ) U
A3 = 2U1 - U2 + U3 = ( 2 -1 1 ) U
A = LU
A = LU
44
Exemplo 3.23 No exemplo 3.9, aplicamos o algoritmo da eliminação de Gauss à matriz
Â=
0
0
1
34563
26542
32321
. Resultou U =
5
2
1
1010000
42100
32321
Com pivôs nas colunas j1 = 1, j2 = 3 e multiplicadores L21 = 2; L31 = 3; L32 = 4
0
0
1
34563
26542
32321
133
122
A3AA
A2AA3
2
1
62400
42100
32321
Portanto, L =
1LL
01L
001
3231
21 =
143
012
001
 = LU
Observação 3.18: Gostaríamos de ressaltar que muitos dos resultados mais importantes da Álgebra
Linear podem ser resumidos na forma de uma fatoração de matrizes adequada. Tais fatorações estão
presentes em onze de cada dez softwares de Álgebra Linear. São muito úteis, tanto do ponto de vista
computacional como teórico. Nos capítulos 5 e 8 teremos a oportunidade de introduzir outras fatorações
significativas.
A principal característica da fatoração LU reside no fato que L é uma matriz triangular inferior
com 1 na diagonal principal e U é triangular superior. Isto significa que, dada a fatoração A = LU,
resolver Ax = LUx = b se reduz a resolver dois sistemas triangulares. Ou seja, reduz-se a:
P1 - Achar y tal que Ly=b
P2 - Achar x tal que Ux = y
Veja que P1 tem sempre solução já que a matriz L é trangular inferior e não tem zeros na
diagonal. Já P2 pode não ter solução, se Unn = 0.
Ao se resolver um único sistema Ax = b na mão, ele tem que ser pequeno e usualmente não se faz
necessário armazenar a matriz dos multiplicadores L. É suficiente aplicar o algoritmo da eliminação de
Gauss à matriz ampliada (A b) para, em seguida, resolver um sistema triangular superior. No entanto, ao
se ter um problema de médio porte, para o qual a eliminação de Gauss se fez sem pivoteamento, o mais
eficiente, computacionalmente, é calcular a fatoração LU e depois resolver os dois sistemas triangulares
em P1 e P2. Além disto, frequentemente se cai num problema no qual se precisa resolver a equação Ax =
b muitas vezes, com valores diferentes de b que vão surgindo iterativamente. Nestes casos, ao resolver
cada um dos problemas Ax = b usando a fatoração LU, evita-se de ter que refazer a eliminação de Gauss
para cada um dos b’s que forem surgindo, como no exemplo logo abaixo. Na seção 3.8.1 teremos a
oportunidade de ver que resolver sistemas triangulares é, em geral, bem mais “barato”,
computacionalmente, do que fazer a eliminação de Gauss.
45
Exemplo 3.24 Resolva a equação linear Ax =b , para a matriz A =
334
222
112
, do exemplo
3 e três valores de b.
I - Para b = b0 = (1 0 0 )T , encontrando a solução x0
Ii - Para b = b1 = b0 +x0, encontrando encontrando a solução x1
iii - Para b = b1 +x1 , encontrando encontrando a solução x2
No exemplo 3.22, ao fazer a eliminação de Gauss, encontramos para fatores L: e U de A as
seguintes matrizes:
L=
112
011
001
e U =
400
310
112
i Usando a fatoração A = LU para resolver Ax =
0
0
1
, temos dois passos a dar:
i.1 - Resolver Ly0 = ( 1 0 0 )T (substituição de “cima para baixo”)
Resulta y0 = ( 1 1 -1 )T
i.2 - Resolver Ux = y0 . (substituição de “baixo para baixo”)
Resulta x0 = ( 3/2 -7/4 -1/4)T.
ii - Analogamente para Ax = b1 = b0 + x0 = (5/2 -7/4 -1/4)T
ii.1 - Resolvendo Ly1 = b1 , resulta y1 = (5/2 3/4 -9/2)T
ii.2 - Resolvendo Ux = y1 , resulta x1 = (31/8 -33/8 -9/8)T
ii - Analogamente para Ax = b2 = b1 + x1 = (51/8 -47/8 -11/8 )T
ii.1 - Resolvendo Ly2 = b2 , resulta y2 = (51/8 1/2 -109/8)T
ii.2 - Resolvendo Ux2 = y2 , resulta x1 = (41/4 -343/32 -109/32)T
3.6.2 Fatoração LU na eliminação de Gauss com pivoteamento
Na verdade esta é a situação relevante, pois quase sempre que se faz a eliminação de Gauss, se
usa o pivoteamento no passo 2. Conforme já apontamos na observação 3.4, por razões de estabilidade
numérica, em geral se escolhe para pivô o maior elemento disponibilizado, em cada coluna, pelo
algoritmo. Nossa preocupação aqui se resume a explicar como funciona a fatoração neste caso, sem
maiores detalhes técnicos. Essencialmente, o exemplo abaixo já aponta o que acontece no caso geral.
Exemplo 3.25 – Vamos supor que se tenha aplicado o algoritmo da eliminação de Gauss a uma matriz
3x3, de tal forma que na primeira iteração se tenha trocado a primeira linha com a terceira, e que na
segunda iteração a troca tenha sido entre a segunda e a terceira linhas. Do mesmo modo que no exemplo
anterior, vamos seguir, passo a passo, o que aconteceu com a matriz U, bem como registrar à esquerda os
46
valores definitivos para a matriz U ao final, à medida que eles forem se fixando em cada passo. Na
primeira iteração tivemos:
U1 A3 U1 = A3
U2 A2 – L21U1
U3 A1 – L31U1
Na segunda iteração, tivemos
U2 U3 U2 = A1 – L31U1
U3 U3 – L32U2 = A2 – L21U1 – L32U2 U3 = A2 – L21U1 – L32U2
No final da iteração resultou:
Passando as linhas de A para o lado esquerdo, e as de U para o lado direito, pode-se perceber que
cada linha de A é o produto da correspondente linha de L por U, ou seja:
Observe que continuamos obtendo uma fatoração LU ao final, só que desta vez não mais da
matriz A original, mas de A com as linhas trocadas do mesmo jeito no qual foram sendo trocadas as
linhas de U no decorrer do algoritmo. Ou seja, obtivemos uma fatoração LU de uma matriz obtida de
A, mediante uma permutação de suas linhas definida por 1 =3, 2 = 1, 3= 2 . A matriz triangular
inferior L , é formada com os multiplicadores Lij, porém embaralhados com relação à sua posição na
matriz L de uma maneira que não nos nos ocuparemos em detalhar, pois só interessa mesmo na hora de
programar o algoritmo.
Este exemplo é bastante ilustrativo do que acontece em geral . Ou seja, ao aplicarmos o algoritmo
da eliminação de Gauss com pivoteamento a uma matriz A, ao final obtemos uma fatoração LU da matriz
m
2
1
A
A
A
, onde [ 1 2 m] representa uma permutação de [1 2 m] que diz em qual linha foi
parar cada linha original de A, em função das trocas de linhas realizadas pelo algoritmo. Uma maneira
elegante e muito útil de sintetizar este resultado é usando as matrizes de permutação introduzidas como
exemplo de matrizes ortogonais na seção 2.5.2 (exemplo 2.11) . Se definem como matrizes obtidas da
identidade, mediante uma permutação nas suas linhas. Sua propriedade fundamental, estabelecida nos
exercícios 2.47 e 2.49, consiste em produzir a mesma permutação de linhas numa matriz A, ao
prémultiplicá-la. Ou seja, se P é uma matriz de permutação, então PA é a matriz obtida de A com suas
U1 = A3
U2 = A1 - L31 U1
U3 = A2 - L21U1 - L32U2
A3 = U1 = (1 0 0)T U
A1 = L31 U1 +U2 = (L31 1 0)T U
A2 = L21U1 + L32U2 + U3 = ( L21 L32 1)T U
2
1
3
A
A
A
A
A
A
3
2
1
=
1LL
01L
001
3221
31 = UL
47
linhas permutadas na mesma forma que se permutou as linhas da identidade para chegar a P. Por
exemplo, no nosso exemplo acima, a permutação foi = [ 3 1 2], ou seja, a linha 1 =3 de A foi parar na
primeira, a linha 2 = 1 de A foi parar na segunda e a linha 3= 2 foi parar na terceira. A correspondente
permutação nas linhas de identidade produziria a matriz P =
010
001
100
.Observe que se A =
3
2
1
A
A
A
,
então
PA =
010
001
100
3
2
1
A
A
A
A
A
A
A
A
A
2
1
3
3
2
1
Isto nos permite escrever que o algoritmo da eliminação de Gauss nos dá como subproduto uma
fatoração LU de PA, onde P é uma matriz de permutação, ou seja, obtemos a relação:
PA = LU (3.12)
Em particular, como P é uma matriz ortogonal, ou seja, PTP = I, ao premultiplicar (3.12), em
ambos os membros, por PT, obtemos a fatoração LU de A, ou seja:
Teorema 3.3 (da fatoração LU) - Toda matriz A = Amxn admite uma fatoração na forma
A = PTLU . (3.13)
onde P é uma matriz de permutação, L uma matriz triangular inferior, com todas as entradas da diagonal
iguais a 1 e U uma matriz na forma escada e linha equivalente a A .
Observação 3.19 A fatoração A = PTLU tem uma importância prática que se evidencia pela sua
presença até em calculadoras científicas de bolso. Do ponto de vista teórico pode, também ser de grande
valia. Por exemplo, permite uma demonstração alternativa muito simples do fato que uma matriz
quadrada é invertível se e somente se for de posto máximo. O argumento é que, de (3.13) fica fácil
provar que A é invertível se e somente se U o for. Mas U é triangular superior... (vide exercício 3.42).
Observação 3.20 Em termos de uma dada fatoração PA = LU de A, proveniente do método de
eliminação de Gauss, resolver Ax=b é o mesmo que resolver PAx = Pb, já que P é inversível. Ou seja,
trata-se de resolver LUx = Pb, o que remete a primeiro encontrar b~
resolvendo o sistema triangular L
b~
= Pb e depois resolvendo Ux=b~
.
Observação 3.21 - Observamos ainda, que por razões de estabilidade numérica, o usual é escolher como
pivô, aquele elemento da coluna pivotal, abaixo do degrau correspondente ao pivô, e de maior valor
absoluto. A título de exemplo, comentaremos uma sessão do Matlab na qual lhe pedimos a fatoração LU
de uma matriz A = rand(4):
48
» A = rand(4) (No Matlab, rand(4) fornece uma matriz 4x4 com entradas aleatórias)
A =
0.6868 0.5269 0.7012 0.0475
0.5890 0.0920 0.9103 0.7361
0.9304 0.6539 0.7622 0.3282
0.8462 0.4160 0.2625 0.6326
No Matlab [L,U,P] = lu( A ) é a sintaxe de um comando do Matlab que devolve, em U, a matriz
triangular superior e, em L, a triangular inferior, e em P a matriz de permutação:
» [L,U,P] = lu(A)
L =
1.0000 0 0 0
0.6330 1.0000 0 0
0.9094 0.5550 1.0000 0
0.7381 -0.1375 -0.2955 1.0000
U =
0.9304 0.6539 0.7622 0.3282
0 -0.3220 0.4278 0.5283
0 0 -0.6682 0.0409
0 0 0 -0.1101
P =
0 0 1 0
0 1 0 0
0 0 0 1
1 0 0 0
Observe que:
Ou seja, obtemos que P*A = L*U, onde L e U são as matrizes triangulares do teorema 3.3,
relativas à fatoração de PA. Neste caso a permutação nas linhas foi [ 3 2 4 1], ou seja, no algoritmo da
eliminação de Gauss, ao se escolher as linhas onde estavam os pivôs resultou que a terceira linha
inicialmente em A foi para a primeira posição, a segunda não saiu do lugar, a que começou na primeira
linha de A foi sendo permutada até “terminar” na quarta, etc..
Veja que todos os multiplicadores ( entradas de L abaixo da diagonal) são inferiores a 1,
indicando que as permutações que resultaram em [ 3 2 4 1] de fato foram feitas de forma que cada
pivô fosse sempre o maior elemento na sua coluna, da diagonal para baixo.
» L*U =
0.9304 0.6539 0.7622 0.3282
0.5890 0.0920 0.9103 0.7361
0.8462 0.4160 0.2625 0.6326
0.6868 0.5269 0.7012 0.0475
»P*A =
0.9304 0.6539 0.7622 0.3282
0.5890 0.0920 0.9103 0.7361
0.8462 0.4160 0.2625 0.6326
0.6868 0.5269 0.7012 0.0475
49
Exercícios da seção 3.6
Exercício 3.42 - Sejam A =
221
312
101
e b =
0
0
1
I – Calcule a fatoração LU de A .
ii – Ache uma solução X(1)
de Ax = b.
iii – Calcule soluções X(2)
, X(3)
e X(4)
de tal forma que AX(i)
= X(i-1)
+ b, para i = 2,3,4, sem contudo, ter que
refazer o método de eliminação de Gauss.
Exercício 3.43 - Aplique o algoritmo da eliminação de Gauss, sem pivoteamento, à matriz
A =
1 2 3 1
3 5 2 0
1 2 1 1
1 1 2 0
, escreva as matrizes L, U e verifique a “mágica”, ou seja que A=LU. Além disto:
i - Sem usar novamente o algoritmo da eliminação, verifique que Ax= (0,0,0,1)T não tem solução.
ii - Sem usar novamente o algoritmo da eliminação, que condições devem satisfazer b1,b2,b3,b4 para que
Ax=(b1,b2,b3,b4)T tenha solução?
Exercício 3.44 Preencha a argumentação esboçada na observação 3.19, de como usar a a fatoração A =
PTLU para mostrar que uma matriz quadrada A é invertível se e somente se tiver posto máximo.
Exercício 3.45 + -
i - Mostre que a relação 3.11 vale em geral para a fatoração LU sem pivoteamento
ii – Verifique que é verdadeira a observação 3.17, sobre como generalizar a fatoração LU, sem
pivoteamento, para o caso no qual a matriz A não é quadrada e de posto máximo.
50
3.7 – Um exemplo típico de sistemas de equações lineares de médio porte (opcional)
Esta subseção pode ser omitida numa primeira leitura. A incluímos no sentido de ilustrar uma
aplicação típica de sistemas de equações lineares. Nela vamos fazer uma rápida introdução sobre a
discretização de uma equação diferencial, no sentido de apontar, no exemplo 3.27, uma idéia do que se
pode obter ao tratá-la numericamente com as ferramentas da Álgebra Linear. Nos exemplos 3.26.1-3.26.3
tentamos situar o que seja uma equação diferencial, a partir de equações que descrevem fenômenos físicos.
Exemplo 3.26 – Equações diferenciais descrevem fenômenos físicos.
Exemplo 3.26.1- Pedra que cai de uma altura yo
Lei da gravitação + 2a
lei de Newton + condições iniciais:
y0
0 m y”(t) = -mg
Exemplo 3.26.2 - Sistema massa-mola “relaxada” após uma distensão inicial
0
x0
x
Lei de Hook + 2a lei de Newton + condições iniciais:
F(x(t)) = mx”(t) = - kx(t)
Exemplo 3.26.3 - Flambagem de coluna elástica de comprimento l por carga axial P
y t g
y y
y
y tgt
y
"( )
( )
' ( )
( )
0
0
0 020
2
0
mx t kx t
x x
x
x t xk
mt
"( ) ( )
( )
'( )
( ) cos
0
0
0 0
0 0
51
Uma coluna elástica como na figura acima, apoiada nas extremidades e submetida à ação de uma
força P na sua direção longitudinal, será defletida. Se chamamos de y = y(x), tal deflação, sabe-se que y(x)
satisfará uma equação do quarto grau, do tipo:
y””(x) + y”(x) = 0 , onde = k P
Temos ainda como condições de contorno nas extremidades as informações que a viga está apenas
engastada na parede. Isto nos garante que y(l) = 0, bem como nenhuma inclinação para a viga em x= l, ou
seja, y’(l) = 0. Já na outra extremidade x = 0, o fato da viga estar apenas articulada, garante y(0) = 0, bem
como y’’(0) = 0.
Condições de contorno:
Exemplo 3.5 – Discretização de uma equação diferencial com condições de contorno:
Considere o problema de encontrar uma função y: [0,1] e tal que:
0)1(y
0)0(y
)x20sen(400x12)x(y
(3.14)
Neste caso, é relativamente fácil encontrar diretamente a solução:
x)2)20(sen()x20sen(x2)x(y 3
Tentando uma solução numérica aproximada de (3.14):
Partição de [0,1] em n+1 subintervalos de comprimento 1/(n+1):
0= x0 x1 x2 x3 1=xn+1
Sejam yk , y’k e y”k valores aproximados da solução procurada y(x) e de suas derivadas y’(x) e
y’’(x) em xk.
Ou seja, tentemos fazer com que yk y(xk) , y’k y’(xk) e y”k y”(xk)
Se h=1/(n+1) for pequeno, fica razoável considerar:
y(0) = y”(0)= 0 - Extremidade articulada
y(l) = y’(l) = 0 - Extremidade engastada
52
yy y
hk
k k1 (3.15)
yy y
h
y y yk
k k k k k
h
1 1 122 (3.16)
Levando (3.16) na equação (3.14) teremos em cada um dos n pontos x1, x2, ......,xn:
)x20sen(400x12fh
yy2yy kkk2
1kk1kk
Ou seja, temos n equações lineares, a resolver simultaneamente:
k22
1kk1k fh))hk20sen(400hk12(hyy2y , para k=1,...,n
Observamos que as condições de contorno correspondem a fazer y0 = 0 e yn+1 = 0 nas equações acima.
Portanto, procuramos y no n tal que Ay = b, onde:
A =
21000
12
0100
01210
0121
00012
, y =
y
y
y n
1
2
e b =
)1(yfh
fh
)0(yfh
n2
22
12
= h2 f
Uma matriz como esta A é denominada matriz tridiagonal, pelo fato de ser nula fora da diagonal
principal e de suas duas “paralelas” mais próximas
Vamos resolver o sistema Ay = b para vários valores de n, usando o Matlab, de forma a obtermos os
gráficos das soluções aproximadas para diferentes valores de n. Observe, na página ao lado, que acontece o
que se poderia esperar. Ou seja, que a aproximação melhora a medida que diminuimos o tamanho h de cada
um dos subintervalos da partição.
Este exemplo corresponde a uma situação típica na qual se ataca um problema modelado por
equações diferenciais, aceitando, no lugar das soluções exatas, soluções aproximadas dadas como soluções
de sistemas de equações lineares associados ao problema original.
53
Linha cheia: Solução exata de y”(x) = 12 x + 400 sen(20 x)
Linha pontilhada: Solução aproximada obtida com partições de [0,1] em 6,12, 24 e 48 subintervalos
iguais. As bolinhas 0 são os pontos (xk, yk) em cada caso.
Exercícios da subseção 3.7
Exercício 3.46 - Calcule diretamente (na mão) a solução aproximada do problema de contorno analisado
acima, no caso n=4, e esboce seu gráfico.
54
Exercício 3.47 - Considere o problema de encontrar uma função y(x) tal que y”(x) = x+1, sujeito a y(0)
= y(1)=0. Tente obter a solução exata e em seguida use a técnica acima para obter uma solução
aproximada, dividindo o intervalo [0,1] em cinco partes iguais.
3.8 - ASPECTOS NUMÉRICOS (opcional)
O objetivo desta seção é fazer alguns comentários sobre aspectos numéricos da resolução de sistemas
de equações lineares, apenas a título de introdução ao tema, que é vastíssimo. Na seção 3.7.1, discutimos um
pouco do custo computacional de alguns dos algoritmos propostos nesta seção. Na seção 3.7.2 escreveremos
os algoritmos Triasup e da eliminação de Gauss num formato mais próximo da programação, de forma a
subsidiar os exercícios a serem feitos com o auxílio de computadores ao final da seção.
3.8.1 - Contando as operações gastas para resolver sistemas (opcional)
Convencionemos que cada divisão e cada par soma-multiplicação constituam uma operação (
flop ). A seguir, estimaremos o custo, em número de flops, dos algoritmos apresentados . Na verdade,
estimaremos o número de operações envolvidos em sua execução, considerando o pior dos casos, ou seja,
quando todas as operações previstas são efetivamente realizadas. Numa situação real, frequentemente
temos algumas entradas nulas nas matrizes e com isto diminui o número de operações efetivamente
realizadas.
TRIASUP e TRIAGINF: Supondo U, triangular superior (inferior) nxn, e sem zeros na diagonal,
para cada linha i pode-se chegar a gastar, em TRIASUP, uma divisão e (i-1) pares soma-multiplicação, para
se obter o valor da incógnita xi. Isto nos daria, ao todo, NTRI = 1+ 2 + ..... + n = (n2 + n)/2 n
2/2 operações
em TRIAGINF.
Eliminação de Gauss - Vamos calcular o limite máximo de operações gastas para calcular a
fatoração LU. Ou seja, suponhamos que uma matriz A, nxn tenha sido fatorada com sucesso pelo algoritmo
LU, e que todas as operações de multiplicação teoricamente previstas tenham sido realizadas com números
não-nulos. Neste caso, para “zerar” a primeira coluna abaixo de A11, gasta-se em cada linha, uma operação
para achar o multiplicador e mais n -1 operações para calcular as entradas nas demais colunas da linha em
questão. Como são n-1 linhas a serem processadas, ao todo contamos n(n-1) operações, só para processar a
primeira coluna.. Na segunda coluna há menos operações a fazer. Observe que o número de operações
necessárias para zerar a segunda coluna de U abaixo da diagonal pode ser pensado como o que se gasta para
zerar a primeira linha da matriz U’, (n-1)x(n-1), e obtida retirando de U a primeira linha e a primeira coluna.
Isto nos dará (n-1)(n-2) operações para “zerar” a segunda coluna, abaixo da diagonal . E assim
sucessivamente, na k-ésima coluna teremos gasto k(k-1) operações. Isto nos dá um total NLU de operações,
onde:
NLU = n(n-1) + .... + k(k-1)+ + 2(2-1) = n2 + (n-1)
2 + .... + 1 - ( n + ...... + 1) =
= n(n+1)(2n+1)/6 - n(n+1)/2 = (n3 - n)/3 n
3/3
55
Observe que, para n grande NLU dá aproximadamente n3/3, que é muito maior do que o
número n2/2 de operações gastas, aproximadamente, para resolver um sistema triangular com
TRIASUP
.
Observação 3.21- O resultado dos exercícios 3.46 e 3.48 abaixo tem algo de surpreendente, pois nos diz
que inverter uma matriz nxn tem um custo computacional da mesma magnitude que multiplicar duas matrizes
nxn. Ainda assim é aproximadamente três vezes mais caro do que resolver um sistema Ax=b, a não ser para
valores pequenos de n. Para resolver Ax = b, o que sai caro, em termos computacionais, é fatorar A = LU.
Por exemplo, para n = 3.000, custa aproximadamente (3.000)3/3 = 9x10
9 operações. Já para resolver os
sistemas triangulares Ly = b e Ux = y, gasta-se aproximadamente 2(n2/2) = 9x10
6 operações. Ou seja mil
vezes menos.
Observação 3.22 - “Pequeno”,” médio” e “grande” portes...
Ao longo do texto, classificamos os sistemas de equações lineares em problemas de “pequeno”,”
médio” e “grande” portes. Na verdade, este é um daqueles conceitos que todo mundo sabe mais ou menos
o que significa, mas nunca se define exatamente. De uma maneira bastante grosseira, podemos pensar que os
problemas passíveis de serem feitos na mão seriam de “pequeno” porte. Os de “médio” porte seriam aqueles
passíveis de serem feitos com a eliminação de Gauss num PC, muito embora possamos ter aí problemas com
dezenas de milhares de variáveis, desde que sua matriz tenha uma estrutura “favorável” ao método da
eliminação de Gauss. Veja que, no caso de matrizes tridiagonais, como a do exemplo anterior, o método da
eliminação de Gauss deixa as matrizes na forma escada U, ao final, pentadiagonais. Isto, “barateia” mu ito o
método. Já para matrizes nxn, que não possuem nenhuma “estrutura” o número de operações necessárias
para a eliminação de Gauss é da ordem de n3/3. Para n > 1.000, já começa a ficar lento operar com a
eliminação de Gauss, num PC.
Exercícios da subseção 3.8.1
Exercício 3.48 - Verifique que a multiplicação de duas matrizes nxn na forma usual gasta, no pior dos casos,
n3 pares de operações soma-multiplicação
Exercício 3.49 + - Use a contagem feita com TRIASUP para ver que o número de multiplicações
necessárias para inverter uma matriz triangular é aproximadamente n3/6, se n é suficientemente grande.
(Sug: Não se esqueça que, ao resolver Ux = I(j)
, as j-1 últimas entradas de x serão nulas e se gasta para as
demais variáveis o equivalente a resolver um sistema triangular (n-j+1)x(n-j+1)
Exercício 3.50*+ - Pela contagem de operações feita acima para a eliminação de Gauss e para TRIAGINF,
o número de operações necessárias para inverter uma matriz nxn, inicialmente fatorando A=LU, invertendo
L e depois resolvendo os n sistemas de equações lineares UX(j)
= (L-1
)(j)
, para j=1,2,....,n, pode chegar a n3
flops (n3/3 para fazer a fatoração LU, n
3/6 para inverter L e n (n
2/2) = n
3/2 para resolver cada um dos n
sistemas triangulares).
3.8.2 - Algumas observações computacionais
56
Nas seções anteriores introduzimos alguns algoritmos, preocupados com um formato adequado de
um ponto de vista didático, ou seja, que fossem facilmente entendidos. Nesta subseção registramos os
algoritmos TRIASUP e da Eliminação de Gauss num formato mais próximo da forma com a qual se pode
programá-los em softwares como Matlab, Mathematica, Maple, Scilab,etc... Nosso objetivo aquí é subsidiar
os exercícios a serem feitos com o auxílio do computador.
TRIASUP - Dada a matriz U, triangular superior nxn, e b n
Se Lnn = 0, pare. (Fracasso de TRIAGINF)
Senão faça xnn = bn/Lnn.
Para i = n-1, n-2, , 1, faça:
Se Lii = 0, pare. (Fracasso de TRIAGINF)
Senão faça xi = (bi – Linxn - Lin-1xn-1 - - Lii+1 xi+1)/Lii
FIM
ALGORITMO DA ELIMINAÇÃO DE GAUSS (sem pivoteamento) –
Dada matriz nxn A, faça U = A
Para i = 1:n-1
Se Uii = 0, pare. (Fracasso do algoritmo LU)
Senão faça (anulando os elementos da j-ésima coluna de U abaixo da diagonal )
Para k = i+1, i+2, ,n
Lki =Uki/Uii
iUkiLkUkU
FIM
FIM
57
ALGORITMO DA ELIMINAÇÃO DE GAUSS (com pivoteamento)-
Dada matriz A, mxn:
Faça U = A
Para i =1,2,...,m -1
Seja ji o índice da primeira coluna de U que não se anula nas linhas i, i+1, ...., m
Escolha um pivô iji
U na coluna ji , ou seja, um i i tal que iji
U 0
Permute as linhas iU e i
U
Para k = i+1,i+2,..., m (Zerando os elementos da coluna ji , abaixo da linha i)
LkjiUkji
Uk ji/
Uk Uk LkjiUi
FIM
Se abaixo da linha Ui, a matriz só tiver zeros, PARE.
FIM
Exercícios para serem feitos com o auxílio do computador:
Exercício 3.51 - Seja A =
231
011
321
, b = I(1)
e explore o “help” de seu software (Matlab, Maple,
Mathematica, Scilab, Mathcad, ou Derive, etc.) para reconhecer os comandos que lhe permitam responder os
seguintes problemas:
i - Achar a solução de Ax = b.
ii – Calcular o posto de A.
iii – Armazenar em invA uma inversa de A .
iv – Se certifique que inv(A)*b é soluçâo de Ax = b
iii - Achar uma matriz na forma escada reduzida linha equivalente a A
iv - Escrever uma fatoração lu de A, ou seja, A = PTLU
58
Exercício 3.52 – Ainda com a matriz A do exercício 3.49, escreva a matriz AI = ( A I) e peça a seu
software que calcule uma matriz na forma escada reduzida e linha-equivalente a AI. Verifique que nas três
últimas colunas de tal matriz você obteve a inversa de A
Exercício 3.53 - Com a mesma A do exercício 3.49, e considerando a fatoração A = PTLU, faça:
i – bb = Pb
ii – Encontre a solução de Ly = bb
iii – Encontre a solução de Ux = y e cheque para ver, se de fato, você obteve uma solução de Ax = b
Exercício 3.54 - Armazene em B uma matriz de entradas aleatórias 4x4. Peça ao seu software que calcule:
i - A solução de Bx = I(1)
ii - Verifique que a solução obtida em i é “satisfatória”, no sentido que o resíduo BX(1)
– I(1)
é desprezível.
iii - A inversa de B e observe que a primeira coluna de B é exatamente a solução da equação obtida em i.
iv - Uma matriz na forma escada reduzida linha-equivalente a B.
iv - Uma fatoração lu de B.
Exercício 3.55 - Substitua a última linha de B pela soma das três primeiras.
i - Se certifique que a nova B tem posto 3 e peça ao seu software para calcular o posto de B.
ii – Apesar do posto de B agora ser 3, peça para o seu software que tente calcular, em invB, a inversa de
B. Podem acontecer duas coisas:
Que ele lhe devolva uma inversa para B, provavelmente com alguma advertência. Neste caso cheque
para ver se invB*B = B*invB = I e explique o que aconteceu.
Que êle lhe diga que B não admite inversa.
iv - Some (10^(-12) , 0, 0, 0) à última linha de B e certifique-se que agora que sua nova B tem posto 4
novamente. Peça a seu software que obtenha X(1)
resolvendo Bx = I(1)
e verifique que a solução obtida tem
um erro significativo, calculando o resíduo BX(1)
– I(1)
Exercício 3.56 - O objetivo deste exercício é que você compare os tempos que seu computador leva para
processar as diferentes operações. Comece com n = 100.
i – Olhe no help de seu software, para ver os comandos que permitem medir o tempo de processamento das
operações efetuadas em seu computador. Escolha o que lhe parecer mais conveniente.
ii - Escreva matrizes A e B nxn, com entradas aleatórias, bem como um vetor b, nx1, igualmente com
entradas aleatórias. Não se esqueça de acrescentar um comando que evite aparecer na tela as matrizes
armazenadas, para evitar perder tempo a toa. No Matlab e no Mathematica, por exemplo, tal comando seria ;
(ponto e vírgula).
iii – Compare os tempos que o seu computador leva para:
iii.1 – Multiplicar A e B
iii.2 – Inverter A
iii.3 - Calcular a fatoração LU de A
iii.4 - Resolver Ax = b, com o programa disponível no seu software
iii.5 - Resolver um sistema triangular inferior Ly = Pb, onde P é a matriz de permutação obtida na fatoração
LU e L a triangular inferior.
59
iv - O que você espera que ocorra com os tempos que você obtem no seu computador em iii para cada uma
das operações acima, quando você dobra n, antes da memória “cansar”.
v – Dobre o valor de n e refaça os item ii e iii, até perceber que n ficou “grande” para a memória RAM de
seu computador. Neste momento, o computador provavelmente não tem mais condições de armazenar os
dados na memória, e começa a acessar o HD, ficando todo o processo muito mais lento do que se isto não
ocorresse. Compare como variam os tempos que você obtem no seu computador em iii para cada uma das
operações acima, quando você dobra n, antes da memória “cansar”.
Exercício 3.57 – Digite as matrizes M, R, bem como a matriz ampliada do sistema montado para o circuito
elétrico analisado no exemplo 3.18 (equação 3.10). Use o programa que está no seu software para calcular
sua solução.
ii – Peça a seu software que dê a fatoração LU da matriz do sistema, e perceba que você provavelmente
obteve uma matriz U diferente daquela que está lá. Explique por quê isto aconteceu?
iii – Encontre as soluções canônicas de Mi = 0 e monte a matriz S da solução geral canônica i = S , de Mi
= 0.
iv – Use o item anterior para resolver a equação 3.10 na forma como está indicada no exercício 3.34, ou seja,
substituindo i = S na equação –Ri + MTp = 0, de forma a reduzir o problema original ao de resolver um
sistema de 8 equações e 8 incógnitas.
Exercício 3.58 - Escreva um programa para TRIASUP e outro para TRIAGINF e guarde-os num arquivo
adequadamente.
Cheque se seu TRIASUP funciona. Entre com alguma matriz triangular inferior L, 4x4 sem zeros na
diagonal, e tente resolver Ux = I(1)
=(1,0,0,0)T com o seu programa. Cheque ainda se, com um tal x,
você de fato resolveu a equação Ux=I(1)
.
Faça algo análogo para TRIAGINF
Exercício 3.59 - Programe o algoritmo da eliminação de Gauss sem pivoteamento, com o cuidado de montar
também a matriz dos multiplicadores L. Cheque para ver se ele funciona. Considere a matriz A do primeiro
problema desta lista e aplique seu programa.. Se certifique que, neste caso, você obteve A = LU.
ii - Explique o que acontece ao tentar rodar o seu programa com a matriz
Exercício 3.60 - Considere uma matriz C, 100x100 e com entradas aleatórias. Seja b = I100x100(1)
= (1 0 0
0)T . Resolva 50 sistemas da forma Cx = b, substituindo, ao final de cada iteração, b pela soma de b com a
1 1 3 2 0
2 1 3 1 2
B = 1 2 6 5 0
0 1 4 0 1
0 0 0 0 2
60
solução obtida na respectiva iteração, usando a fatoração LU que você construiu no exercício 7. Ou seja,
calcule inicialmente os fatores L e U de C com o seu algoritmo e depois programe:
Repita 50 vezes:
Ache a solução y de Ly = b
Ache a solução x de Ux = y
Substitua b por b + x
Fim
Compare os tempos gastos para calcular o x final no processo acima com 50 vezes o tempo de calcular uma
fatoração LU, com o mesmo programinha do exercício 7.