Você está na página 1de 42

Uma Introduc ao ao Esboco de Superfcies

Usando o Maple
18 de fevereiro de 2010
Heloisa Bauzer Medeiros
1
UFF Inst. de Matematica GMA
Maria Lucia da Silva Menezes
2
UFF Inst. de Matematica GMA
1
medeiros@mat.u.br
2
luciamenezes@im.u.br
1
Sumario
1 Apresentacao 2
2 SUPERF

ICIES 3
2.1 Superfcies no Espaco:
denic oes explcitas, implcitas e parametricas. . . . . . . . . . 3
2.2 Superfcies Quadricas . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Superfcies de Revolu cao . . . . . . . . . . . . . . . . . . . . . 32
3 Apendice 37
1 Apresentacao
Este texto e dirigido principalmente aos estudantes de calculo de varias
vari aveis. Seu objetivo e servir como guia de utilizac ao do software Ma-
ple para visualizac ao de superfcies no espaco. Na verdade, este trabalho e
parte de um esforco contnuo (iniciado em [2]) para facilitar a utilizac ao de
ferramentas computacionais no estudo de diversos problemas da matematica.
A escolha do software Maple (em detrimento de outros) se deve, principal-
mente, a uma combinacao de qualidade com baixo preco. Ademais, embora
os comandos de cada pacote apresentem especicidades, suas limitac oes e
diculdades de uso costumam a ser as mesmas, pois todos dependem das
mesmas famlias de algoritmos e maquinas.
Softwares gracos sao ferramentas de utilidade inquestionavel no estudo
do calculo de varias variaveis. Entretanto, nao se pode esperar (nem mesmo
desejar) que para utiliza-los os estudantes se tornem especialistas no uso da
interface de tal ou qual pacote computacional. Por esta razao este texto esta
sendo escrito. Esperase que sirva como guia para que qualquer estudante
possa utilizar o Maple, sem diculdades, para visualizar superfcies.
Embora alguns assuntos teoricos sejam tratados aqui, ressaltamos que
este trabalho nao e e nao pretende ser, por si so, autocontido como material
bibliograco para o aprendizado de calculo; deve ser encarado como texto
complementar. De fato, e nossa convic cao de que deve se incentivar o estudo
em livros de qualidade reconhecida, editados por boas editoras (alguns dos
quais estao citados aqui) e de modo algum este texto se propoe a substituir ou
desestimular o uso destas fontes. As referencias citadas sao, em sua maioria,
compostas por textos classicos de calculo. Material mais recente (embora nao
necessariamente melhor) pode ser encontrado na internet e em bibliotecas.
Todavia preferimos, por ora, apostar no que ja foi consagrado (e corrigido)
2
pelo tempo como indicac ao inicial. Ademais, procuramos indicacoes bibli-
ogracas que possam ser facilmente encontradas em bibliotecas.
2 SUPERF

