MAXIMA: UM COMPLETO PROGRAMA DE COMPUTAÇÃO ALGÉBRICA

 

Lenimar Nunes de Andrade
UFPB – João Pessoa

 

Introdução

Maxima é um programa que executa cálculos numéricos e simbólicos, em desenvolvimento desde 1969. Seu nome original era Macsyma e foi elaborado nos laboratórios do MIT, nos Estados Unidos, com financiamento de várias agências governamentais norte-americanas.

É capaz de simplificar expressões algébricas e trigonométricas, efetuar cálculos com matrizes e com números complexos, construir diversos tipos de gráficos, fatorar polinômios, resolver diversos tipos de equações e sistemas, etc.

Trata-se de um programa livre e com manual em português. Pode ser copiado, utilizado e distribuído gratuitamente. Isso faz com que o Maxima seja uma excelente ferramenta pedagógica, facilmente acessível a todos.

É considerado um Sistema de Computação Algébrica de uso geral, podendo ser usado nos sistemas operacionais Windows, Linux e Mac-OS.

 

Interface wxMaxima

São várias as formas pelas quais o Maxima comunica-se com o usuário. Neste artigo, citamos apenas a interface denominada wxMaxima, que é bastante amigável, intuitiva e fácil de usar.

Podemos digitar os comandos para o Maxima linha por linha, e observar as respostas dadas pelo programa. Para isso, seguimos as seguintes regras:

Os comandos vão sendo digitados ao lado de (%i1), (%i2), (%i3), etc. e o Maxima vai dando suas respostas ao lado de (%o1), (%o2), (%o3), etc.
A linha de comando deve ser encerrada com um ponto e vírgula ou com um cifrão. Se for encerrada com um ponto e vírgula, o resultado obtido é mostrado imediatamente. Se for encerrada com um cifrão, o resultado não será mostrado de imediato, ficando guardado internamente.
Pressionando-se a tecla [Enter] ou a combinação de teclas [Shift]-[Enter] ou [Ctrl]-[Enter], a linha de comandos é executada.

As operações aritméticas básicas são indicadas pelos símbolos +, –, * (multiplicação), / (divisão) e ^ (potenciação).
A raiz quadrada de x é indicada por sqrt(x), o logaritmo natural de x é log(x), as funções trigonométricas são sin(x); cos(x); tan(x); sec(x); cot(x); csc(x) e as trigonométricas inversas são asin(x); acos(x); atan(x):
Uma variável pode ter seu nome formado por uma única letra como x, y, z, ... ou ter um nome longo onde apareçam várias letras, algarismos e caracter de sublinhado como em expr1; expr2; result_1; result_2; ...
Podemos atribuir valor a qualquer variável digitando o seu nome seguido de dois-pontos e do valor da variável como em x : 2; y : 4; z : –1 ...
O último resultado calculado pode ser referenciado por um símbolo de porcentagem (%).
As constantes matemáticas p = 3,14159..., e = 2,71828..., i = são representadas por %pi, %e e %i, respectivamente.
Usamos o comando float(x) para obtermos a representação decimal de x.
Uma função pode ser definida utilizando-se um :=, como no exemplo f (x) := cos(x) + x/5 – 3.

Algumas vezes, em vez de digitar linhas de comando, pode-se escolher uma janela no menu principal e usá-la exclusivamente para digitação do comando. O menu principal aparece no topo da tela: “Arquivo Editar Célula Maxima Equações Álgebra...”.

A seguir, alguns exemplos de comandos digitados no Maxima, bem como suas respectivas respostas. Calculamos 30 × 50 + 8 × 10, fatoramos o resultado em produto de potências de primos, calculamos a = , b = , a + b, x = log(cos() sen()) e a sua representação decimal.

(%i1) 30*50 + 8*10;

(%o1) 1580

(%i2) factor (%);

(%o2) 22 5 79

(%i3) a: sqrt(49)$    b: sqrt(81)/6$    a + b;

(%o3)

(%i4) x: log(cos(%pi/6) + sin(%pi/4)); float(x);

(%o4) log()

(%o5) 0.45306865422064

