Buscar

Software Maxima no Cálculo

Prévia do material em texto

M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
Maxima no Ca´lculo
(Interface gra´fica wxMaxima)
Ulysses Sodre´
Andrielber da Silva Oliveira
Soˆnia Ferreira Lopes Toffoli
Giovana Alves
Isabela Belansson
Londrina-PR, 20 de Maio de 2009 Arq: maxcalc.tex
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
CONTEU´DO 2
Conteu´do
1 Detalhes gerais sobre o Maxima 5
1.1 Mini histo´ria do Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Sobre a instalac¸a˜o do Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Menus do wxMaxima e todas as suas alternativas . . . . . . . . . . . . . . . . . 7
1.4 A linha de comando na interface wxMaxima . . . . . . . . . . . . . . . . . . . . 11
1.5 Uma pequena lista de func¸o˜es do Maxima . . . . . . . . . . . . . . . . . . . . . 16
2 Ca´lculos nume´ricos 18
2.1 Ca´lculos com expresso˜es reais . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Ca´lculos de somas e produtos finitos e infinitos . . . . . . . . . . . . . . . . . . 20
3 Ca´lculos alge´bricos 22
3.1 Expandindo, fatorando e substituindo . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Expresso˜es com nu´meros complexos . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Resoluc¸a˜o de um sistema linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Resoluc¸a˜o de um sistema alge´brico na˜o linear . . . . . . . . . . . . . . . . . . . 25
3.5 Trabalhando com precisa˜o nas respostas . . . . . . . . . . . . . . . . . . . . . . 25
3.6 Zeros de polinomiais de uma varia´vel . . . . . . . . . . . . . . . . . . . . . . . 26
4 Elementos de A´lgebra Linear 28
4.1 Listas no Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Operac¸o˜es com vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Principais operac¸o˜es com matrizes . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Inversa de uma matriz atrave´s do escalonamento . . . . . . . . . . . . . . . . . . 42
4.5 Inversa de matriz por escalonamento (forma alternativa) . . . . . . . . . . . . . . 44
4.6 Outra forma para obter a inversa por escalonamento . . . . . . . . . . . . . . . . 45
5 Ca´lculo diferencial e Integral 47
5.1 Limites, Derivadas e diferenciais . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Atribuindo valor a um ponto do domı´nio de uma func¸a˜o . . . . . . . . . . . . . . 52
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
CONTEU´DO 3
5.3 Integrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.4 Decomposic¸a˜o em frac¸o˜es parciais . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.5 Integrac¸a˜o por substituic¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.6 Expansa˜o de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.7 Comprimento de arco de uma curva . . . . . . . . . . . . . . . . . . . . . . . . 58
5.8 Resolvendo equac¸o˜es diferenciais ordina´rias . . . . . . . . . . . . . . . . . . . . 60
5.9 Integrais de Linha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6 Transformac¸o˜es Trigonome´tricas 66
7 Maxima no Ca´lculo de func¸o˜es de Va´rias varia´veis 67
7.1 Derivadas parciais e aplicac¸o˜es . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2 Ma´ximos e Mı´nimos com multiplicadores de Lagrange . . . . . . . . . . . . . . 69
7.3 Ma´ximos e Mı´nimos com o Teorema de Sylvester . . . . . . . . . . . . . . . . . 72
7.4 Sequeˆncias e Se´ries nume´ricas reais . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5 Se´ries de poteˆncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8 Elementos de geometria diferencial no plano 85
9 Equac¸o˜es Recursivas 87
10 Interpolac¸a˜o de Lagrange e Interpolac¸a˜o por spline 89
11 Ajuste linear 93
I´ndice 95
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
CONTEU´DO 4
Introduc¸a˜o
OMaxima (1) e´ um CAS (Computer Algebra System) que realiza muitas operac¸o˜es matema´-ticas
simbo´licas da lista apresentada abaixo. O Maxima (freeware) equivale ao Maple.
Neste trabalho, usamos a interface gra´fica wxMaxima para Windows, abordando as principais
func¸o˜es utilizadas nas operac¸o˜es matema´ticas que esta˜o dispo-nı´veis no Maxima. Na˜o tivemos
a menor intenc¸a˜o de abordar as milhares de func¸o˜es existentes no Maxima. Existem alternativas
para todos os outros grandes sistemas operacionais.
Na Sec¸a˜o I, no´s apresentamos uma mini histo´ria do Maxima e citamos alguns detalhes sobre
a instalac¸a˜o do Maxima. Mostramos todos os Menus do wxMaxima, bem como todas as suas
alternativas. Destacamos atenc¸a˜o especial a` linha de comando.
Na Sec¸a˜o II, realizamos ca´lculos nume´ricos no Maxima, usando a matema´tica: dos nu´meros
racionais, dos nu´meros decimais (float) e dos nu´meros decimais com muitos dı´gitos (bigfloat).
Tratamos tambe´m de ca´lculos de somato´rios (somas) e produtos, tanto finitos como infinitos.
Na Sec¸a˜o III, estudamos ca´lculos alge´bricos com expansa˜o e fatorac¸a˜o de expresso˜es reais ou
complexas, substituic¸a˜o de valores em expresso˜es, resoluc¸a˜o de sistemas lineares e na˜o-lineares.
Trabalhamos com precisa˜o de muitos dı´gitos nas respostas dos problemas. Calculamos zeros de
func¸o˜es polinomiais de uma varia´vel.
Na Sec¸a˜o IV, abordamos elementos de A´lgebra Linear com listas, vetores, matrizes e suas
principais operac¸o˜es e inversa de uma matriz por escalonamento.
Na Sec¸a˜o V, estudamos o Ca´lculo diferencial e Integral. Tratamos sobre limites, derivadas,
diferenciais, integrais, frac¸o˜es parciais, integrac¸a˜o por substituic¸a˜o, expansa˜o de Taylor,
comprimento de arco de uma curva e resolvemos equac¸o˜es diferenciais ordina´rias.
Na sec¸a˜o VI, tratamos sobre transformac¸o˜es Trigonome´tricas, elementos de geometria diferencial
no plano, equac¸o˜es recursivas, interpolac¸a˜o, aproximac¸a˜o e ajuste linear.
Na sec¸a˜o VII, realizamos aplicac¸o˜es no Ca´lculo de func¸o˜es de va´rias varia´veis, incluindo Derivadas
parciais, Ma´ximos e Mı´nimos com multiplicadores de Lagrange e com o Teorema de Sylvester,
Sequeˆncias e Se´ries de nu´meros reais e Se´ries de poteˆncias.
Nas outras sec¸o˜es, estudamos Elementos de Geometria diferencial, Sequeˆncias recursivas e
alguns elementos de Interpolac¸a˜o e Aproximac¸a˜o.
O nu´cleo de um CAS manipula simbolicamente expresso˜es matema´ticas, incluindo:
1. Simplificac¸a˜o de expresso˜es, simplificac¸a˜o automa´tica com hipo´teses e restric¸o˜es.
Substituic¸a˜o e operac¸o˜es simbo´licas ou nume´ricas com precisa˜o arbitra´ria.
2. Mudanc¸a da forma de expresso˜es: expansa˜o, produtos e somas, fatorac¸a˜o, frac¸o˜es parciais,
reescrever func¸o˜es trigonome´tricas como exponenciais.
3. Diferenciac¸a˜o parcial e total. Estudos de otimizac¸a˜o com e sem restric¸a˜o.
4. Soluc¸a˜o exata ou aproximada de sistemas de equac¸o˜es lineares ou na˜o-lineares.
5. Soluc¸a˜o de algumas equac¸o˜es diferenciais ordina´rias e equac¸o˜es de diferenc¸as.
1 Maxima deve ser lida como Mæk-sima.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
Sec¸a˜o 1 Detalhes gerais sobre o Maxima 5
6. Ca´lculos de: limites, derivadas, integrais definidas e indefinidas, nume´ricas, inclusive em
va´rias varia´veis, transformadas integrais de Laplace e Fourier.
7. Operac¸o˜es com se´ries nume´ricas e de poteˆncias como expansa˜o, soma e produto.
8. Operac¸o˜es com matrizes incluindo produto direto e ca´lculo de inversas.
9. Mostra de expresso˜es matema´ticas em uma forma matema´tica como em LaTeX.
10. Pacotes adicionais de Matema´tica aplicada, Fı´sica e Estatı´stica.
11. Plotagem de gra´ficos 2D, 3D e parame´tricos de func¸o˜es bem como animac¸a˜o.
12. Inclusa˜o de alguma linguagem de programac¸a˜o.
1 Detalhes gerais sobre o Maxima
1.1 Mini histo´ria do Maxima
Maxima e´ um sistema de a´lgebra computacional, implementado em Lisp. O Maxima e´ derivado
do sistema Macsyma, desenvolvido no MIT nos anos de 1968 a 1982 como parte do Projeto
MAC. MIT remanejou uma co´pia do co´digo fonte do Macsyma para o Departamento de Energia
em 1982; aquela versa˜o e´ agora conhecida como Macsyma DOE. Uma co´pia do Macsyma DOE
foi mantida pelo Professor William F. Schelter da Universidade do Texas de 1982 ate´ sua morte
em 2001. Em 1998, Schelter obteve permissa˜o do Departamento de Energia para liberar o co´digo
fonte do Macsyma DOE sob a Licenc¸a Pu´blica GNU, e em 2000 ele iniciou o projeto Maxima
no SourceForge para manter e desenvolver o Macsyma DOE, agora chamado Maxima.
1.2 Sobre a instalac¸a˜o do Maxima
1. Para executar o Maxima no Windows ou no Linux, digite
Maxima: Linhas de comando
maxima [ENTER]
2. Se voceˆ usa o Windows, eu sugiro que instale o Maxima na pasta C:\Maxima do seu com-
putador.
3. Para este material, utilizamos a versa˜o 5.14.0, com a interface gra´fica wxMaxima versa˜o
0.7.4 tendo os comandos escritos em Portugueˆs usado no Brasil.
4. O processo de instalac¸a˜o do Maxima no Windows, cria um ı´cone com a forma:
5. Podemos usar a interface gra´fica wxMaxima, pressionando este ı´cone.
6. Apo´s inicializar o programa wxmaxima.exe, voceˆ vera´ uma janela contendo algo como:
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.2 Sobre a instalac¸a˜o do Maxima 6
Maxima: Linhas de comando
/*
wxMaxima 0.7.4 http://wxmaxima.sourceforge.net
Maxima 5.14.0 http://maxima.sourceforge.net
Using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (aka GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1)
7. Na u´ltima linha da tela mostrada acima, voceˆ vera´ o ro´tulo (%i1) (input1) que significa a
primeira entrada da linha de comando do Maxima.
8. Na parte inferior da janela aberta ha´ uma a´rea com uma caixa de entrada:
9. Nesta figura, esta˜o doze boto˜es com as principais func¸o˜es usadas no Maxima.
10. A caixa denominada ENTRADA: e´ muito importante. Atrave´s dela, podemos inserir as
nossas expresso˜es matema´ticas. Observe que eu ja´ digitei 10! (fatorial de 10):
Maxima: Linhas de comando
10!
11. Tomando o cuidado de na˜o alterar o co´digo, (a menos que saiba o que esta´ fazendo), digite
10! e depois pressione a tecla Enter para obter:
Maxima: Linhas de comando
(%o1) 3628800;
12. A resposta (%o1) (output1) que aparece no notebook e´ o resultado da operac¸a˜o solicitada
na linha de comando que tem a etiqueta (%i1).
13. Muitas vezes indicaremos o co´digo a ser digitado e a resposta por:
Maxima: Linhas de comando
10!;
>>> 3628800
14. Outras vezes, a resposta ficara´ centralizada apo´s o co´digo. Fatoramos a saı´da da u´ltima
operac¸a˜o (%) com:
Maxima: Linhas de comando
factor(%);
28 34 52 7
15. Para Encerrar a sessa˜o do Maxima, pressione as teclas Ctrl-Q , isto e´, pressione a tecla
Ctrl com um dedo e ao mesmo tempo pressione a tecla Q com outro dedo.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.3 Menus do wxMaxima e todas as suas alternativas 7
1.3 Menus do wxMaxima e todas as suas alternativas
As entradas mais comuns do Maxima possuem teclas de atalho na interface wxMaxima, como por
exemplo, as teclas Ctrl-O que serve para Abrir um Arquivo.
Arquivo Aqui ficam informac¸o˜es sobre arquivos de entrada e arquivos saı´da do Maxima.
Abrir Ctrl-O Abrir um arquivo com a extensa˜o wxm.
Read File Ler um arquivo com a extensa˜o wxm.
Salvar Ctrl-S Salvar um arquivo com a extensa˜o wxm.
Salvar como Salvar um arquivo com um nome e extensa˜o desejados pelo usua´rio.
Carregar pacote Ctrl-L Carregar pacote com a extensa˜o wxm.
Carregar arquivo batch Ctrl-B Carrega um pacote com a extensa˜o bat.
Exportar para HTML Exporta o notebook aberto como uma pa´gina HTML.
Selecionar arquivo
Monitorar arquivo
Imprimir Ctrl-P Imprimir o notebook aberto.
Sair Ctrl-Q Encerrar a sessa˜o do Maxima.
Editar Detalhes sobre o processo de edic¸a˜o do notebook.
Copiar Ctrl-C Copia a parte selecionada para o clipboard.
Copiar texto Ctrl-C Copia a parte selecionada como texto para o clipboard.
Copiar TeX Copia a parte selecionada como LaTeX para o clipboard.
Apagar selec¸a˜o Elimina a entrada selecionada.
Copiar como imagem Copia a parte selecionada como uma imagem.
Selec¸a˜o para imagem Seleciona uma imagem.
Selec¸a˜o para entrada F5
Recortar Ctrl-X Copia a parte selecionada para o clipboard e elimina o mesmo do local
onde a parte esta´.
Colar Ctrl-V Cola o material que esta´ no clipboard.
Desdobrar Abrir a a´rea etiquetada.
Entrada longa Ctrl-I Abre janela de edic¸a˜o para entrada com va´rias linhas.
Editar entrada Ctrl-E Edita a parte selecionada.
Reavaliar entrada Ctrl-R Executa de novo a entrada selecionada.
Inserir Inserir entrada, texto, nome e tı´tulo da sessa˜o.
Entrada F7 Insere uma expressa˜o matema´tica.
Texto F6 Inserir texto.
Sessa˜o Ctrl-F6 Inserir nome da sessa˜o.
Tı´tulo Ctrl-Shift-P Inserir tı´tulo do capı´tulo desenvolvido.
Limpar a tela Limpa a tela completamente.
Aproximar Alt-I
Afastar Alt-O
Ir a` entrada F4
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.3 Menus do wxMaxima e todas as suas alternativas 8
Ir a` janela de saı´da F3
Selecionar u´ltima entrada F2
Configurar Configurac¸o˜es gerais da interface wxMaxima.
Maxima Detalhes sobre o funcionamento do Maxima.
Interromper Ctrl-G Interrompe uma operac¸a˜o que esta´ sendo realizada pelo Maxima.
Reiniciar Maxima Reinicia o Maxima, limpando as func¸o˜es, limpando as varia´veis e
limpando as expresso˜es que estavam na memo´ria.
Limpar memo´ria Limpa a memo´ria, isto e´, limpa todas as func¸o˜es, varia´veis e expresso˜es
que estavam na memo´ria.
Adicionar ao caminho
Mostrar func¸o˜es Mostra as func¸o˜es usadas na sessa˜o atual.
Mostrar definic¸o˜es Mostra as definic¸o˜es usadas na sessa˜o atual.
Mostrar varia´veis Mostra todas as varia´veis usadas na sessa˜o atual.
Apagar func¸a˜o Elimina uma func¸a˜o.
Apagar varia´vel Elimina uma varia´vel.
Alternar exibic¸a˜o do tempo Indica o tempo gasto em uma tarefa.
Alterar exibic¸a˜o 2D Alterna as expresso˜es como xml, ascii ou none.
Mostrar forma TeX Mostra a expressa˜o como uma expressa˜o em TeX.
Equac¸o˜es Detalhes sobre equac¸o˜es.
Resolver ... Abre janela de dia´logo para resolver uma equac¸a˜o exatamente.
Resolver numericamente ...Abre janela de dia´logo para resolver uma equac¸a˜o numeri-
camente.
Raı´zes de polinoˆmio Obte´m todas as raı´zes do polinoˆmio indicado na passagem anterior
com a func¸a˜o allroots.
Raı´zes do polinoˆmio (real) Obte´m todas as raı´zes reais do polinoˆmio indicado na pas-
sagem anterior com a func¸a˜o realroots.
Resolver sistema linear ... Janela de dia´logo para obter o nu´mero de equac¸o˜es do sistema
e na sequ¨eˆncia abre outra janela para receber as equac¸o˜es e tambe´m as varia´veis que
sera˜o obtidas na soluc¸a˜o em func¸a˜o das equac¸o˜es.
Resolver sistema alge´brico ... Janela de dia´logo para obter o nu´mero de equac¸o˜es do sis-
tema e na sequ¨eˆncia abre outra janela para receber as equac¸o˜es e tambe´m as varia´veis
que sera˜o obtidas na soluc¸a˜o em func¸a˜o das equac¸o˜es.
Eliminar varia´vel ... Janela de dia´logo para eliminar uma varia´vel de uma expressa˜o matema´tica.
Resolver EDO ... Janela de dia´logo para resolver EDO.
Problema de valor inicial (1) ... Janela de dia´logo para resolver um PVI1.
Problema de valor inicial (2) ... Janela de dia´logo para resolver um PVI2.
Problema de valor de fronteira ... Janela de dia´logo para resolver um PVF Problema de
valor de fronteira.
Resolver EDO com Laplace ... Janela de dia´logo para resolver uma EDO atrave´s do me´todo
de Laplace.
Valor no ponto ... Janela de dia´logo para associar um valor a um ponto.
A´lgebra Operac¸o˜es comuns da A´lgebra e da A´lgebra Linear.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.3 Menus do wxMaxima e todas as suas alternativas 9
Gerar matriz ... Janela de dia´logo para gerar uma matriz com as entradas postas uma a
uma, de uma forma lenta.
Introduzir matriz ... Janela de dia´logo para inserir uma matriz com todas as entradas em
uma caixa.
Inverter matriz Inverte a matriz indicada na u´ltima passagem.
Polinoˆmio caracterı´stico ... Janela de dia´logo para gerar o polinoˆmio caracterı´stico de
uma matriz.
Determinante Calcula o determinante de uma matriz.
Autovalores Calcula os autovalores (e suas multiplicidades) de uma matriz.
Autovetores Calcula os autovetores, autovalores (e suas multiplicidades).
Matriz adjunta Calcula a matriz adjunta de uma matriz dada.
Transpor matriz Calcula a transposta de uma matriz dada.
Criar lista ... Janela de dia´logo para gerar uma lista de uma certa expressa˜o, quando a
varia´vel percorre um certo domı´nio.
Aplicar lista ... Janela de dia´logo para aplicar uma operac¸a˜o a uma lista existente.
Mapear lista ... Janela de dia´logo para aplicar uma func¸a˜o a uma lista.
Mapear a uma matriz ... Janela de dia´logo para aplicar uma func¸a˜o a uma matriz.
Ca´lculo Operac¸o˜es de Ca´lculo Diferencial e Integral.
Integrar ... Janela de dia´logo para realizar a integral de uma func¸a˜o.
Integrac¸a˜o Risch ... Janela de dia´logo para a integral de Risch de uma func¸a˜o.
Mudar varia´vel ... Janela de dia´logo para realizar uma mudanc¸a de varia´vel em uma ex-
pressa˜o matema´tica.
Diferenciar ... Janela de dia´logo para a derivada ou diferencial de uma func¸a˜o.
Encontrar limite ... Janela de dia´logo para calcular o limite de uma func¸a˜o.
Obter se´rie ... Janela de dia´logo para gerar a se´rie de Taylor de uma func¸a˜o.
Aproximac¸a˜o de Pade´ ... Janela de dia´logo para gerar a aproximac¸a˜o de Pade´.
Calcular soma ... Janela de dia´logo para gerar a soma (o somato´rio) de uma expressa˜o
indexada sobre um certo domı´nio.
Calcular produto ... Janela de dia´logo para gerar o produto de uma expressa˜o indexada
sobre um certo domı´nio.
Transformada de Laplace ... Janela de dia´logo para calcular a transformada de Laplace
de uma func¸a˜o.
Transformada inversa de Laplace ... Janela de dia´logo para calcular a transformada in-
versa de Laplace de uma func¸a˜o.
Ma´ximo divisor comum ... Janela de dia´logo para calcular o ma´ximo divisor comum en-
tre polinoˆmios.
Mı´nimo mu´ltiplo comum ... Janela de dia´logo para calcular o mı´nimo mu´ltiplo comum
entre polinoˆmios.
Dividir polinoˆmios ... Janela de dia´logo para dividir polinoˆmios e indicar o resto em uma
lista.
Frac¸o˜es parciais ... Janela de dia´logo para realizar a decomposic¸a˜o de uma expressa˜o
racional em frac¸o˜es parciais.
Frac¸a˜o contı´nua Gera uma frac¸a˜o contı´nua a partir de uma lista de nu´meros inteiros.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.3 Menus do wxMaxima e todas as suas alternativas 10
Simplificar Processos de simplificac¸a˜o de expresso˜es.
Simplificar expressa˜o Simplificac¸a˜o racional da expressa˜o com a func¸a˜o ratsimp. Ver
bota˜o Simplificar na a´rea de baixo do notebook.
Simplificar radicais Simplifica uma expressa˜o que pode conter logaritmos, exponenciais
e radicais, converte-a em uma expressa˜o comum, usando a func¸a˜o radcan. Ver bota˜o
Simplificar (r) na a´rea de baixo do notebook.
Fatorar expressa˜o Fatora uma expressa˜o real com a func¸a˜o factor. Ver bota˜o Fatorar
na a´rea de baixo do notebook.
Fatorar complexo Fatorar expressa˜o complexa com a func¸a˜o gfactor.
Expandir expressa˜o Expandir expressa˜o com a func¸a˜o expand. Ver bota˜o Expandir na
a´rea de baixo do notebook.
Expandir logaritmos Expandir expressa˜o com logaritmos.
Contrair logaritmos Contrair expressa˜o com logaritmos.
Fatoriais e gama Realiza ca´lculos de fatoriais e com a func¸a˜o gamma.
Converter para fatoriais Converter binoˆmios e as func¸o˜es Beta e Gama para
fatoriais.
Converter para gama Converter binoˆmios, fatoriais e a func¸a˜o beta para func¸a˜o
gama.
Simplificar fatoriais Simplificar uma expressa˜o envolvendo fatoriais.
Combinar fatoriais Combinar uma expressa˜o envolvendo fatoriais.
Simplificac¸a˜o trigonome´trica Simplificac¸a˜o de expresso˜es trigonome´tricas.
Simplificar trigonome´tricas Simplifica expressa˜o trigonome´trica utilizando a func¸a˜o
trigsimp. Ver bota˜o Simplificar (tr) na a´rea de baixo do notebook.
Reduzir trigonome´tricas Reduz expressa˜o trigonome´trica com a func¸a˜o trigreduce.
Ver bota˜o Reduzir (tr) na a´rea de baixo do notebook.
Expandir trigonome´tricas Expande expressa˜o trigonome´trica utilizando a func¸a˜o
trigexpand. Ver bota˜o Expandir (tr) na a´rea de baixo do notebook.
Forma canoˆnica Simplifica expressa˜o trigonome´trica a uma forma canoˆnica com a
func¸a˜o trigrat.
Simplificac¸a˜o complexa Realiza simplificac¸o˜es em expresso˜es complexas.
Converter para forma retangular Converte uma expressa˜o complexa para a forma
retangular com a func¸a˜o rectform. Ver bota˜o Forma ret na a´rea de baixo do
notebook.
Converter para forma polar Converte expressa˜o complexa para a forma polar.
Obter parte real Gera a parte real de expressa˜o complexa.
Obter parte imagina´ria Gera a parte imagina´ria de expressa˜o complexa.
Demoivre Converte func¸a˜o exponencial de argumento imagina´rio para a forma
trigonome´trica.
Exponencializar Converte func¸o˜es trigonome´tricas para a forma exponencial.
Substituir ... Substituir varia´vel em uma expressa˜o.
Avaliar formas substantivas Avaliar todas as formas substantivas na expressa˜o.
Alternar flag alge´brico
Adicionar igualdade alge´brica ... Adicionar igualdade ao simplificador racional.
Ca´lculo com mo´dulo ... Configurar calculos com mo´dulo.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.4 A linha de comando na interface wxMaxima 11
Gra´ficos Realizar a construc¸a˜o de gra´ficos.Gra´ficos 2D ... Janela de dia´logo para a construc¸a˜o de gra´ficos 2D.
Gra´ficos 3D ... Janela de dia´logo para a construc¸a˜o de gra´ficos 3D.
Formato do gra´fico ... Janela de dia´logo para ajustar o formato do gra´fico.
Nume´rico Alternativas para saı´das nume´ricas.
Alternar saı´da nume´rica Alternar saı´da nume´rica.
Para float Gera a saı´da float de uma expressa˜o.
Para bfloat Gera a saı´da bfloat de uma expressa˜o.
Ajustar precisa˜o ... Janela de dia´logo para ajustar precisa˜o de ponto flutuante.
Ajuda Sistema de Ajuda do Maxima.
Ajuda do Maxima F1 Mostrar help do Ma´xima.
Descrever Ctrl-H Mostrar a descric¸a˜o de comando.
Exemplo Mostra exemplos de uso de comando indicado.
Apropos Mostra comandos semelhantes ao comando indicado.
Mostrar dica Mostra dica do Maxima.
Informac¸o˜es da versa˜o Informac¸o˜es sobre a Versa˜o do Maxima.
Relatar bug Relatar bug no programa.
Sobre Informac¸o˜es sobre o Maxima
1.4 A linha de comando na interface wxMaxima
1. O Maxima pode ser usado em linha de comando com a interface wxMaxima. Voceˆ informa
um comando, obte´m uma resposta e pode inserir o comando seguinte.
2. O objeto (%i1) e´ uma etiqueta. Cada linha de entrada ou linha de saı´da possui uma etiqueta
numerada.
3. As etiquetas numeradas podem ser usadas como refereˆncias em outras expresso˜es ate´ o
final da sessa˜o. Nunca use nomes de varia´veis como %i1 ou %o5, pois isto causara´ confusa˜o
com as linhas etiquetadas.
4. As etiquetas com i (input) denotam comandos e etiquetas com o (output) denotam re-
spostas geradas pelo Maxima.
5. Todas as func¸o˜es embutidas possuem nomes que esta˜o em minu´sculas como por exemplo:
sin, cos, save, load, etc.
6. As principais constantes embutidas possuem nomes em minu´sculas como por exemplo:
%e, %pi, inf, minf, infinity, etc.
7. O Maxima e´ sensı´vel ao contexto, isto e´, letras maiu´sculas e minu´sculas sa˜o diferentes.
8. Se voceˆ digitar SIN(x) ou Sin(x), o Maxima assume que voceˆ quer escrever alguma outra
func¸a˜o embutida que e´ diferente da func¸a˜o sin.
9. Nomes de func¸o˜es e varia´veis definidas pelo usua´rio podem ter maiu´sculas func(XY),
minu´sculas FUNC(xy) ou ambas, como Func(Xy), Func(xY), que sa˜o diferentes.
10. Encerramos uma linha de comando com ponto e vı´rgula (;) seguido da tecla Enter .
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
1.4 A linha de comando na interface wxMaxima 12
11. Um comando simples e´ uma expressa˜o com um ponto e vı´rgula ; no final, e neste caso, a
resposta e´ mostrada na tela.
Maxima: Linhas de comando
2*5;
>>> 10
12. A tecla Enter sozinha na˜o indica que voceˆ realizou a sua entrada, mas se voceˆ esquecer
do ponto e vı´rgula no final da linha de comando da interface wxMaxima, a interface colocara´
este ponto para voceˆ.
13. Voceˆ pode escrever va´rios comandos na mesma linha de comando, desde que use o sinal
de ponto e vı´rgula ; entre estes comandos:
Maxima: Linhas de comando
10^1; 10^3; 10^5;
>>> 10
1000
100000
14. Voceˆ pode realizar a mesma operac¸a˜o que antes usando a func¸a˜o display:
Maxima: Linhas de comando
display(10^1); display(10^3); display(10^5);
101 = 10
103 = 1000
105 = 100000
15. Voceˆ pode obter o mesmo resultado que antes usando o func¸a˜o do. Assim, para cada
i=1 ate´ 5 com passo 2, mostra a pote^ncia 10i:
Maxima: Linhas de comando
for i:1 thru 5 step 2 do display(10^i);
16. Realizamos a mesma operac¸a˜o que antes usando o func¸a˜o ldisplay:
Maxima: Linhas de comando
ldisplay(a[1]:10^1); ldisplay(a[3]:10^3); ldisplay(a[5]:10^5);
a1 = 10
a3 = 1000
a5 = 100000
17. Podemos realizar a mesma operac¸a˜o que antes usando o func¸a˜o do:
Maxima: Linhas de comando
for i:1 thru 5 step 2 do ldisplay(a[i]:10^i);
a1 = 10
a3 = 1000
a5 = 100000
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.4 A linha de comando na interface wxMaxima 13
18. Podemos escrever va´rios comandos na mesma linha de comando, com vı´rgulas entre os
comandos, envolvendo toda a linha com um par de colchetes [ ]:
Maxima: Linhas de comando
[10^2, 10^3, 10^4];
>>> [100, 1000, 10000]
19. Uma entrada com um dollar ($) no final, faz com que a resposta na˜o aparec¸a na tela. Isto e´
u´til para resultados intermedia´rios longos que na˜o desejamos mostrar na tela.
Maxima: Linhas de comando
2^50$
20. Para criar uma linha de comando com va´rias linhas de texto, a interface wxMaxima possui
a tecla de atalho Ctrl+I que abre uma janela e permite editar a expressa˜o.
21. Um comando complexo pode exigir mais do que uma linha de comando e as linhas podem
ser encerradas com um ponto e vı´rgula ou com um dollar.
Maxima: Linhas de comando
load("diag")$
A: matrix([2,0],[3,5])$
jordan(A)$
minimalPoly(%);
>>> (x-5)(x-2)
Assim, o polinoˆmio minimal da matriz A e´ dado por m(x) = (x−5)(x−2).
22. No Maxima, o sinal de multiplicac¸a˜o de expresso˜es nume´ricas ou literais, e´ um asterisco
*. Na notac¸a˜o comum da matema´tica, a resposta aparece sem o sinal.
Maxima: Linhas de comando
(x+2)*(x-3);
>>> (x-3)(x+2)
23. O SINAL % REPRESENTA A U´LTIMA EXPRESSA˜O CALCULADA PELO MAXIMA.
24. Para expandir o produto obtido no u´ltimo resultado, basta digitar:
Maxima: Linhas de comando
expand(%);
x2− x−6
25. O Maxima interpreta os expoentes por treˆs formas distintas, sendo duas coincidentes:
Maxima: Linhas de comando
[x^3^4, x^(3^4), (x^3)^4];
[x81, x81, x12]
26. Para associar um valor a uma varia´vel, use dois pontos (:), que na˜o e´ um sinal de igualdade
(Observac¸a˜o: O sinal de igualdade e´ usado em equac¸o˜es).
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.4 A linha de comando na interface wxMaxima 14
27. No Maxima, podemos associar uma constante a um valor e depois utilizar esta constante
em algum ca´lculo.
Maxima: Linhas de comando
(%i1) c:10; c^2;
(%o1) 10
(%o2) 100
28. Pondo uma aspa simples ’ (apo´strofe) antes da expressa˜o, o Maxima evita o ca´lculo da
expressa˜o, gerando uma expressa˜o denominada substantiva no Maxima.
Maxima: Linhas de comando
’c^2;
c2
29. Pondo duas aspas simples ’’ (apo´strofes) antes da expressa˜o, o Maxima realizara´ o ca´lculo
da expressa˜o substantiva.
Maxima: Linhas de comando
’’c^2;
>>> 100
30. Para repetir uma linha (%i2) que ja´ foi digitada anteriormente, basta usar a etiqueta ’’%i2
com duas aspas simples (’’) antes dela. Na˜o use aspas duplas!
Maxima: Linhas de comando
’’%i2;
Esta forma repete a linha (%i2) sem digitar de novo, os comandos, func¸o˜es e varia´veis da
linha toda.
31. Todos os comandos digitados em uma sessa˜o do Maxima ficam armazenados na memo´ria
do computador, sob o nome de history da sessa˜o. Para acessar tais comandos, basta pres-
sionar as quatro setas de movimento do cursor:
↑
← ↓ →
32. Para repetir um comando que voceˆ ja´ foi digitado, basta acessar o referido comando com
as setas de movimento do cursor.
33. Se existe uma linha com a expressa˜o c^2; basta voceˆ procurar tal linha com as setas de
movimento (para cima e para baixo) e ao encontrar a mesma, pressionar Enter sem
realizar todo o trabalho de digitac¸a˜o.
34. Para usar o u´ltimo resultado calculado, use a respectiva etiqueta de saı´da o ou o sı´mbolo
especial de porcentagem (%).
35. Para interromper um ca´lculo sem sair do Maxima, pressioneCtrl+G .
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.4 A linha de comando na interface wxMaxima 15
36. Se, apo´s digitar um co´digo, voceˆ observa que o ca´lculo demora para realizar a operac¸a˜o:
Maxima: Linhas de comando
sum(1/x^2, x, 1, 1000000);
utilize a tecla de atalho Ctrl+G para interromper a operac¸a˜o.
37. Voceˆ vera´ uma tela com uma mensagem semelhante a esta:
Maxima: Linhas de comando
Maxima encountered a Lisp error:
Console interrupt.
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
38. As constantes e (base do logaritmo natural), i (raiz quadrada de -1) e pi (3.14159) sa˜o
referidas como %e, %i e %pi, como:
Maxima: Linhas de comando
[ %pi , %e , %i]
39. O uso de % nas constantes nada tem a ver com o uso de % na refereˆncia ao ca´lculo.
40. Voceˆ pode obter ajuda sobre uma palavra como zeromatrix no Maxima, com:
Maxima: Linhas de comando
?? zeromatrix;
41. Voceˆ obtera´ uma resposta semelhante a:
Maxima: Linhas de comando
0: zeromatrix (Func¸~oes e Varia´veis Def. Matrizes e A´lgebra Linear)
1: zeromatrixp (Func¸~oes e Varia´veis Definidas para linearalgebra)
Enter space-separated numbers, ‘all’ or ‘none’:
42. Para ver informac¸o˜es sobre 1: zeromatrixp, digite 1 e pressione a tecla Enter . Voceˆ
devera´ ver uma tela semelhante a
Maxima: Linhas de comando
-- Func¸~ao: zeromatrixp (<M>)
Se <M> n~ao for uma matriz de bloco, retorna ‘true’ se
‘is(equal(<e>,0))’ for verdadeiro para cada elemento <e> da
matriz <M>. Se <M> for uma matriz de bloco, retorna ‘true’ se
‘zeromatrixp’ avaliar para ‘true’ para cada elemento de <e>.
(%o6) true
43. Voceˆ pode obter um exemplo de como usar a palavra laplace no Maxima, com:
Maxima: Linhas de comando
example(laplace);
laplace(%e(a+2*t)*sin(t)*t, t, s)
ea (2s−4)
(s2−4s+5)2
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.5 Uma pequena lista de func¸o˜es do Maxima 16
1.5 Uma pequena lista de func¸o˜es do Maxima
Ver o manual de refereˆncia do Maxima doc/html/maxima_toc.html (na pasta principal de
instalac¸a˜o do Maxima). No pro´prio Maxima, voceˆ pode usar describe(NomeFuncao).
allroots(a) Obte´m todas as (em geral complexas) raı´zes da equac¸a˜o polinomial A e lista as
mesmas em formato numerico (isto e´, com 16 dı´gitos significativos).
append(a,b) Anexa a lista b a` list a, resultando uma u´nica lista.
batch(a) Carrega e roda um programa denominado a.
coeff(a,b,c) Toma a expressa˜o a e fornece os coeficientes de b elevado a` poteˆncia c.
concat(a,b) Concatena o sı´mbolo a com o sı´mbolo b, criando o sı´mbolo ab.
cons(a,b) Acrescenta o objeto a a` lista b como o seu primeiro elemento.
demoivre(a) Transforma as exponenciais complexas a para suas equivalentes trigonome´tricas.
denom(a) Fornece o denominador de a. Por exemplo:
Maxima: Linhas de comando
a:= (1+x)/(1-x^2);
denom(a)
depends(a,b) Declara a como uma func¸a˜o de b. Isto e´ u´til para escrever derivadas na˜o avaliadas,
usadas em Equac¸o˜es Diferenciais.
desolve(a,b) Tenta resolver um sistema linear a de Equac¸o˜es Diferenciais Ordina´rias para as
inco´gnitas b usando Transformadas de Laplace.
determinant(a) Retorna o determinante de uma matriz quadrada a.
diff(a,b1,c1,b2,c2,...,bn,cn) Gera a derivada parcial mixta de a com respeito a cada bi, ci
vezes. diff(a,b,1) pode ser escrita como diff(a,b). ’diff(...) gera uma derivada
na˜o avaliada, para ser usada em uma Equac¸a˜o Diferencial.
eigenvalues(a) Retorna duas listas, a primeira com os autovalores de uma matriz quadrada a
e a segunda com as suas respectivas multiplicidades.
eigenvectors(a) Faz tudo que eigenvalues faz, e, ale´m disso, anexa uma lista dos autove-
tores de a.
entermatrix(a,b) Solicita que o usua´rio insira uma matriz a×b, elemento-a-elemento.
ev(a,b1,b2,...,bn) Avalia a sob as condic¸o˜es bi. Os termos bi podem ser equac¸o˜es, listas de
equac¸o˜es (como as retornadas por solve), ou associac¸o˜es, nesses casos ev ”plugs”os bi
dentro de a. Os Bi podem ser palavras como numer (e o resultado retorna em formato
nume´rico), detout (as matrizes inversas em a sa˜o realizadas com o determinante fatorado
fora), ou diff (as derivadas em a sa˜o avaliadas, isto e´, ’diff em a e´ trocada por diff).
Por simplicidade, em um comando manual (isto e´, na˜o dentro de uma func¸a˜o definida pelo
usua´rio), o ev pode ser quebrado, reduzindo a sintaxe para a,b1,b2,...,bn.
expand(a) Expande algebricamente a. Em particular, a multiplicac¸a˜o e´ distribuı´da sobre a
adic¸a˜o.
exponentialize(a) Transforma todas as func¸o˜es trigonome´tricas em a para as suas equiva-
lentes exponenciais complexas.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
1.5 Uma pequena lista de func¸o˜es do Maxima 17
factor(a) Fatora a.
freeof(a,b) Retorna true se a varia´vel a na˜o e´ parte da expressa˜o b.
grind(a) Mostra uma varia´vel ou func¸a˜o a em um formato compacto. Quando usado com
writefile e um editor fora do Maxima, oferece um esquema para produzir arquivos
batch que incluem expresso˜es geradas pelo Maxima.
ident(n) Returna uma matriz identidade n×n.
imagpart(a) Retorna a parte imagina´ria de a.
integrate(a,b) Tenta obter a integral indefinida de a com respeito a` varia´vel b.
integrate(a,x,c,d) Tenta calcular a integral indefinida de a na varia´vel x, de x=c a x=d. Os
limitantes de integrac¸a˜o c e d podem ser infinito: inf (positivo) ou minf (negativo).
invert(a) Calcula a inversa da matriz quadrada a.
kill(a) Remove a varia´vel a e as suas associac¸o˜es e propriedades do ambiente do Maxima.
limit(a,x,c) Fornece o limite da expressa˜o a quando a varia´vel x se aproxima de c. O valor de
c pode ser tomado como inf ou minf como em integrate.
lhs(a) Fornece o lado esquerdo da equac¸a˜o a.
loadfile(a) Carrega um arquivo de disco com o nome a a partir do direto´rio padra˜o. O arquivo
do disco deve estar no formato pro´prio (isto e´, criado por um comando save.
makelist(a,x,c,d) Cria uma lista de a’s (cada um dos quais talvez dependa de x), concatenado
de x=c ate´ x=d.
map(a,b) Aplica a func¸a˜o a sobre as subexpresso˜es de b.
matrix(a1,a2,...,an) Cria uma matriz consistindo de linhas ai, onde cada linha ai e´ uma lista
de m elementos [b1,b2,...,bm].
num(a) Fornece o numerador de a.
ode2(Eq,y,x) Tenta resolver equac¸o˜es diferenciais ordina´rias Eq de primeira e segunda ordem
na varia´vel y como func¸a˜o da varia´vel x.
part(a,b1,b2,...,bn) Primeiro toma a parte de ordem b1 de a, depois a parte de ordem B2
daquela e assim por diante.
playback(m) Mostra as u´ltimas m etiquetas e suas expresso˜es associadas. Se m e´ omitido, todas
as linhas sa˜o mostradas. Ver o Manual para outras opc¸o˜es.
ratsimp(a) Simplifica a e retorna um quociente de dois polinoˆmios.
realpart(a) Retorna a parte real de a.
rhs(a) Fornece o lado direito da equac¸a˜o a.
save(a,b1,b2,..., bn) Cria um arquivo com nome a no atual direto´rio padra˜o, com varia´veis,
func¸o˜es ou arrays bi. O formato do arquivo permite que ele seja carregado no Maxima
com o comando loadfile. Tudo (mesmo as etiquetas) pode ser salvo se b1 e´ all.
solve(Eq,x) Tenta resolver a equac¸a˜o alge´brica Eq para a inco´gnita x. Uma lista de soluc¸o˜es da
equac¸a˜o e´ retornada. Mais simplesmente, se a e´ uma equac¸a˜o da forma Eq=0, ela pode ser
abreviada simplesmente pela expressa˜o Eq.
UlyssesSodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
Sec¸a˜o 2 Ca´lculos nume´ricos 18
string(a) Converte a para a notac¸a˜o linear do Maxima (similar a` notac¸a˜o de Fortran) exata-
mente como se ela tivesse sido digitada e coloca a no buffer para possı´vel edic¸a˜o. A
expressa˜o na forma de string na˜o deve ser usada nos ca´lculos.
stringout(arq,b1,b2,...,bn) Cria um arquivo denominado arq no atual direto´rio padra˜o, com
varia´veis (por exemplo, etiquetas) b1,b2,...,bn. O arquivo fica texto puro e na˜o pode
ser recarregado no Maxima, mas as expresso˜es ‘stringout’ podem ser incorporadas em um
programa Fortran, Basic ou C com pouca edic¸a˜o.
subst(a,b,f) Substitui a por b em f.
taylor(f,x,a,n) Expande f em uma se´rie de Taylor na varia´vel x em torno do ponto x=a, ate´
incluir o termo (x− a)n. Maxima tambe´m suporta expanso˜es de Taylor em mais do que
uma varia´vel independente. Ver o Manual para detalhes.
transpose(M) Fornece a transposta da matriz M.
trigexpand(f) Expande uma func¸a˜o trigonome´trica simplificada f que usa fo´rmulas da soma
de aˆngulos para simplificar os argumentos individuais de sin ou cos. Por exemplo,
trigexpand(sin(x+y)) fornece cos(x)sin(y)+sin(x)cos(y).
trigreduce(f) Func¸a˜o para simplificac¸a˜o trigonome´trica de f que faz uso de identidades para
converter produtos e poteˆncias de sin e cos em uma soma de termos, cada uma delas
contendo somente um simples sin ou cos.
Por exemplo: trigreduce(sin(x)^2) fornece (1-cos(2x))/2.
trigsimp(a) Func¸a˜o de simplificac¸a˜o trigonome´trica que troca tan, sec, etc., por seus equiva-
lentes em sin e cos. Tambe´m reconhece a identidade sin2(x)+ cos2(x) = 1.
2 Ca´lculos nume´ricos
2.1 Ca´lculos com expresso˜es reais
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. As operac¸o˜es aritme´ticas comuns sa˜o: + adic¸a˜o, - subtrac¸a˜o, * multiplicac¸a˜o, / divisa˜o, ^
exponencial, ^^ poteˆncia de matrizes, . produto de matrizes e sqrt raiz quadrada.
3. Saı´das do Maxima sa˜o mostradas pela aritme´tica exata (racional).
Maxima: Linhas de comando
1/100 + 1/101;
201
10100
4. Vamos associar um valor irracional a uma letra a. Na tela vemos a sua forma simbo´lica:
Maxima: Linhas de comando
a: (1 + sqrt(2))^5;
(
√
2+1)
5
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
2.1 Ca´lculos com expresso˜es reais 19
5. Expandimos o ca´lculo anterior e simplificamos com:
Maxima: Linhas de comando
expand(a);
29
√
2+41
6. Para que um resultado seja mostrado em notac¸a˜o decimal, basta acrescentar a expressa˜o
,numer; no final da linha de comando.
Maxima: Linhas de comando
a, numer;
>>> 82.01219330881976
7. O mesmo resultado pode ser visto em notac¸a˜o decimal, com a linha de comando.
Maxima: Linhas de comando
float(a);
>>> 82.01219330881976
8. Nesta versa˜o do Maxima, o acre´scimo numer fornece 16 digitos significativos, sendo que
o u´ltimo pode ser aproximado, e este nu´mero de dı´gitos e´ controlado pela varia´vel do
Maxima fpprec, cujo valor padra˜o e´ 16.
9. Para saber o nu´mero de dı´gitos que o Maxima esta´ operando, digite:
Maxima: Linhas de comando
fpprec;
>>> 16
10. O Maxima oferece alta precisa˜o de modo arbitra´rio com a func¸a˜o bfloat:
Maxima: Linhas de comando
bfloat(a);
>>> 8.201219330881975b1
11. Modificaremos o nu´mero de dı´gitos com fpprec, para que a saı´da tenha 50 dı´gitos:
Maxima: Linhas de comando
fpprec: 50;
>>> 50
12. Agora, solicitaremos o valor de a com o comando bfloat:
Maxima: Linhas de comando
bfloat(a);
>>> 8.20121933088197465622215531766414642333984375b1
13. Com estas alterac¸o˜es, obteremos nu´meros grandes exatos:
Maxima: Linhas de comando
40!;
>>> 815915283247897734345611269596115894272000000000
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
2.2 Ca´lculos de somas e produtos finitos e infinitos 20
2.2 Ca´lculos de somas e produtos finitos e infinitos
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. Um somato´rio finito dos 100 primeiros nu´meros naturais:
Maxima: Linhas de comando
sum(n, n, 1, 100);
>>> 5050
3. Somato´rios finitos dos quadrados e cubos dos 100 primeiros nu´meros naturais:
Maxima: Linhas de comando
sum(n^2, n, 1, 100);
>>> 338350
sum(n^3, n, 1, 100);
>>> 25502500
4. Um produto finito dos 20 primeiros nu´meros naturais:
Maxima: Linhas de comando
product(n, n, 1, 20);
>>> 2432902008176640000
5. Produtos finitos dos quadrados e cubos dos 20 primeiros nu´meros naturais:
Maxima: Linhas de comando
product(n^2, n, 1, 20);
>>> 5919012181389927685417441689600000000
product(n^3, n, 1, 20);
>>> 14400376622525549608547603031202889616850944000000000000
6. Fo´rmulas das somas finitas das poteˆncias unita´rias, quadra´ticas e cu´bicas dos n primeiros
nu´meros naturais:
Maxima: Linhas de comando
[sum(i,i,1,n), sum(i^2,i,1,n), sum(i^3,i,1,n)], simpsum=true;
[
n2+n
2
,
2n3+3n2+n
6
,
n4+2n3+n2
4
]
7. Um produto finito com fatores polinomiais tendo coeficientes simples:
Maxima: Linhas de comando
% Comenta´rio: simplify_products:true;
product(x+i, i, 1, 4);
>>> (x+1)(x+2)(x+3)(x+4)
8. Um produto finito com fatores polinomiais tendo coeficientes funcionais:
Maxima: Linhas de comando
product(x+i*(i+1)/2, i, 1, 4);
>>> (x+1)(x+3)(x+6)(x+10)
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
2.2 Ca´lculos de somas e produtos finitos e infinitos 21
9. Um produto finito sem simplificac¸a˜o:
Maxima: Linhas de comando
product(k, k, 1, n);
n
∏
k=1
k
10. O mesmo produto finito do item anterior com simplificac¸a˜o:
Maxima: Linhas de comando
product(k, k, 1, n), simpproduct;
>>> n!
11. Um produto finito mais complicado:
Maxima: Linhas de comando
product(integrate(x^k,x,0,1), k, 1, n);
n
∏
k=1
1
k+1
12. Um produto finito de poteˆncias condicionais:
Maxima: Linhas de comando
product(if k<=5 then a^k else b^k, k, 1, 10);
a1×a2×a3×a4×a5×b6×b7×b8×b9×b10 = a15 b40
13. Um somato´rio finito de 10 frac¸o˜es e´ realizado com:
Maxima: Linhas de comando
sum(1/(i*(i+1)), i, 1, 100);
14. Treˆs somas infinitas muito importantes:
Maxima: Linhas de comando
[A:sum(1/n^2,n,1,inf), B:sum(1/n^3,n,1,inf), C:sum(1/n^4,n,1,inf)];
[
∞
∑
n=1
1
n2
,
∞
∑
n=1
1
n3
,
∞
∑
n=1
1
n4
]
15. Tais se´ries convergem, e os valores das mesmas, sa˜o obtidas com a opc¸a˜o simpsum=true:
Maxima: Linhas de comando
[A, B, C], simpsum=true;
[
pi2
6
, ζ (3),
pi4
90
]
16. Tambe´m podemos adicionar somato´rios na˜o avaliados:
Maxima: Linhas de comando
A + B + C;
∞
∑
n=1
1
n2
+
∞
∑
n=1
1
n3
+
∞
∑
n=1
1
n4
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
lo
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
Sec¸a˜o 3 Ca´lculos alge´bricos 22
17. Podemos colocar todos os termos sob um mesmo sinal de soma com sumcontract:
Maxima: Linhas de comando
sumcontract(%);
∞
∑
n=1
1
n2
+
1
n3
+
1
n4
18. Agora vamos avaliar com a func¸a˜o ev (evaluation) esta soma
Maxima: Linhas de comando
ev(%,simpsum=true);
ζ (3)+
pi4
90
+
pi2
6
3 Ca´lculos alge´bricos
3.1 Expandindo, fatorando e substituindo
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. O Maxima e´ uma importante ferramenta computacional para realizar ca´lculos alge´bricos.
Vemos isto quando o Maxima manipula expresso˜es alge´bricas.
3. Aqui esta´ uma expressa˜o polinomial:
Maxima: Linhas de comando
(x + 3*y + x^2*y)^2;
(x2y+3y+ x)2
4. Vamos expandir esta u´ltima expressa˜o com:
Maxima: Linhas de comando
expand(%);
x4y2+6x2y2+9y2+2x3y+6xy+ x2
5. Vamos fatorar esta u´ltima expressa˜o com:
Maxima: Linhas de comando
factor(%);
(x2 y+3y+ x)2
6. Vamos expandir a u´ltima expressa˜o e substituir a varia´vel x pela frac¸a˜o 5/z:
Maxima: Linhas de comando
expand(%), x=5/z;
30y
z
+
150y2
z2
+
25
z2
+
250y
z3
+
625y2
z4
+9y2
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
3.2 Expresso˜es com nu´meros complexos 23
7. Utilizamos a func¸a˜o ratsimp (Simplificac¸a˜o racional) para colocar todos os termos sobre
um mesmo denominador:
Maxima: Linhas de comando
ratsimp(%);
9y2z4+30yz3+(150y2+25)z2+250yz+625y2
z4
8. Vamos fatorar esta u´ltima expressa˜o com a func¸a˜o factor:
Maxima: Linhas de comando
factor(%);
(3yz2+5z+25y)2
z4
3.2 Expresso˜es com nu´meros complexos
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. Definimos uma expressa˜o com nu´meros complexos como:
Maxima: Linhas de comando
w: 3 + k * %i;
>>> ik+3
3. A func¸a˜o realpart retorna a parte real de um complexo:
Maxima: Linhas de comando
realpart(w);
>>> 3
4. A func¸a˜o imagpart retorna a parte imagina´ria de um complexo:
Maxima: Linhas de comando
imagpart(w);
>>> k
5. Podemos obter uma poteˆncia de um complexo com expoente real:
Maxima: Linhas de comando
w^4;
(i k+3)4
6. Podemos expandir a u´ltima expressa˜o com:
Maxima: Linhas de comando
expand(%);
k4−12ik3−54k2+108ik+81
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
3.3 Resoluc¸a˜o de um sistema linear 24
7. Podemos multiplicar um complexo por uma exponencial do tipo e^u:
Maxima: Linhas de comando
w^2 * e^{%i * k + 3};
ei k+3 (i k+3)2
8. Podemos multiplicar um complexo por uma exponencial do tipo exp(u):
Maxima: Linhas de comando
w^2 * exp(%i * k + 3);
(i k+3)2 ei k+3
3.3 Resoluc¸a˜o de um sistema linear
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. O Maxima pode obter a soluc¸a˜o exata de um sistema linear. Criaremos um sistema de
equac¸o˜es lineares, com as equac¸o˜es indicados pelos nomes eq1, eq2 e eq3.
Maxima: Linhas de comando
eq1: 2*x + 3*y - 4*z = 1;
eq2: 7*x - 1*y - 3*z = 3;
eq3: 1*x + 1*y + 2*z = 5;
3. A func¸a˜o linsolve resolve o sistema linear, recebendo duas listas, a primeira com as
equac¸o˜es eq1, eq2 eq3 e a segunda com as varia´veis x,y,z.
Maxima: Linhas de comando
linsolve([eq1,eq2,eq3], [x,y,z]);
4. A resposta e´ uma lista em um par de colchetes [...] com a soluc¸a˜o do sistema:
[x=
94
81
, y=
103
81
, z=
104
81
]
5. Vamos estudar um outro exemplo.
Maxima: Linhas de comando
eq1: x + z = y;
eq2: 2*a*x - y = 2*a^2;
eq3: y - 2*z = 2;
6. Para gerar uma saı´da apropriada, usaremos uma varia´vel de controle sobre o processo de
soluc¸a˜o e o modo de programac¸a˜o:
Maxima: Linhas de comando
[globalsolve:false, programmode:true];
7. Agora podemos obter a resposta com:
Maxima: Linhas de comando
linsolve([eq1,eq2,eq3], [x,y,z]);
>>> [x=a+1, y=2a, z=a-1]
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
3.4 Resoluc¸a˜o de um sistema alge´brico na˜o linear 25
3.4 Resoluc¸a˜o de um sistema alge´brico na˜o linear
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. O Maxima pode resolver um sistema na˜o linear de equac¸o˜es alge´bricas, obtendo soluc¸o˜es
exatas. Criaremos um sistema de equac¸o˜es, em que as equac¸o˜es sa˜o indicadas pelas
varia´veis eq1, eq2 e eq3.
Maxima: Linhas de comando
eq1: x + y*z = 1;
eq2: y - x*z = 0;
eq3: x + y = 5;
3. A func¸a˜o solve que resolve o sistema, recebe uma lista com duas listas, a primeira com
as equac¸o˜es eq1, eq2 eq3 e a segunda com as varia´veis x,y,z.
Maxima: Linhas de comando
solve([eq1,eq2,eq3], [x,y,z]);
Soluc¸a˜o1 : [ [x=
25
√
79i+25
6
√
79i−34 ,y=
5
√
79i+5√
79i+11
,z=
√
79i+1
10
],
Soluc¸a˜o2 : [x=
25
√
79i−25
6
√
79i+34
,y=
5
√
79i−5√
79i−11 ,z=−
√
79i−1
10
] ]
4. A resposta e´ uma lista em dois colchetes [...] e cada colchete conte´m uma soluc¸a˜o distinta
para as equac¸o˜es simultaˆneas. Para simplificar nu´meros complexos com racionalizac¸a˜o, usamos:
Maxima: Linhas de comando
G: rectform(%);
[ [x=
11
4
−
√
79 i
4
,y=
√
79 i
4
+
9
4
,z=
√
79 i
10
+
1
10
],
[x=
√
79 i
4
+
11
4
,y=
9
4
−
√
79 i
4
,z=
1
10
−
√
79 i
10
] ]
3.5 Trabalhando com precisa˜o nas respostas
1. Para reduzir a precisa˜o nos ca´lculos para 3 dı´gitos, digite:
Maxima: Linhas de comando
fpprec:3; bfloat(G);
>>> [[x=2.75b0 -2.22b0 i, y=2.22b0 i +2.25b0, z=8.89b-1 i +1.0b-1],
[x=2.22b0 i +2.75b0, y=2.25b0 -2.22b0 i, z=1.0b-1-8.89b-1 i] ]
2. Simplificamos a u´ltima expressa˜o, com:
Maxima: Linhas de comando
ratsimp(%);
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
3.6 Zeros de polinomiais de uma varia´vel 26
[ [x=−364 i−451
164
,y=
364 i+369
164
,z=
80 i+9
90
],
[x=
364 i+451
164
,y=−364 i−369
164
,z=−80 i−9
90
] ]
3.6 Zeros de polinomiais de uma varia´vel
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. O Ca´lculo de zeros (raı´zes) exatos de polinomiais de uma varia´vel e´ um problema fechado
que aprendemos na escola, mas pode ser usado para dar exemplos de artifı´cios u´teis.
3. Seja uma func¸a˜o polinomial f=f(x) de grau 2, que atribuı´mos a` varia´vel poli:
Maxima: Linhas de comando
poli: x^2-x-12;
x2− x−12
4. Para calcular as raı´zes da equac¸a˜o polinomial f(x)=0, usamos a func¸a˜o solve:
Maxima: Linhas de comando
sol: solve(poli=0,x);
>>> [x=-3,x=4]
5. Agora vamos reconstruir a polinomial original, mostrando as duas partes da resposta sol:
Maxima:Linhas de comando
p1: part(sol,1);
>>> x=-3
p2: part(sol,2);
>>> x=4
6. Na parte p1 ha´ uma expressa˜o a` esquerda que pode ser obtida com a func¸a˜o lhs e uma
expressa˜o a` direita que pode ser obtida com a func¸a˜o rhs. Na parte p2 ha´ uma expressa˜o
a` esquerda que pode ser obtida com a func¸a˜o lhs e outra expressa˜o a` direita que pode ser
obtida com a func¸a˜o rhs.
Maxima: Linhas de comando
lhs(p1);
>>> x
rhs(p1);
>>> -3
lhs(p2);
>>> x
rhs(p2);
>>> 4
7. Os fatores fat1 e fat2 podem ser construı´dos como
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
3.6 Zeros de polinomiais de uma varia´vel 27
Maxima: Linhas de comando
fat1: lhs(p1)-rhs(p1);
>>> x+3
fat2: lhs(p2)-rhs(p2);
>>> x-4
8. Agora podemos obter a expressa˜o polinomial dada inicialmente:
Maxima: Linhas de comando
p: expand(fat1 * fat2);
x2− x−12
9. Uma outra forma de recuperar a expressa˜o original, realizando em diversos passos.
10. Primeiro reescrevemos as equac¸o˜es como termos, usando a func¸a˜o map do Maxima que
aplica uma certa func¸a˜o a todos os elementos de uma lista.
Maxima: Linhas de comando
Lista: map( lambda([eq],lhs(eq)-rhs(eq)), sol );
>>> [x+3,x-4]
11. Observac¸a˜o: A func¸a˜o usada para aplicar os elementos da lista e´ uma func¸a˜o especial do
Maxima, denominada lambda, e no nosso caso tem a forma:
Maxima: Linhas de comando
lambda( [eq], lhs(eq)-rhs(eq) )
12. Uma expressa˜o lambda inicia com o sı´mbolo lambda seguido por pareˆnteses. Dentro
dos pareˆnteses fica a lista de paraˆmetros formais escrita em colchetes e uma expressa˜o
alge´brica. Sabemos que uma expressa˜o sera´ atribuı´da ao paraˆmetro formal quando a func¸a˜o
for chamada. Subtraı´mos o lado direito do lado esquerdo para obter um fator.
13. Para verificar que tais termos sa˜o os fatores do polinoˆmio poli, multiplicamos estes fa-
tores, usando agora a func¸a˜o apply que aplica uma operac¸a˜o aritme´tica aos elementos de
uma lista. Para transformar uma lista de termos em um produto, aplicamos multiplicac¸a˜o
aos elementos daquela lista:
Maxima: Linhas de comando
apply("*", Lista);
>>> (x-4)(x+3)
14. Isso e´ um polinoˆmio na forma fatorada. Expansa˜o nos fornece o polinoˆmio inicial:
Maxima: Linhas de comando
expand(%);
x2− x−12
15. A func¸a˜o solve obte´m zeros de polinomial de uma varia´vel, pondo os zeros em uma lista
de equac¸o˜es. A func¸a˜o mapmapeia uma func¸a˜o para todos os elementos da lista e responde
com uma lista que serve para reescrever uma lista de equac¸o˜es como uma lista de termos.
A func¸a˜o apply aplica uma operac¸a˜o a todos os elementos de uma lista e responde com
um resultado simples e serve para multiplicar os elementos de uma lista.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
Sec¸a˜o 4 Elementos de A´lgebra Linear 28
4 Elementos de A´lgebra Linear
4.1 Listas no Maxima
1. Reiniciar o Maxima , limpando as func¸o˜es, varia´veis e expresso˜es da memo´ria do PC.
2. Criando duas listas com comprimentos diferentes:
Maxima: Linhas de comando
A: [10,20,30];
>>> [10,20,30]
B: [40,50,60,70,80,90];
>>> [40,50,60,70,80,90]
3. Exibindo o primeiro elemento da lista B
Maxima: Linhas de comando
B[1]
>>> 40
4. Anexando duas listas para formar uma terceira lista:
Maxima: Linhas de comando
C: append(A,B);
>>> [10,20,30,40,50,60,70,80,90]
5. Obtendo o comprimento de uma lista (nu´mero de elementos da lista):
Maxima: Linhas de comando
length(C);
>>> 9
6. Modificando o primeiro elemento da lista B
Maxima: Linhas de comando
B[1]: 15;
>>> 15
7. Mostrando a lista B ja´ modificada:
Maxima: Linhas de comando
B;
>>> [15,50,60,70,80,90]
4.2 Operac¸o˜es com vetores
1. Reiniciar o Maxima , limpando as func¸o˜es, varia´veis e expresso˜es da memo´ria do PC.
2. Para obter o oposto do vetor-linha u=(1,2,3), basta digitar
Maxima: Linhas de comando
u: [1,2,3]; -u
>>> [-1,-2,-3]
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
4.2 Operac¸o˜es com vetores 29
3. Para somar o vetor u como o seu oposto -u, basta digitar
Maxima: Linhas de comando
u + (-u)
>>> [0,0,0]
4. Para somar os vetores-linha (listas) u=(1,2,3) e v=(4,5,6), basta digitar:
Maxima: Linhas de comando
u: [1,2,3]; v: [4,5,6]; u+v;
>>> [1,2,3]
[4,5,6]
[5,7,9]
5. Multiplicamos o escalar k=5 pelo vetor-linha v=(1,2,3) com a operac¸a˜o *:
Maxima: Linhas de comando
k:5; v:[2,1,3]; k*v;
>>> 5
[2, 1, 3]
[10, 5, 15]
6. Para construir o conjunto {u,v,w} formado pelos vetores u=(1,2), v=(3,4) e w=(5,6), do
espac¸o R2, podemos digitar
Maxima: Linhas de comando
u:[1,2]; v:[3,4]; w:[5,6];
>>> [1, 2]
[3, 4]
[5, 6]
7. Criaremos uma combinac¸a˜o linear C de {u,v,w}, com os escalares x, y e z:
Maxima: Linhas de comando
C: x*u + y*v + z*w
>>> [5 z + 3 y + x, 6 z + 4 y + 2 x]
8. O sistema linear C e´ formado por 2 equac¸o˜es (combinac¸o˜es lineares) obtidas por:
Maxima: Linhas de comando
Eq1: C[1]; /* Primeira linha de C */
>>> 5 z + 3 y + x
Eq2: C[2]; /* Segunda linha de C */
>>> 6 z + 4 y + 2 x
9. Para resolver um sistema linear C nas treˆs varia´veis x,y,z, digitamos
Maxima: Linhas de comando
linsolve([Eq1,Eq2], [x,y,z]);
>>> [x = %r1, y = -2 %r1, z = %r1]
10. Pela resposta, as varia´veis x, y e z dependem de uma varia´vel gene´rica %r1, o que significa
que o conjunto {u,v,w} e´ linearmente dependente.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
4.2 Operac¸o˜es com vetores 30
11. Verificamos a dependeˆncia linear do conjunto {u,v,w} resolvendo o sistema linear nas
varia´veis x,y, (Em R2, existem no ma´ximo dois vetores LI) tomando:
Maxima: Linhas de comando
linsolve([Eq1,Eq2], [x,y]);
>>> [x = z, y = -2z]
12. Para construir um conjunto {u,v,w} formado pelos vetores u=(1,2,3), v=(4,5,6) e w=(7,8,1),
do espac¸o R3, digitamos
Maxima: Linhas de comando
u: [1,2,3]; v: [4,5,6]; w: [7,8,1];
13. Para verificar se o conjunto de vetores {u,v,w} e´ linearmente dependente, construı´mos o
sistema linear
Maxima: Linhas de comando
S: x*u + y*v + z*w
14. Resolvemos o sistema linear com a func¸a˜o linsolve, digitando
Maxima: Linhas de comando
linsolve([S[1],S[2],S[3]], [x,y,z]);
Pela resposta: [x= 0, y= 0, z= 0], o conjunto {u,v,w} e´ linearmente independente.
15. Para escrever o vetor m=(11,12,13) como combinac¸a˜o dos vetores do conjunto {u,v,w}
do item anterior, construı´mos um processo quase igual ao anterior. Como o conjunto
{u,v,w} ja´ esta´ na memo´ria do computador, basta inserir o vetor m:
Maxima: Linhas de comando
m: [11,12,13];
16. Para gerar z como combinac¸a˜o de {u,v,w}, construı´mos o sistema linear:
Maxima: Linhas de comando
S: x*u + y*v + z*w - m
17. Resolvemos o sistema linear, digitando
Maxima: Linhas de comando
linsolve([S[1],S[2],S[3]], [x,y,z]);
[x=−7
3
,y=
10
3
,z= 0]
Pela resposta acima, segue que
m=−7
3
u+
10
3
v+(0)w
18. Para escrever um vetor m=(a,b,c) como combinac¸a˜o de {u,v,w} do item anterior, repeti-
moso processo anterior, trocando o vetor (11,12,13) pelo vetor (a,b,c). Como {u,v,w}
ja´ esta´ na memo´ria do computador, basta inserir apenas o vetor:
Maxima: Linhas de comando
m: [a,b,c];
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
4.3 Principais operac¸o˜es com matrizes 31
19. Para escrever o vetor m como combinac¸a˜o linear dos vetores do conjunto {u,v,w}, con-
struı´mos o sistema linear S:
Maxima: Linhas de comando
S: x*u + y*v + z*w - m
20. Resolvemos o sistema linear, digitando:
Maxima: Linhas de comando
linsolve([S[1],S[2],S[3]], [x,y,z])
A resposta fornece
[x=−3c−38b+43a
24
,y=
3c−10b+11a
12
,z=−c−2b+a
8
]
significando que
m=−3c−38b+43a
24
u+
3c−10b+11a
12
v+
c−2b+a
8
w
Concluı´mos que o vetor m=(a,b,c) de R3 e´ combinac¸a˜o linear dos vetores do conjunto
{u,v,w}, que gera o espac¸o R3, logo, {u,v,w} e´ uma base para o espac¸o vetorial R3.
4.3 Principais operac¸o˜es com matrizes
1. Va´ ao menu Maxima e pressione Reiniciar Maxima , para limpar todas as func¸o˜es,
varia´veis e expresso˜es que estavam na memo´ria do computador.
2. O Teorema Fundamental de A´lgebra Linear garante que toda transformac¸a˜o
linear T esta´ associada a umamatriz M e reciprocamente, toda matriz M define uma transformac¸a˜o
linear. Com este teorema, podemos obter propriedades de transformac¸o˜es lineares pelas
propriedades das respectivas matrizes associadas.
3. OMaxima pode calcular: determinante, inversa, autovalores e autovetores de matrizes com
elementos simbo´licos (isto e´, elementos envolvendo varia´veis alge´bricas.)
4. Iniciaremos inserindo uma matriz com o nome m, elemento-a-elemento:
Maxima: Linhas de comando
m: entermatrix(2,2);
5. Apo´s pressionar Enter vemos na tela a seguinte pergunta:
Maxima: Linhas de comando
Is the matrix 1.Diagonal 2.Symmetric 3.Antisymmetric 4.General
Answer 1, 2, 3 or 4 :
6. Digite:
Maxima: Linhas de comando
4. General (Geral)
>>> 4
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
4.3 Principais operac¸o˜es com matrizes 32
7. O Maxima comec¸a a mostrar as posic¸o˜es das entradas para que voceˆ insira cada uma sep-
aradamente. Digite de acordo com o que esta´ indicado abaixo:
Maxima: Linhas de comando
Row 1 Column 1: (Linha 1 Coluna 1)
1
Row 1 Column 2: (Linha 1 Coluna 2)
a
Row 2 Column 1: (Linha 2 Coluna 1)
1
Row 2 Column 2: (Linha 2 Coluna 2)
b
Finalmente, voceˆ veˆ a mensagem Matrix entered e aparece a matriz completa:[
1 a
1 b
]
8. Outro modo de inserir esta matriz e´ acionar o menu A´lgebra, Introduzir matriz...,
para ver uma janela de dia´logo semelhante a
9. Pressione OK para ver uma janela, que pode ser preenchida da forma seguinte:
10. Pressionando OK , veremos algo como [
1 a
1 b
]
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
4.3 Principais operac¸o˜es com matrizes 33
11. A forma mais ra´pida de criar uma matriz A com 2 linhas e 2 colunas, e´ digitar:
Maxima: Linhas de comando
A: matrix([1,3],[7,5]); [
1 3
7 5
]
12. Podemos somar a matriz A com ela pro´pria, digitando
Maxima: Linhas de comando
A+A; [
2 6
14 10
]
13. Podemos multiplicar o escalar 2 pela matriz A, com:
Maxima: Linhas de comando
2*A;
para obter o mesmo resultado que antes:[
2 6
14 10
]
14. Digitando A^2, obtemos uma matriz 2x2 que e´ uma poteˆncia na˜o usual, sendo que cada
entrada de A esta´ ao quadrado da respectiva entrada de A.
Maxima: Linhas de comando
A^2; [
1 9
49 25
]
15. Digitando A*A, obtemos um produto elemento-a-elemento da matriz A, que e´ um produto
na˜o usual em A´lgebra Linear:
Maxima: Linhas de comando
A*A; [
1 9
49 25
]
16. O produto usual de matrizes, por exemplo, A×A e´ obtido, digitando:
Maxima: Linhas de comando
A.A; [
22 18
42 46
]
17. A mesma resposta que A.A; e´ obtida com a poteˆncia usual de matrizes, com o co´digo:
Maxima: Linhas de comando
A^^2;
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
4.3 Principais operac¸o˜es com matrizes 34
18. Podemos obter a transposta de uma matriz A, digitando:
Maxima: Linhas de comando
transpose(A); [
1 7
3 5
]
19. Obtemos agora o trac¸o de uma matriz A, digitando:
Maxima: Linhas de comando
mat_trace(A);
>>> 6
20. Obtemos agora a adjunta de uma matriz A, digitando:
Maxima: Linhas de comando
adjoint(A); [
5 −3
−7 1
]
21. Obtemos agora o determinante de uma matriz A, digitando:
Maxima: Linhas de comando
determinant(A);
>>> -16
22. Realizamos a divisa˜o da adjunta da matriz A pelo determinante da matriz A:
Maxima: Linhas de comando
adjoint(A)/determinant(A); −
5
16
3
16
7
16
− 1
16

23. Obtemos a inversa de uma matriz A, digitando:
Maxima: Linhas de comando
invert(A); −
5
16
3
16
7
16
− 1
16

o que significa que
A−1 =
adj(A)
det(A)
24. Vamos calcular de novo a adjunta de uma matriz A:
Maxima: Linhas de comando
adjoint(A); [
5 −3
−7 1
]
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
4.3 Principais operac¸o˜es com matrizes 35
25. Agora obteremos a inversa da matriz a, com o modificador detout:
Maxima: Linhas de comando
invert(A), detout;
−
[
5 −3
−7 1
]
16
26. A inversa parece uma frac¸a˜o, e o modificador detout (determinant out) informa que o
determinante no denominador (fora da inversa) e a adjunta no numerador.
27. Uma matriz alge´brica pode ser construı´da como um conjunto de listas nas linhas, como:
Maxima: Linhas de comando
M: matrix([a,b],[c,d]); [
a b
c d
]
28. Vamos construir uma matriz nume´rica:
Maxima: Linhas de comando
N: matrix([1],[2]); [
1
2
]
29. Realizamos o produto ponto (.) da matriz M pela matriz N. O nu´mero de linhas da matriz
M deve ser igual ao nu´mero de colunas da matriz N.
Maxima: Linhas de comando
M.N; [
2b+a
2d+ c
]
30. Selecionando a coluna 1 da matriz M
Maxima: Linhas de comando
col(M,1); [
a
c
]
31. Selecionando a coluna 2 da matriz M
Maxima: Linhas de comando
col(M,2); [
b
d
]
32. Selecionando a linha 2 da matriz M
Maxima: Linhas de comando
row(M,2);
>>> [ c d ]
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
4.3 Principais operac¸o˜es com matrizes 36
33. Obtendo a linha 1 da matriz M:
Maxima: Linhas de comando
M[1];
>>> [a, b]
34. Obtendo apenas a linha 2 da matriz M:
Maxima: Linhas de comando
M[2]
>>> [c, d]
35. Obtendo um elemento da matriz situado na linha 1 e na coluna 2 de M:
Maxima: Linhas de comando
M[1,2]
>>> b
36. Obtendo a matriz M2, usando o operador . para o produto usual de matrizes.
Maxima: Linhas de comando
M.M; [
bc+a2 bd+ab
cd+ac d2+bc]
37. A mesma resposta para M2, pode ser obtida com
Maxima: Linhas de comando
M^^2;
38. Verificac¸a˜o que M.M = M^^2:
Maxima: Linhas de comando
M.M - M^^2; [
0 0
0 0
]
39. Agora verificamos a igualdade com a func¸a˜o compare. Apo´s executar a linha de comando,
vemos o sinal de igualdade =, indicando que as matrizes comparadas sa˜o iguais.
Maxima: Linhas de comando
compare(M.M,M^^2);
>>> =
40. A inversa de uma matriz pode ser obtida por:
Maxima: Linhas de comando
M^^(-1);  dad−bc − bad−bc
− c
ad−bc
a
ad−bc

Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
4.3 Principais operac¸o˜es com matrizes 37
41. Multiplicando M por M^^(-1) e fazendo a simplificando racional:
Maxima: Linhas de comando
M.M^^(-1); ratsimp(%); [
1 0
0 1
]
42. Podemos obter os Autovalores e Autovetores de uma matriz pelo processo usualmente
tratado em uma aula de A´lgebra Linear. Seja a matriz
Maxima: Linhas de comando
M: matrix([1,2,3],[4,5,6],[7,8,9])
43. Podemos construir uma matriz da forma
Maxima: Linhas de comando
M - z * ident(3); 1− z 2 34 5− z 6
7 8 9− z

44. O polinoˆmio caracterı´stico da matriz M na varia´vel z, e´ dado por:
Maxima: Linhas de comando
determinant(%);
>>> ((5-z)(9-z)-48)(1-z)-2(4(9-z)-42)+3(32-7(5-z))
45. Obtemos a equac¸a˜o caracterı´stica com o comando
Maxima: Linhas de comando
ratsimp(%);
−z3+15z2+18z
46. Resolvemos esta u´ltima equac¸a˜o na varia´vel z, digitando:
Maxima: Linhas de comando
solve(%, [z]);
47. Obtemos assim os autovalores de M:
[z=−3
√
33−15
2
, z=
3
√
33+15
2
, z= 0]
48. O Maxima possui func¸o˜es para obter autovalores, autovetores, equac¸o˜es e polinoˆmios car-
acterı´sticos. A func¸a˜o charpoly(M,x) gera o polinoˆmio caracterı´stico da matriz M na
varia´vel x, definido por p(x)=determinant(M-diagmatrix(length(M),x)).
49. Vamos considerar uma matriz M como:
Maxima: Linhas de comando
M: matrix([3,1],[2,4]); [
3 1
2 4
]
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
4.3 Principais operac¸o˜es com matrizes 38
50. O comando abaixo desenvolve a expressa˜o polinomial e simplifica a mesma.
Maxima: Linhas de comando
expand(charpoly(M,x));
x2−7x+10
51. Usamos agora o modo de programac¸a˜o para resolver a u´ltima equac¸a˜o:
Maxima: Linhas de comando
(programmode:true, solve(%));
>>> [x=5, x=2]
52. Criamos enta˜o um vetor gene´rico Y que servira´ para gerar os autovetores:
Maxima: Linhas de comando
Y: matrix([a],[b]); [
a
b
]
53. Avaliamos a equac¸a˜o caracterı´stica para obter as duas equac¸o˜es do sistema linear
Maxima: Linhas de comando
ev(M.Y-x*Y, %th(2)[1]); [
b−2a
2a−b
]
54. Tomamos agora a expressa˜o localizada na primeira linha e na primeira coluna da u´ltima da
u´ltima expressa˜o obtida anteriormente:
Maxima: Linhas de comando
%[1,1] = 0;
>>> b-2a = 0
55. Na sequ¨eˆncia, usaremos a restric¸a˜o a2+b2 = 1 para garantir que os autovetores v= (a,b)
(vetores pro´prios de M) sejam unita´rios, isto e´, |v|= |(a,b)|= 1.
Maxima: Linhas de comando
a^2 + b^2 = 1;
solve([%th(2),%], [a,b]);
[ [a=− 1√
5
, b=− 2√
5
] , [ a=
1√
5
, b=
2√
5
] ]
56. O modo fa´cil de obter os autovalores da matriz A e´ usar a func¸a˜o eigenvalues:
Maxima: Linhas de comando
eigenvalues(A);
>>> [ [-2,8], [1,1] ]
Lista1:[-2,8]
(a) O primeiro valor da Lista1 e´ -2 que e´ primeiro autovalor
(b) O segundo valor da Lista1 e´ 8 que e´ o segundo autovalor.
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
a
x
i
m
a
n
o
C
a´
l
c
u
l
o
-
X
X
V
S
e
m
a
n
a
d
a
M
a
t
e
m
a´
t
i
c
a
-
2
0
0
9
-
U
E
L
4.3 Principais operac¸o˜es com matrizes 39
Lista2:[1,1]
(a) O primeiro valor da Lista2 e´ 1 = multiplicidade do autovalor -2
(b) O segundo valor da Lista2 e´ 1 = multiplicidade do autovalor 8
57. A expressa˜o P: copymatrix(M) gera uma co´pia da matriz M com o nome P. Este e´ o
u´nico modo para gerar uma copia separada da matriz M elemento a elemento.
58. Ao realizar atribuic¸o˜es de uma matriz para outra, como em m2:m1, na˜o copiamos m1.
Atribuic¸o˜es como m2[i,j]:x ou setelmx(x,i,j,m2) modificam m1[i,j].
59. Obtemos os autovetores da matriz A, com a func¸a˜o eigenvectors:
Maxima: Linhas de comando
eigenvectors(A);
>>> [ [ [-2,8], [1,1] ], [1,-1], [1,7/3] ]
Lista1:[-2,8]
(a) O primeiro valor da Lista1: -2 e´ primeiro autovalor
(b) O segundo valor da Lista1: 8 e´ o segundo autovalor
Lista2:[1,1]
(a) O primeiro valor da Lista2: 1 e´ a multiplicidade do autovalor -2
(b) O segundo valor da Lista2: 1 e´ a multiplicidade do autovalor 8
Lista3:[1,-1] e´ o autovetor associado ao autovalor -2.
Lista4:[1,7/3] e´ o autovetor associado ao autovalor 8.
60. Vamos inserir as matrizes A e B de mesma ordem, digitando:
Maxima: Linhas de comando
A: matrix([1,3],[ 7,5]); [
1 3
7 5
]
Maxima: Linhas de comando
B: matrix([8,2],[-4,3]); [
8 2
−4 3
]
61. Podemos somar as matrizes A e B, digitando:
Maxima: Linhas de comando
A+B; [
9 5
3 8
]
62. Podemos multiplicar as matrizes A e B, digitando:
Maxima: Linhas de comando
A.B; [−4 11
36 29
]
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
4.3 Principais operac¸o˜es com matrizes 40
63. Vamos construir a matriz M, digitando:
Maxima: Linhas de comando
M: matrix([1,2,3],[4,5,6],[7,8,1]);
64. O posto da matriz M pode ser obtido com a func¸a˜o rank:
Maxima: Linhas de comando
rank(M)
>>> 3
A matriz M tem posto ma´ximo em R3, isto e´, o conjunto das linhas de M e´ LI, ou seja, os
vetores-linhas da matriz M formam uma base para o espac¸o vetorial R3.
65. Vamos mudar agora a matriz M, para algo como:
Maxima: Linhas de comando
M: matrix([1,2,3],[4,5,6],[7,8,9]);
66. O posto desta matriz M pode ser obtido com:
Maxima: Linhas de comando
rank(M)
>>> 2
Esta matriz na˜o tem posto ma´ximo em R3, isto e´, o conjunto formado pelas linhas da matriz
M e´ LD (linearmente dependente), isto e´, os vetores-linhas n~ao formam uma base para o
espac¸o vetorial R3.
67. Obtemos o subespac¸o Imagem da transformac¸a˜o linear associada a` matriz M, com:
Maxima: Linhas de comando
M: matrix([1,2,3],[4,5,6],[7,8,9]);
columnspace(M)
Obtemos o subespac¸o gerado pelos vetores-coluna do conjunto {v1,v2,v3} que e´ uma
base para o espac¸o coluna de M.
span
14
7
 ,
25
8

O subespac¸o Imagem da transformac¸a˜o T e´ gerado pelos vetores-coluna (1,4,7) e (2,5,8).
68. Para obter o subespac¸o gerado pelo nu´cleo de uma matriz M, digite:
Maxima: Linhas de comando
M: matrix([1,2,3],[4,5,6],[7,8,9]);
nullspace(M);
span
 1−2
1

O Nu´cleo da transformac¸a˜o linear associada a M e´ a reta gerada pelo vetor (1,-2,1).
Ulysses Sodre´, Giovana Alves, Isabela Belansson, Andrielber S. Oliveira, Soˆnia F. L. Toffoli
M
ax
im
a
no
C
a´l
cu
lo
-X
X
V
Se
m
an
a
da
M
at
em
a´t
ic
a
-2
00
9
-U
E
L
4.3 Principais operac¸o˜es com matrizes 41
69. Exercı´cio: Para cada item, digite o co´digo Maxima que gera o resultado indicado:
(a) Definir uma matriz M com 3 linhas e 3
colunas, para obter
M =
5 4 50 5 6
0 0 3

(b) Realizar a soma da matriz M com a

Continue navegando