ICIES
2.1 Superfcies no Espaco:
denicoes explcitas, implcitas e parametricas.
No presente contexto, vamos chamar de superfcie qualquer conjunto no
espaco (R
3
) que lembre a gura de um papel deformado. Vale dizer, a palavra
superfcie sera usada no seu sentido mais intuitivo. Para estudar superfcies
devemos ter em mente as seguintes perguntas essenciais:
Como descrever matematicamente uma superfcie ? Isto e: suponha
que voce conheca um objeto com aspecto de um papel deformado. Que
ferramentas a matematica dispoe para a descric ao precisa desta gura?
Conhecida a descric ao matematica de uma superfcie, como podemos
ter uma ideia de seu aspecto? Em particular, estamos interessados em
saber como utilizar o software Maple para isso.
Vamos comecar nosso estudo a partir da primeira pergunta e vamos de-
senvolve-lo atraves de exemplos.
Considere o desenho da gura (1).
Figura 1: Os pontos desenhados satisfazem a propriedade de que a terceira
coordenada e igual a soma dos quadrados das duas primeiras
Vamos discutir maneiras distintas de descrever esta superfcie, que cha-
maremos S.
A forma mais conhecida de pensar nesta superfcie e descreve-la como
graco da funcao f(x, y) = x
2
+ y
2
, (x, y) R
2
. Mas esta nao e a unica
3
maneira e, dependendo da aplicac ao, talvez nao seja a mais conveniente.
Considere, por exemplo, a func ao :
F : R R R R
(x , y , z) z x
2
y
2
Observe agora que a superfcie S e o conjunto de nvel 0 da funcao F, o
que signica, em especial, que S e um subconjunto do domnio de F
(e fundamental que se observe aqui que S nao e o graco de F). Assim,
temos uma outra forma de denir esta superfcie atraves de uma func ao :
armando que S e o conjunto de nvel 0 da funcao F.
Uma terceira maneira de descrever a mesma superfcie seria pensar em
uma funcao g(s, t) como denida a seguir:
g : R R R R R
(s , t) (s , t , s
2
+ t
2
)
Desta vez, a superfcie S e imagem da func ao g. Mais uma vez, ressaltamos
que S nao e o graco de g.
Usando o Maple
Exemplo 2.1. Podemos utilizar o Maple para exibir a superfcie S e, depen-
dendo da forma como S estiver denida, o software deve ser usado de modo
diferente.
Quando a superfcie S e denida como graco de uma funcao , e.g.,
f(x, y) = x
2
+ y
2
, fazemos assim:
[ > plot3d( x2 +y2, x = 1..1, y = 1..1);
(Comando gerador da gura (1))
No exemplo 2.1, utilizamos a maneira mais simples, deixando a cargo do
Maple as escolhas de cor, espessura, marcas nos eixos e escalas. Entretanto,
especicamos o domnio. Note que ao contr ario do que foi feito no comando
plot, nao especicamos o contradomnio. Na gura (1), para obter um de-
senho mais bonitinho, escolhemos quantos pontos devem ser ressaltados
nos eixos x, y e z, o estilo do graco (patch), quantos pontos o Maple deve
utilizar para tracar o graco, o contradomnio e, ainda, como os eixos devem
aparecer (box):
[ > plot3d(x2 + y2, x = 1..1, y = 1..1, numpoints=2000, style=patch,
axes=box, tickmarks=[3, 3, [0.5,1]], view=[-1..1,-1..1,0..1]);
(Comando gerador da gura (2))
4
Figura 2: z = x
2
+ y
2
, contradomnio restrito
Quando a superfcie S e denida como um conjunto de nvel, por exemplo,
F(x, y) = 0, lancamos mao do comando implicitplot3d. Para que o comando
implicitplot3d funcione e necessario chamar antes um pacote graco auxiliar;
e o que fazemos com o comando with (plots):
[ > with(plots):
[ > implicitplot3d(z x2 y2 = 0, x = 1..1, y = 1..1, z = 1..1, num-
points=2000, style=patch, axes=normal, tickmarks=[3, 3, 3]);
( Comando gerador da gura (3))
Figura 3: z x
2
+ y
2
= 0

E possvel trocar o ponto de onde vemos a gura, tanto iterativamente


(clique na gura e rode-a) como usando a opc ao orientation (O padrao e
= 45
0
e = 45
0
, onde e sao os angulos das coordenadas esfericas.)
5
[ > with(plots):
[ > implicitplot3d(z x2 y2 = 0, x = 1..1, y = 1..1, z = 1..1, num-
points=2000, style=patch, axes=normal, tickmarks=[3, 3, 3], orientation=[125,
75]);
(Comando gerador da gura (4))
Figura 4: z x
2
+ y
2
= 0 com mudan ca de orientac ao
Finalmente, quando a superfcie S e denida como a imagem de uma
func ao , por exemplo, g(s, t) = (s, t, s
2
+ t
2
), fazemos
[ > plot3d([s, t, s2 + t2], s = 0..1, t = 0..1]);
(Comando gerador da gura (5))
Figura 5: {(s, t, s
2
+ t
2
)}
Essa superfcie tambeme a imagem da func ao h(s, t) = (s cos(t), s sen (t), s
2
),
s 0, 0 t 2 exibida na gura 6:
[ > plot3d([s cos(t), s sin(t), s2], s = 0..1, t = 0..2 Pi], view=[-
1..1,-1..1,0..1]);
(Comando gerador da gura (6))
6
Figura 6: {(s cos(t), s sen (t), s
2
)}
Vale notar que, via de regra, as rotinas disponveis nos pacotes compu-
tacionais para esboco de conjuntos denidos implicitamente costumam a ser
menos precisas que aquelas indicadas para esbocar gracos. Por esta razao,
em geral se tenta, sempre que possvel, denir as superfcies como gracos.
Aqui, esbocamos z = x
2
+y
2
como conjunto de nvel apenas para exempli-
car.
Para rmar um pouco mais os conceitos, vamos usar o Maple em mais
dois exemplos, ate certo ponto, analogos ao primeiro.
Exemplo 2.2. Observe a gura (7)
Figura 7: z = e
x
2
y
2
(x
2
+ 3y
2
)
Mais uma vez, podemos descrever a superfcie como graco da func ao
f(x, y) = e
x
2
y
2
(x
2
+ 3y
2
), (x, y) R
2
ou como conjunto de nvel de:
F : R R R R
(x , y , z) z e
x
2
y
2
(x
2
+ 3y
2
)
7
Ou como imagem de
g : R R R R
(s , t) (s , t , e
s
2
t
2
(s
2
+ 3t
2
))
Usamos o Maple como exemplicado a seguir.
Dessa vez, comecamos denindo a func ao f(x, y) = e
x
2
y
2
(x
2
+3y
2
), via:
[ > f := (x, y) > exp(x2 y2) (x2 + 3 y2);
Agora fazemos:
[ > plot3d(f(x, y), x = 2..2, y = 2..2);
(Comando gerador da gura (7))
ou
[ > with(plots):
[ > implicitplot3d( z f(x, y) = 0, x = 2..2, y = 2..2, z = 0..1.2 );
(Comando gerador da gura (8))
para obter a gura (8)
Figura 8: z e
x
2
y
2
(x
2
+ 3y
2
) = 0
Note que a gura (8), obtida usando o comando implicitplot , parece muito
mais grosseira que a gura (7). Isso acontece porque o Maple - assim como
outros pacotes gracos - tem mais diculdade para trabalhar com esse tipo
de descric ao de superfcies. Com efeito, quando denimos a superfcie como
graco os pacotes, em geral, calculam o valor de f(x, y) em cima de uma ma-
lha e depois usam algum algoritmo para fazer uma interpolac ao suave entre
os pontos calculados. O erro vem, entao, da aproximac ao no calculo de f em
cima da malha e da escolha do metodo de interpolac ao. Na descric ao como
8
conjunto de nvel e preciso usar um algoritmo que resolva F(x, y, z) = c ao
longo da malha e depois interpolar. Via de regra, este processo introduz um
erro muito maior. Em qualquer caso, vale a pena observar que a interpolacao
sempre procura introduzir continuidade o que, se nao carmos atentos, pode
induzir a erros grosseiros na vizinhanca de singularidades. Para melhorar a
situac ao,no caso implcito, pedimos ao Maple que use mais pontos ao tracar
esse graco (numpoints=4000), obtendo a gura (9).
[ > with(plots):
[ > implicitplot3d( z f(x, y) = 0, x = 2..2, y = 2..2, z = 0..1.2 );
(Comando gerador da gura (9))
Figura 9: z e
x
2
y
2
(x
2
+ 3y
2
) = 0 tracada com 4000 pontos
Finalmente, fazemos
[ > plot3d([s, t, f(s, t)], s = 2..2, t 2..2;
(Comando gerador da gura (10))
para obter a gura (10).
9
Figura 10: {(s, t, e
s
2
t
2
(s
2
+ 3t
2
))}
Quando um conjunto e descrito como graco de uma func ao f, dizemos
que ele esta descrito explicitamente . Se um conjunto e conjunto de nvel
de uma funcao , dizemos que ele esta descrito implicitamente. No caso do
conjunto ser imagem de uma func ao a descricao e dita parametrica. Compre-
ender bem estas diferencas e fundamental para um entendimento (ainda que
introdutorio) do calculo de varias vari aveis. O assunto esta bem desenvolvido
em [6] e [1].
Observe que, dependendo da forma como o conjunto e descrito, o Maple
deve ser usado de uma maneira diferente.
Exemplo 2.3. Considere agora a gura (11).
Figura 11: Uma esfera com centro na origem e raio 1
Esta superfcie nao pode ser descrita como graco (tente entender por que e, se
nao entender, pergunte) mas possui descric oes implcita e parametrica. Varias
func oes tem esta esfera como conjunto de nvel. Por exemplo:
F
1
: R R R R
(x , y , z) x
2
+ y
2
+ z
2
10
ou
F
2
: R R R R
(x , y , z) e
x
2
+y
2
+z
2
serviriam pois esta esfera e conjunto de nvel 1 de F
1
ou conjunto de nvel e
de F
2
. Neste caso, os comandos do Maple seriam:
[ > with(plots):
[ > implicitplot3d(x2 + y2 + z2 = 1, x = 1..1, y = 1.2..1.2, z = 1..1, tick-
marks=[2, 2, 2]);
(Comando gerador da gura (12))
Figura 12: Esfera x
2
+ y
2
+ z
2
= 1
Tambem existem descric oes parametricas como, por exemplo,
g : R R R R R
(s , t) (cos(s) sen (t) , sen (s) sen (t) , cos(t))
ou:
g : R R R R R
(s , t) (cos(s) sen (2t) , sen (s) sen (2t) , cos(2t))
ou ainda (retirando-se o polo norte de S)
h : R R R R R
(s , t) (
2s
s
2
+ t
2
+ 1
,
2t
s
2
+ t
2
+ 1
,
s
2
+ t
2
1
s
2
+ t
2
+ 1
)
e neste caso, os comandos do Maple seriam:
[ > plot3d([cos(s)*sin(t), sin(s)*sin(t), cos(t)], s=0..2*Pi, t=0..Pi, tickmarks=[2, 2,
2], style=patch);
(Comando gerador da gura (13))
11
Figura 13: Esfera x
2
+ y
2
+ z
2
= 1
ou
[ > plot3d([cos(s)*sin(2*t), sin(s)*sin(2*t), cos(2*t)], s=0..2*Pi, t=0..Pi, tick-
marks=[2, 2, 2], style=patchcontour);
(Comando gerador da gura (14))
Figura 14: {(cos(s) sen (2t), sen (s) sen (2t), cos(2t))}
ou ainda
[ > plot3d([2 s/(s2 +t2 + 1), 2 t/(s2 +t2 + 1), (s2 +t2 1)/(s2 +t2 + 1),
s=-10..10, t=-10..10], tickmarks=[2, 2, 2], style=patch);
(Comando gerador da gura (15))
Ate o momento, tratamos das tres formas basicas de descrever superfcies
no plano.

E muito importante entender que os softwares gracos precisam
ser usados com consciencia; o fato de que facilitam (e muito) a visualizac ao
de objetos nao dispensa analise cuidadosa. Vamos estudar alguns exemplos.
12
Figura 15: Esfera sem o polo norte com centro na origem e raio 1
Exemplo 2.4. Considere f(x, y) =
x
xy
. Esbocamos os graco de f com o
comando:
[ > plot3d(x/(x y), x = 2..2, y = 2..2, orientation=[65,51]);
(Comando gerador da gura (16))
para obter a gura (16):
Figura 16: z =
x
xy
No caso desta funcao , e bastante facil vericar analiticamente que ha
um problema ao longo da reta x = y. Entretanto, nao e difcil concluir,
tambem analiticamente, que o serrilhado que aparece na gura nao faz parte
do graco da funcao e reete apenas a diculdade do software para exibir
gracos em vizinhanca de singularidades.
Exemplo 2.5. Considere agora a funcao f(x, y) = x sen

x
x
2
+y
2

.

E claro
que esta funcao nao esta denida na origem. Entretanto, como o seno e uma
funcao limitada, nao e difcil ver que se (x, y) (0, 0) o limite existe e vale
0. Fazendo o graco no Maple com o comando:
13
[ > plot3d(xsin(1/(x2+y2)), x = 1.5..1.5, y = 1.5..1.5, orientation=[65,51]);
(Comando gerador da gura (17))
obtemos a gura (17)
Figura 17: z = x sen (
x
x
2
+y
2
)

E possvel observar um buraco na superfcie em torno da origem o que


poderia levar `a conclusao precipitada da inexistencia do limite. Neste caso
especco, se o graco for feito com um n umero maior de pontos o buraco
tender a a desaparecer (experimente), mas nem sempre e assim.
2.2 Superfcies Quadricas
Superfcies descritas implicitamente por expressoes polinomiais, a tres vari aveis,
de grau 2, sao conhecidas como superfcies quadricas e seu estudo e bem im-
portante. Elas sao a versao espacial das conicas (elipse, hiperbole, parabola
e suas degenerac oes) e sao uteis em diversas situacoes. Por esta razao, reser-
vamos uma secao especial para as quadricas.
Comecamos esclarecendo que o que entendemos como polinomio de se-
gundo grau a tres vari aveis e uma expressao da forma:
p(x, y, z) = x
2
+2xy +2xz +y
2
+2yz +z
2
+
1
x+
2
y +
3
z +. (1)
E queremos analisar o conjunto:
S(p) = {(x, y, z) R
3
; p(x, y, z) = 0}.
Iniciamos com um exemplo. Considere a superfcie dada implicitamente
por 2x
2
3xy + 4y
2
z
2
2zy + 5x = 6. Seu esboco pode ser obtido pelo
Maple atraves dos comandos
14
[ > with(plots):
[ > implicitplot3d(2x2 3 x y +4y2 2 z y z2 +5 x =
6, x = 6..6, y = 6..6, z = 4..4, scaling = constrained, style =
patchcontour, axes = box numpoints = 2000, tickmarks=[[-4, 4],
[-4, 4], 2]);
(Comando gerador da gura (18) )
Figura 18: 2x
2
3xy + 4y
2
z
2
2zy + 5x = 6
Especicando novos valores de e , isto e, o ponto de vista de onde
vemos a gura, e possvel ter uma ideia melhor dessa superfcie:
[ > with(plots):
[ > implicitplot3d(2x2 3 x y +4y2 2 z y z2 +5 x =
6, x = 6..6, y = 6..6, z = 4..4, scaling = constrained, style =
patchcontour, axes = box numpoints = 2000, tickmarks=[[-4, 4],
[-4, 4], 2], orientation=[35, 65]);
(Comando gerador da gura (19))
Existem uma innidade de possibilidades para expressoes do tipo 1. En-
tretanto, provavelmente voce se lembra que para o caso de polinomios de
grau 2 envolvendo apenas duas vari aveis, havia uma serie de mudancas de
vari aveis que levariam estes polinomios a uma expressao na forma canonica.
Uma vez obtida a forma canonica, o esboco do conjunto era facilmente reco-
nhecido como uma parabola, elipse, hiperbole, ou alguma degeneracao destas
curvas(reta ou ponto). O mesmo tipo de argumento pode ser usado para o
caso de tres vari aveis e expressoes do tipo p(x, y, z) = constante, onde p e
15
Figura 19: 2x
2
3xy + 4y
2
z
2
2zy + 5x = 6 de outro ponto de vista
polinomio de grau 2, tambem podem ser tratadas de modo a serem reescri-
tas como uma das formas conhecidas como canonicas. E, como no caso das
conicas, a partir da forma canonica podem ser facilmente identicadas como
elipsoides, hiperboloides, paraboloides ou alguma de suas degenerac oes. A
ttulo de exemplo faremos uma serie de calculos para reduzir a equac ao do
nosso exemplo `a forma canonica.
Exemplo 2.6. Seja p(x, y, z) = 2x
2
3xy + 4y
2
z
2
2zy + 5x 6. Entao
p(x, y, z) = (2x
2
3xy + 5y
2
) (y
2
+ z
2
+ 2yz) + 5x 6
= (2x
2
3xy + 5y
2
) (y + z)
2
+ 5x 6.
Seja Z = y + z. Entao
p(x, y, z) = 2x
2
3xy + 5y
2
Z
2
+ 5x 6
=

3x
2

5y

2
+
31
20
x
2
Z
2
+ 5x 6.
Seja Y =
3x
2

5y. Entao
p(x, y, z) = Y
2
+
31
20
x
2
Z
2
+ 5x 6
= Y
2
Z
2
+

31x

20
+
5

31

311
31
.
16
Fazendo agora X =

31x

20
+
5

31
, temos que, p(x, y, z) = Y
2
+X
2
Z
2

311
31
.
Logo,
2x
2
3xy + 4y
2
z
2
2zy + 5x = 6 se e so se X
2
+Y
2
Z
2
= 311/31.
Assim, a equacao 2x
2
3xy+4y
2
z
2
2zy+5x = 6 dene implicitamente
um hiperboloide de uma folha. Veja a gura (20):
[ > with(plots):
[ > implicitplot3d(x2 + y2 z2 = 311/31, x = 6..6, y =
6..6, z = 4..4, scaling = constrained, style = patchcontour, axes
= box numpoints = 2000, tickmarks=[[-4, 4], [-4, 4], 2]) ;
(Comando gerador da gura (20))
Figura 20: x
2
+ y
2
z
2
= 311/31
De outro ponto de vista:
[ > with(plots):
[ > implicitplot3d(x2 + y2 z2 = 311/31, x = 6..6, y =
6..6, z = 4..4, scaling = constrained, style = patchcontour, axes
= box numpoints = 2000, tickmarks=[[-4, 4], [-4, 4], 2], orienta-
tion=[52, 65]);
(Comando gerador da gura (21))
A importancia das superfcies quadricas e tao grande que, embora este
nao seja um texto voltado para desenvolvimento de teoria, vamos tratar um
pouco dos aspectos gerais e generalizar o que foi feito no exemplo anterior.
17
Figura 21: x
2
+ y
2
z
2
= 311/31, outra visao
O tratamento do assunto usado aqui e bastante sucinto. Sua intenc ao e fa-
zer um resumo para relembrar os resultados fundamentais (para quem ja os
viu) ou apresenta-los para quem tem bons conhecimentos de algebra linear.
Recomendamos fortemente ao aluno que nao se sinta em nenhum dos dois
casos mencionados que consulte tambem algum bom livro como [3], [7] ou
[5]. Em linhas gerais, queremos reduzir a expressao (1) a uma de suas formas
classicas. O primeiro passo e, atraves de uma mudanca de variaveis, desa-
parecer com os termos que envolvem mais de uma variavel (xy, yz e xz).
Quando isso for feito, chegaremos a uma expressao da forma:
p(u, v, w) =

u
a
2
u
2
+

v
b
2
v
2
+

w
c
2
w
2
+
u
u +
v
v +
w
w (2)
onde todos os s e s sao constantes e a, b, e c sao constantes diferentes de
0.
O segundo passo consiste em vericar a possibilidade de desaparecer
com os termos lineares, atraves de uma translac ao.
Suponha, por exemplo, que
u
nao e zero. Podemos completar quadrados
no termo:

u
a
2
u
2
+
u
u para escrever algo do tipo:

u
a
2
u
2
+
u
u =

u
a
2
(uk
u
)
2
+l
u
,
onde k
u
e l
u
sao constantes. Com a mudanca de vari aveis (que corresponde a
uma translac ao no espaco) u = (uk
u
) a expressao sera da forma:

u
a
2
u
2
+l
u
que nao contem partes lineares.O mesmo argumento pode ser usado para v
e w, desde que
v
e
w
nao sejam zero.
Assim, temos uma primeira troca de vari aveis, obtida atraves de uma
mudanca de base, em que os termos cruzados deixam de existir. Posterior-
mente, tambem a parte linear deixara de existir para as vari aveis em que a
parte quadratica for diferente de zero.
18
Os computos envolvidos podem ser feitos de acordo com o raciocnio
indicado a seguir.
Queremos estudar o conjunto S(p) = {(x, y, z) R
3
; p(x, y, z) = 0}, onde
p e o polinomio denido em (1).
Reescrevemos p como:
p(x, y, z) =

x y z

x
y
z

1

2

3

x
y
z

+
Denindo X =

x
y
z

, M =

e =

1

2

3

, temos que
p(X) = X
t
M X +
t
X + . (3)
Observe que a expressao (3) tem um aspecto familiar, pois uma equac ao
analoga aparece no estudo das conicas. A diferenca e que agora estamos
trabalhando com polinomios de tres vari aveis e, portanto, a matriz envolvida
(M) e 33, o que nos levara a proceder de modo um pouco diferente. Nosso
objetivo, assim como no caso de conicas, e obter uma mudanca de variaveis
que diagonalize a matriz M. Como M e simetrica, sabemos da

Algebra
Linear que e semelhante a uma matriz diagonal. No caso 22 era conveniente
calcular os autovetores e, usando-os como base do espaco, obter uma matriz
diagonal onde os autovalores vinham a ser os termos da diagonal [7]. No caso
33 o mesmo procedimento pode ser seguido, mas o calculo dos autovetores,
em geral, e bem mais trabalhoso porque o polinomio caracterstico tem grau
3. Assim, costuma-se a lancar mao de outros argumentos para se obter uma
forma diagonal que, desta vez, nao tera os autovalores na diagonal principal,
mas que nos permitira classicar o tipo de superfcie envolvida.
A partir de uma matriz 33 simetrica, e possvel obter uma outra matriz
3 3 simetrica T, cujo determinante e igual a 1 e, tambem, T
t
AT = D,
onde D e diagonal. No apendice ha um exemplo de como fazer os calculos e
o resultado geral pode ser visto em [5] ou em [3].
Assim, considerando um novo sistema de variaveis U = (u, v, w) de tal
modo que X = TU, substitumos X em (3) para ter a equacao p(TU) =
U
t
DU +
t
U + . Desta forma, temos um polinomio na forma 2 e a matriz
D sera:
M =

u
a
2
0 0
0

v
b
2
0
0 0

w
c
2

19
Podemos assumir, sem perda de generalidade, que cada um dos valores

m
, m = u, v, w so pode ser 0, 1 ou 1. No caso em que nenhum deles e zero,
procedemos completando quadrados para nalmente chegar `a forma geral:

x
2
a
2

y
2
b
2

z
2
c
2
= 1 (4)
Observac~ ao 2.1. Na equacao (4) usamos x, y e z como nomes genericos
de variaveis, apenas para nao lancarmos mao de mais smbolos, sobrecarre-
gando a notacao. Vale notar, entretanto, que se referem a um sistema de
coordenadas diferentes daquele envolvido na parte anterior do texto.
Discutiremos, inicialmente, os casos em que a expressao pode ser reduzida
`a forma (4). A classicac ao da superfcie dependera dos sinais dos coecientes
de x
2
, y
2
e z
2
.
Primeiro Caso: Os tres sinais sao positivos.
x
2
a
2
+
y
2
a
2
+
z
2
a
2
= 1, aqui tomamos a = b = c.
[ > with(plots):
[ > implicitplot3d(x2 + y2 + z2 = 1, x = 1..1, y = 1..1, z =
1..1, scaling = constrained, style = patchcontour, axes = frame,
numpoints = 2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (22))
Figura 22: esfera
20
x
2
a
2
+
y
2
b
2
+
z
2
c
2
= 1, com a, b e c
[ > with(plots):
[ > implicitplot3d(x2/4 + y2/9 + z2 = 1, x = 2..2, y =
3..3, z = 1..1, scaling = constrained, style = patchcontour, axes
= box, numpoints = 2000, tickmarks = [2, 2, 2]) ;
(Comando gerador da gura (23))
Figura 23: elipsoide
Assim, para este primeiro caso, temos sempre um elipsoide, en-
tendendo a esfera como um tipo particular de elipsoide.
Segundo Caso: Dois sinais positivos e um negativo.
x
2
a
2
+
y
2
b
2

z
2
c
2
= 1
[ > with(plots):
[ > implicitplot3d(x2/4 + y2/9 z2 = 1, x = 4..4, y =
4..4, z = 2.5..2.5, scaling = constrained, style = patch, axes
= normal, numpoints = 2000, tickmarks = [0, 0, 0]);
(Comando gerador da gura (24))
21
Figura 24: hiperboloide de uma folha
A mesma gura vista de outra perspectiva ( = 45
0
e = 75
0
, onde
e sao os angulos das coordenadas esfericas):
[ > with(plots):
[ > implicitplot3d(x2/4 + y2/9 z2 = 1, x = 4..4, y =
4..4, z = 2.5..2.5, scaling = constrained, style = patch, axes
= normal, numpoints = 2000, tickmarks = [0, 0, 0], orientation =
[45, 75]);
(Comando gerador da gura (25))
Figura 25: hiperboloide de uma folha - outra perspectiva
No segundo caso, teremos um hiperboloide de uma folha.
Terceiro Caso: Dois sinais negativos e um positivo.
x
2
a
2
+
y
2
b
2

z
2
c
2
= 1.
22
[ > with(plots):
[ > implicitplot3d(x2/4 + y2/9 z2 = 1, x = 2..2, y =
3..3, z = 2.5..2.5, scaling = constrained, style = patch, axes
= box, numpoints = 2000, tickmarks = [0, 0, 0]);
(Comando gerador da gura (26))
Figura 26: hiperboloide de duas folhas
A mesma gura vista de outra perspectiva ( = 45
0
e = 67
0
):
[ > with(plots):
[ > implicitplot3d(x2/4 + y2/9 z2 = 1, x = 2..2, y =
3..3, z = 2.5..2.5, scaling = constrained, style = patch, axes
= box, numpoints = 2000, tickmarks = [0, 0, 0]), orientation =
[45, 67]);
(Comando gerador da gura (27))
Figura 27: hiperboloide de duas folhas - outra perspectiva
23
No terceiro caso, teremos um hiperboloide de duas folhas. Uma
degenerac ao importante deste caso e dada por:
x
2
a
2
+
y
2
b
2

z
2
c
2
= 0. Para esbocar esta superfcie, escrevemos:
[ > with(plots):
[ > implicitplot3d(x2/4 +y2 z2 = 0, x = 4..4, y = 4..4, z =
2..2, scaling = constrained, style = patch, axes = box, numpoints
= 2000, tickmarks = [0, 0, 0]);
(Comando gerador da gura (28))
Figura 28: cone de duas folhas
e obtemos um cone de duas folhas. Vale notar que nao se pode denir
um plano tangente a um cone no seu vertice. Por esta razao, de acordo
com as denic oes mais formais do termo superfcie , o cone nao seria uma
superfcie.
De um outro ponto de vista:
[ > with(plots):
[ > implicitplot3d(x2/4 +y2 z2 = 0, x = 4..4, y = 4..4, z =
2..2, scaling = constrained, style = patch, axes = box, numpoints
= 2000, tickmarks = [0, 0, 0], orientation = [-10, 80]);
(Comando gerador da gura (29))
24
Figura 29: cone de duas folhas - outra perspectiva
As degenerac oes
x
2
a
2
+
y
2
b
2
+
z
2
c
2
= 0, ponto
x
2
a
2
+
y
2
b
2
+
z
2
c
2
= 1, vazio
Passamos agora `a situac ao em que aparecem as tres vari aveis, x, y e z,
mas um e apenas um dos coecientes de x
2
, y
2
e z
2
e nulo. Neste caso nao
ha degenerac oes.
Primeiro Caso: dois sinais positivos na parte quadratica.
x
2
a
2
+
y
2
a
2
2cz = 0
[ > plot3d(2x2+2y2, x = 4..4, y = 4..4, scaling = constrained,
style = patch, axes = box, numpoints = 2000, tickmarks = [[-4, 0,
4], [-4, 0, 4], [3, 6, 9]], view = [-4..4, -4..4, 0..9]);
(Comando gerador da gura (30))
Figura 30: paraboloide circular
25
x
2
a
2
+
y
2
b
2
2cz = 0 com a = b
[ > plot3d(2x2 + y2/2, x = 4..4, y = 10..10, scaling = cons-
trained, style = patch, axes = box, numpoints = 2000, tickmarks
= [[-4, -2, 2, 4], [-2, 2], [5]], view = [-4..4, -4..4, 0..5]);
(Comando gerador da gura (31))
Figura 31: paraboloide eltico
Neste caso, teremos sempre um paraboloide.
Segundo Caso: Um sinal positivo e um negativo na parte quadratica.
x
2
a
2

y
2
b
2
2cz = 0
[ > with(plots):
[ > implicitplot3d(4x2/4 y2 2z2 = 0, x = 2..2, y =
4..4, z = 2..2, scaling = constrained, style = patchcontour, axes
= box, numpoints = 2000, tickmarks = [0, 0, 0], orientation = [85,
45]);
(Comando gerador da gura (32))
Nesta situacao temos uma sela (paraboloide hiperbolico).
Passamos, agora, a analisar o que ocorre quando estao presentes apenas
duas variaveis. As situacoes possveis sao descritas a seguir, separadas em
duas possibilidades: superfcies e degeneracoes.
A) As superfcies
1.
x
2
a
2
+
y
2
a
2
= 1, cilindro circular
26
Figura 32: paraboloide hiperbolico - sela
[ > with(plots):
[ > implicitplot3d(x2/4 + y2/4 = 1, x = 2..2, y = 2..2, z =
5..5, scaling = constrained, style = patchcontour, axes = frame,
numpoints = 2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (33))
Figura 33: cilindro circular
2.
x
2
a
2
+
y
2
b
2
= 1 com a = b, cilindro eltico
[ > with(plots):
[ > implicitplot3d(x2/4 + y2/9 = 1, x = 2..2, y = 3..3, z =
3..3, scaling = constrained, style = patchcontour, axes = normal,
numpoints = 2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (34))
27
Figura 34: cilindro eltico
3.
x
2
a
2

y
2
b
2
= 1, cilindro hiperbolico
[ > with(plots):
[ > implicitplot3d(x2/4 y2/9 = 1, x = 5..5, y = 3..3, z =
5..5, scaling = constrained, style = patchcontour, axes = normal,
numpoints = 2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (35))
Figura 35: cilindro hiperbolico
4. y
2
2px = 0, cilindro parabolico
[ > with(plots):
[ > implicitplot3d(y2 2x = 0, x = 5..5, y = 3..3, z = 5..5,
scaling = constrained, style = patchcontour, axes = normal, num-
points = 2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (36))
B) As degenerac oes
28
Figura 36: cilindro parabolico
15.
x
2
a
2

y
2
b
2
= 0, par de planos se interceptando em uma reta
[ > with(plots):
[ > implicitplot3d(x2/4 y2/9 = 0, x = 5..5, y = 3..3, z =
5..5, scaling = constrained, style = patchcontour, axes = normal,
numpoints = 2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (37))
Figura 37: par de planos que se interceptam
29
16.
x
2
a
2
+
y
2
b
2
= 0, uma reta (o eixo z)
[ > plot3d([0, 0, x], x = 2..2, y = 2..2, color = red, axes = frame,
thickness = 3);
(Comando gerador da gura (38))
Figura 38: reta
(note que o Maple nao respeita a cor)
17.
x
2
a
2
+
y
2
b
2
= 1, vazio
Terceiro Caso: Aparecem apenas uma das variaveis.
A) As superfcies
18. x
2
= 0, um plano
[ > with(plots):
[ > implicitplot3d(x = 0, x = 4..4, y = 5..5, z = 5..5, scaling
= constrained, style = patchcontour, axes = normal, numpoints =
2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (39))
30
Figura 39: plano
19. x
2
a
2
= 0, par de planos paralelos
[ > with(plots):
[ > implicitplot3d(x2 9 = 0, x = 4..4, y = 5..5, z = 5..5,
scaling = constrained, style = patchcontour, axes = normal, num-
points = 2000, tickmarks = [2, 2, 2]);
(Comando gerador da gura (40))
Figura 40: par de planos paralelos
31
B) A degenerac ao
20. x
2
+ a
2
= 0, a = 0, vazio.
2.3 Superfcies de Revolucao
Dada uma curva plana (contida em um plano) no espaco, a superfcie obtida
girando-se esta curva em torno de um eixo e conhecida como superfcie de
revoluc ao da curva. Suponha, por exemplo que esta curva esta no plano
y z e que voce deseja gira-la em torno do eixo z. Ent ao temos uma curva
parametrizada como (0, y(s), z(s)), s [a, b]. O resultado obtido pela rotacao
desta curva sera uma superfcie parametrizada por [4]:
g(s, ) = (y(s) cos , y(s) sen s, z(s)), s [a, b], [0, 2] (5)
Nos exemplos abaixo apresentamos algumas superfcies de revoluc ao. Em
todos eles, primeiro parametrizamos a curva e depois a giramos.
Exemplo 2.7. Considere a curva no plano yz parametrizada por
y (0, y, y
2
), 0 y 1.
Usando os comandos do Maple
[ > with(plots):
[ > spacecurve([0, y, y2], y = 0..1, thickness=3, numpoints=1000, tick-
marks=[2,2,2], axes=normal);
(Comando gerador da gura (41))
obtemos a gura.
Girando a curva em torno do eixo z, obtemos a superfcie de revolucao
cuja imagem e {(y cos t, y sen t, y
2
), 0 t 2, 0 y 1}. O comando do
Maple e
[ > plot3d([y cos(t), y sin(t), y2], y = 0..1, t = 0..2 Pi, numpoints=1000, tick-
marks=[2,2,2], axes=normal), orientation=[65,51]);
(Comando gerador da gura (42))
32
Figura 41: { (0, y, y
2
), 0 y 1 }
e a gura obtida e
Figura 42: { (y cos t, y sen t, y
2
), 0 y 1, 0 t 2 }
Note que esta superfcie e o graco de z = x
2
+ y
2
, 0 z 1.
Exemplo 2.8. Considere o crculo de raio 1 no plano yz centrado em (0,4,0)
parametrizada por
s (0, 4 + cos(s), sen (s)), 0 s 2.
Usando os comandos do Maple
[ > with(plots):
[ > spacecurve([0, 4 + cos(s), sin(s)], s = 0..2 Pi, thickness=3, num-
points=1000,tickmarks=[2,[1,3,5],2], axes=normal, view=[0..5,0..5,-1..1]);
(Comando gerador da gura (43))
obtemos a gura
33
Figura 43: o crculo (y 4)
2
+ z
2
= 1, x = 0
Girando a curva em torno do eixo z, obtemos a superfcie de revolucao
cuja imagem e {((4 + cos(s)) cos(t), (4 + cos(s)) sen (t), sen (s)), 0 t
2, 0 s 2}. O comando do Maple e
[ > plot3d([y cos(t), y sin(t), y2], y = 0..1, t = 0..2 Pi,
numpoints=1000,tickmarks=[[-3,3],[-5,-3,3,5],[-1,1]], axes=normal, view=[-
5..5,-5..5,-2..2], scaling=constrained);
(Comando gerador da gura (44))
e a gura obtida e
Figura 44: toro
Exemplo 2.9. Considere a curva (gura oito) parametrizada por
t (cos(t), sen (2t), cos(t)), 0 t 2.
Usando os comandos do Maple
34
[ > with(plots):
[ > spacecurve([cos(t), sin(2 t), cos(t)], t = 0..2 Pi, thickness=3, num-
points=1000,tickmarks=[2,[1,3,5],2], axes=normal, orientation=[145,65]);
(Comando gerador da gura (45))
obtemos a gura
Figura 45: a gura oito
Girando a curva em torno do eixo y, obtemos a superfcie de revolucao
cuja imagem e {(cos(t) cos(s), sen (2t), cos(t) sen (s)), 0 t 2, 0 s
2}. O comando do Maple e
[ > plot3d([cos(t) cos(s), sin(2 t), cos(t) sin(s)], s = 0..2 Pi, t = 0..2 Pi,
numpoints=1000,tickmarks=[0,0,0], axes=normal, scaling=constrained);
(Comando gerador da gura (46))
e a gura obtida e
Figura 46: oito rodado
35

E interessante ver rotacoes de menos de 2 dessa gura (experimente).


No uso de qualquer software graco (o Maple em particular) e importante
explorar as opcoes que o pacote oferece. Muitas vezes isto nos permite obter
uma ideia melhor do objeto. A ttulo de exemplo, rezemos a gura 2.3 com
outras opcoes.

E facil ver que a rotac ao da curva cou bem mais ntida.
[ > plot3d([cos(t) cos(s), sin(2t), cos(t) sin(s)], s = 0..2Pi, t = 0..2Pi, num-
points=1000,tickmarks=[0,0,0], axes=box, scaling=constrained, style=wireframe,
transparency=0.4);
(Comando gerador da gura (47))
Figura 47: oito rodado - outra visao
36
3 Apendice
Exemplo 3.1. Considere a matriz simetrica A =

4 2 2
2 3 1
2 1 5

. Obtenha
P tal que P AP
t
e diagonal e det P = 1.
Solucao:
Vamos denotar por L
k
a k-esima linha de A e C
k
sua k-esima coluna. Para
fazer eliminacao Gaussiana em A, o primeiro passo seria trocar L
2
por L
2

L
1
2
e L
3
por L
3
+
L
1
2
. Isso e equivalente a multiplicar A `a esquerda por P
1
=

1 0 0
1/2 1 0
1/2 0 1

. Observe que P
1
e triangular inferior com todos os elementos
na diagonal valendo 1 e portanto det(P
1
) = 1.
Para manter a simetria vamos trocar C
2
por C
2

C
1
2
e C
3
por C
3
+
C
1
2
,
ou seja, multiplicar A `a direita por P
t
1
. Seja A
1
= P
1
AP
t
1
. Note que A
1
tambem e simetrica e
A
1
=

1 0 0
1/2 1 0
1/2 0 1

4 2 2
2 3 1
2 1 5

1 1/2 1/2
0 1 0
0 0 1

4 2 2
0 2 2
0 2 4

1 1/2 1/2
0 1 0
0 0 1

4 0 0
0 2 2
0 2 4

.
Agora vamos trocar a terceira linha de A
1
por sua terceira linha menos
sua segunda linha, i.e., deveramos multiplicar A
1
`a esquerda por P
2
=

1 0 0
0 1 0
0 1 1

. De novo, note que det(P


2
) = 1. Alem disso, trocando em
seguida a terceira coluna de P
1
A por sua terceira coluna menos sua segunda
37
coluna, i.e., multiplicando A
1
`a direita por P
t
2
, obtemos
A
2
=

1 0 0
0 1 0
0 1 1

4 0 0
0 2 2
0 2 4

1 0 0
0 1 1
0 0 1

4 0 0
0 2 2
0 0 2

1 0 0
0 1 1
0 0 1

4 0 0
0 2 0
0 0 2

.
Assim, fazendo P = P
2
P
1
, temos que P AP
t
= A
2
, com A
2
diagonal e
det P = 1.
Finalmente, note que se multiplicarmos `a direita e `a esquerda por P
3
=

1/2 0 0
0 1/

2 0
0 0 1/

, obtemos que QAQ


t
=

1 0 0
0 1 0
0 0 1

, onde Q = P
3
P.
Exemplo 3.2. Seja A =

0 2 2
2 3 1
2 1 5

. Obtenha P tal que P AP


t
e dia-
gonal e det P = 1.
Solucao:
Para fazer eliminac ao Gaussiana em A, o primeiro passo seria trocar L
2
por
L
1
e vice-versa, ja que o coeciente a
11
de A e nulo. Isso e equivalente a mul-
tiplicar A `a esquerda pela matriz de permutacao P
1
=

0 1 0
1 0 0
0 0 1

Observe
que det(P
1
) = 1 e que P
t
1
= P
1
.
Para manter a simetria vamos ent ao trocar as 2 primeiras linhas e as duas
primeiras colunas de A, multiplicando `a direita e `a esquerda de A por P:
A
1
= P
1
AP
t
1
=

0 1 0
1 0 0
0 0 1

0 2 2
2 3 1
2 1 5

0 1 0
1 0 0
0 0 1

2 3 1
0 2 2
2 1 5

0 1 0
1 0 0
0 0 1

3 2 1
2 0 2
1 2 5

38
Agora, para fazer eliminacao Gaussiana em A
1
, vamos trocar a segunda
linha de A
1
por sua segunda linha menos
2
3
da primeira e sua terceira linha
por sua terceira linha menos
1
3
de sua primeira linha, i.e., vamos multiplicar
A
1
`a esquerda por P
2
=

1 0 0

2
3
1 0

1
3
0 1

. De novo, note que det(P


2
) = 1. Para
manter a simetria, fazemos o mesmo processo com colunas, i.e. fazemos
A
2
= P
2
A
1
P
t
2
= P
2
, P
1
AP
t
1
P
t
2
. Assim,
A
2
=

1 0 0

2
3
1 0

1
3
0 1

3 2 1
2 0 2
1 2 5

1
2
3

1
3
0 1 0
0 0 1

3 2 1
0
4
3

8
3
0
8
3
14
3

1
2
3

1
3
0 1 0
0 0 1

3 0 0
0
4
3

8
3
0
8
3
14
3

Agora trocamos a terceira linha por ela menos o dobro da segunda (L


3

2L
2
), repetimos para colunas (C
3
2C
2
) para obter A
3
= P
3
A
2
P
t
3
, onde
P
3
=

1 0 0
0 1 0
0 2 1

, isto e,
A
3
=

1 0 0
0 1 0
0 2 1

3 0 0
0
4
3

8
3
0
8
3
14
3

1 0 0
0 1 2
0 0 1

3 0 0
0
4
3

8
3
0 0 10

1 0 0
0 1 2
0 0 1

3 0 0
0
4
3
0
0 0 10

Portanto, escrevendo P = P
3
P
2
P
1
, temos que P AP
t
= A
3
e diagonal e
que det(P) = 1
O que foi feito nos dois exemplos acima e geral:
Teorema 3.1. Seja A uma matriz n n simetrica. Entao existe P matriz
n n tal que P AP
t
e diagonal e det P = 1.
39
Exemplo 3.3. 1. Escreva A =

13 22 1
22 40 10
1 10 25

como um produto QDQ


t
,
onde D e diagonal e det Q = 1.
Solucao:
Seja P
1
=

1 0 0

22
13
1 0

1
13
0 1

e A
1
= P
1
AP
t
1
.
Vamos usar o comando evalm e & (produto de matrizes) para obter
A
2
. Primeiro escrevemos no prompt(>) do Maple
P1: = matrix([[1, 0, 0], [-22/13, 1, 0], [-1/13, 0, 1]]):
P1t:=matrix([[1, -22/13, -1/13], [0, 1, 0], [0, 0, 1]]):
A:=matrix([[13, 22, 1], [22, 40, 10], [1, 10, 25]]):
Agora mandamos o Maple para escrever A
1
:
A1:=P1&*A&*P1t; e avaliar A
1
:
evalm(A1);
obtendo

13 0 0
0 36/13 108/13
0 108/13 324/13

Agora fazemos P
2
=

1 0 0
0 1 0
0
108
36
1

1 0 0
0 1 0
0 3 1

e D = P
2
A
1
P
t
2
Usando o Maple da mesma maneira que acima, obtemos que D =

13 0 0
0 36/13 0
0 0 0

e que P = P
2
P
1
=

1 1 0
22/13 1 0
5 3 1

Note que det(P) = 1 e que A = QDQ


t
, onde Q = P
1
tambem tem
determinante um. Obter Q e facil: basta escrever a matriz triangular
inferior cuja diagonal so tem elementos iguais a 1 e cujos elementos
abaixo da diagonal sao exatamente os simetricos dos n umeros que usa-
mos na eliminacao, i.e. Q =

1 0 0
22/13 1 0
1/13 3 1

.
2. Escreva a forma quadratica
13x
2
+ 44xy + 2xz + 40y
2
+ 20yz + 25z
2
26z = 0
na forma
x
2
a
2
+
y
2
b
2
2cz = 0.
Solucao:
40
13x
2
+ 44xy + 2xz + 40y
2
+ 20yz + 25z
2
26z = 0 e equivalente a:

x y z

13 22 1
22 40 10
1 10 25

x
y
z

0 0 26

x
y
z

= 0 , i. e.,

x y z

x
y
z

0 0 26

x
y
z

= 0.
Mas, pelo item (1), A = QDQ
t
, portanto,

x y z

QDQ
t

x
y
z

0 0 26

x
y
z

= 0.
Seja

u
v
w

= Q
t

x
y
z

. Ent ao,

u v w

x y z

Q e

u v w

u
v
w

0 0 26

P
t

u
v
w

= 0.
Como

0 0 26

P
t

u
v
w

t
=

u v w

0
0
26

e
P

0
0
26

0
0
26

,
a forma quadratica e equivalente a

u v w

u
v
w

0 0 26

u
v
w

= 0, isto e,

u v w

13 0 0
0
36
13
0
0 0 0

u
v
w

0 0 26

u
v
w

= 0, i. e.,
13u
2
+
36v
2
13
26w = 0.
41
Referencias
[1] T. G. Apostol. Calculus, Vol. 2: Multi-Variable Calculus and Linear
Algebra with Applications. 2 edition, 1969.
[2] H. B. Medeiros; M. L. S. Menezes. Uma introducao ao esboco de curvas
usando o Maple. Texto didatico - GMA UFF - 2008.
[3] G. Shilov. Linear Algebra. 1 edition, 1977.
[4] J. Stewart. Calculo, Vol. 2. 4 edition, 2002.
[5] G. Strang. Linear Algebra and its applications. 3 edition, 1988.
[6] R. E. Williamson; R. H. Crowell; H. F. Trotter. Calculo de Funcoes
Vetoriais. 3 edition, 1974.
[7] J. L. Boldrini; S. I. R. Costa; V. L. Figueiredo; H. G. Wetzler.

Algebra
Linear. 3 edition, 1980.
42