Outros exemplos podem ser encontrados nas referências [1], [2], [3] ou nas telas de ajuda do próprio programa.

 

Simplificação e desenvolvimento de expressões

Expressões algébricas podem ser simplificadas com o comando ratsimp(...) e desenvolvidas com um comando expand(...). Se houver alguma função trigonométrica envolvida, então a expressão pode ser simplificada com um trigsimp(...) e ser desenvolvida com um trigexpand(...):

(%i6) ex1: a^3/((ab)*(ac)) + b^3/((bc)*(ba)) + c^3/((ca)*(cb));

(%o6)

(%i7) ratsimp(ex1);

(%o7) c + b + a

(%i8) ex2: ((3*x^2+4*x+1)^2–(3*x^2+10*x+1)^2)/((3*x^2+11*x+1)^2–(3*x^2+3*+1)^2);

(%o8)

(%i9) ratsimp(ex2);

(%o9)

(%i10) y: (sin(x)^3 – cos(x)^3)/(sin(x) – cos(x));

(%o10)

(%i11) trigsimp(y);

(%o11) cos(x) sin(x) + 1

 

Operações com polinômios

Diversas operações com polinômios podem ser efetuadas com o Maxima. A fatoração é realizada com um comando factor(...), o máximo divisor comum entre f e g é feita com um gcd(f, g) e a divisão com um divide(f, g). O resultado da divisão é apresentado no formato [q, r], onde q é o quociente e r é o resto da divisão.

Neste exemplo, definimos os polinômios f = x4 + 2x3 – 4x2 – 5x – 84 e g = (x + 4)(x2 + x + 7)2, fatoramos e calculamos o MDC entre eles. Por fim, dividimos f por x2 + 3x + 7.

(%i12) f: x^4 + 2*x^3 – 4*x^2 – 5*x – 84;

(%o12) x4 + 2x3 – 4x2 – 5x – 84

(%i13) factor(%);

(%i13) (x – 3)(x + 4)(x2 + x + 7)

(%i14) g: expand((x + 4)*(x^2 + x + 7)^2);

(%o14) x5 + 6x4 + 23x3 + 74x2 + 105x + 196

(%i15) factor(%);

(%o15) (x + 4)(x2 + x + 7)2

(%i16) gcd(f, g);

(%o16) x3 + 5x2 + 11x + 28

(%i17) divide(f, x^2 + 3*x + 7);

(%i17) [x2x – 8, 26x – 28]

 

Equações e sistemas

Uma equação pode ser resolvida com um comando solve(equação, variável). Podemos digitar uma linha de comando ou fornecer a equação em uma janela exclusiva para entrada de equações. Para obter essa janela de equações, escolhemos no menu principal do programa a opção “Equações” e depois escolhemos “Resolver ...”. Resolvemos a equação x4 – 5x2 + 6 = 0.

(%i18) solve(x^4 – 5*x^2 + 6 = 0, x);

(%018) [x = – , x = , x = , x = ]

Um sistema pode ser resolvido da mesma forma que uma equação, bastando colocar as equações e as variáveis entre colchetes. Resolvemos o sistema linear formado pelas equações 3x + 4y = 2 e 2x y = 3.

(%i19) solve([3*x + 4*y = 2, 2*x – y = 3], [x, y]);

(%o19) [[x = , y = ]]

 

De onde copiar

O Maxima tem sua própria página na Internet, no endereço

http://maxima.sourceforge.net/download.html

É denominada Maxima, a Computer Algebra System e a partir dela pode-se copiar o programa (cerca de 30 megabytes), além da sua documentação em diversos idiomas.

 

 

Referências

[1] Galván, J. R. R. Maxima con wxMaxima: software libre en el aula de matemáticas. Oficina de       Software Libre de la Universidad de Cádiz. Disponível em                                                             http://maxima.sourceforge.net/documentation.html

[2] Gómez, A. J. A. e outros. Prácticas de Matemáticas con Maxima. Disponível em       http://recursos.pnte.cfnavarra.es/~msadaall/geogebra/index.htm

[3] Riotorto, M. R. Primeros pasos en Maxima. Disponível em       http://www.telefonica.net/web2/biomates