Você está na página 1de 7

Aritmtica com Maple:

Captulo 4:
Objetivos:
1. Realizar operaes bsicas de nmeros complexos com o Maple
2. Realizar operaes com razes usando o Maple
3. Arredondamento de nmeros reais

Partes real e imaginria de um nmero complexo


O procedimento evalc converte um nmero complexo na forma
, onde a e b so nmeros reais ,
caso estas variveis possam ser assumidas como nmero real . O mesmo procedimento pode ser usado
para pegar as partes reais e imaginrias de uma expresso complexa , separando-a como segue :
> restart;
> a+b*I;
> evalc(Re(%) );evalc(Im(%%) );
> (-3)^(1/4)*exp(a*I);
> evalc(Re(%) );evalc(Im(%%) );

Neste ltimo clculo, o Maple assume, novamente, que a real . Lembrando :


O procedimento evalc supe que todos os nomes no-atribudos so real .

Argumentos e valores absolutos para um nmero complexo


O valor absoluto e o argumento de um nmero complexo (diferente de zero) , podem ser achados para
separar os procedimentos abs e argument :
> abs(I^(5/3));
> argument(I^(5/3));

Converso para coordenadas polares executada atravs de convert( , polar) :


> convert(I^(5/3),polar);

A norma para converso com a notao complexa efetuada pelo evalc :


> evalc(%);

Dado um nmero complexo na forma padro,


, este pode ser conjugado atravs de conjugate .
No se pode aplicar este procedimento para objetos que no estejam na forma padro. Se esta for a
situao, aplique primeiramente o comando evalc , que trar o nmero complexo para sua forma
padro. A ento, pode-se aplicar conjugate .
> conjugate(evalc(I^(5/3)));

Se voc no aplicar evalc primeiro. conjugate pode no funcionar.


> conjugate (I^(5/3));

( Em outras verses , conjugate sem evalc retornava resultados errados ) .

O sinal de um real ou de um nmero complexo


O procedimento signum padro no Maple para testar se um nmero real, positivo ou negativo : este

procedimento retorna 1 se for positivo e -1 se o nmero for negativo .


> signum(Pi-sqrt(10));
> signum(sqrt(10)-Pi);
> signum(0);

Geralmente se signum aplicado em uma expresso que pode ser zero para alguns valores especiais e
indeterminados, o Maple ignora esta possibilidade. Por exemplo :
> signum(abs(x)),signum(-abs(x));

A este valor incorreto pode ser atribudo um valor especial de uma varivel mais rgida do Maple como
Envisigum0 ou com um argumento extra . Para maiores detalhes sobre Envisignum0 , veja o help on
line sobre signum .
O procedimento signum pode ser aplicado para nmeros complexos : signum(x) definido como

se

, e 0 se

No confunda signum com sign : este ltimo definido como o sinal do primeiro coeficiente de um
polinmio com coeficientes reais . Em alguns casos os resultados so os mesmos, mas em muitos
outros no.
Para nmeros complexos voc tambm pode usar csgn , retornando 1 , se o Maple puder determinar
que no verdade na metade direita do plano , e retornando -1 , se o Maple souber que no verdade na
metade esquerda do plano.

Manipulando produtos e quocientes de radicais


Produtos e quocientes de radicais podem ser combinados utilizando o procedimento combine .
> sqrt(10-sqrt(7))*sqrt(10+sqrt(7));
> combine(%);

Para quocientes de expresses racionais , voc pode usar o procedimento rationalize , com ele voc
remove os radicais do denominador . Este procedimento deve ser lido de uma biblioteca antes de ser
usado.

> (1+sqrt(3))/(2+sqrt(3)-sqrt(-5));
> ### WARNING: persistent store makes one-argument readlib obsolete
readlib(rationalize)(%);
> evalc(%);

Este ltimo passo tambm pode ser executado pelo comando expand .

Radicais entrelaados e razes de nmeros complexos


Uma ferramenta geral para radicais entrelaados (expresses de razes que contm outras razes ) o
comando radnormal , que deve ser lido da biblioteca antes de ser usado .
> ### WARNING: persistent store makes one-argument readlib obsolete
readlib(radnormal);
> sqrt(sqrt(2)+I*(-sqrt(3)-sqrt(6)));
> radnormal(%);

Em alguns casos especiais as razes de um nmero complexo no podem ser simplificadas desta forma,
mas podem ser simplificadas pela converso para polar e posterior , onde o Maple pode usar artifcios
trigonomtricos . Por exemplo, vamos simplificar
:

. Primeiro vamos manipular

> 1+sqrt(-5);
> convert(%,polar);

Agora pegamos a raz quadrada e aplicamos evalc :


> sqrt(%);
> evalc(%);

Ocasionalmente , torna-se necessrio combinar ambos os mtodos, ligando o ltimo com o primeiro e
aplicando radnormal e/ou rationalize mais tarde.

O procedimento radnormal pode ser usado com outras razes, alm de raz quadrada. Veja um exemplo :
> (a*(sqrt(2)-1)^3);
> expand(%);
> root[3](%);

Antes de usar radnormal , pode proceder uma ao que o obriga ser isolado . Para este propsito, ns
utilizamos o comando simplify( , power) duas vezes .
> simplify(%,power);
> simplify(%,power);

Agora , o comando radnormal pode ser usado para esta tarefa :


> radnormal(%);

Substituindo expresses com radicais em um polinmio


Expresses contendo radicais e nmeros complexos, muitas vezes so originrias de solues de
equaes polinomiais . Por exemplo :
> restart;
> equa:=2*x^3-3*x^2-12*x+5=0;
> solutions:=solve(equa,x);

O Maple totalmente confivel em solucionar uma equao polinomial semelhante a esta, mas ns
checaremos uma de suas solues como uma demonstrao de manipulao mais complicada com
radicais. Vamos substituir a primeira soluo :
> subs(x=solutions[1],equa);

O primeiro passo na simplificao do mesmo, como voc provavelmente calcularia manualmente : as


potncias e multiplicaes obrigatriamente so aperfeioadas ; estas podem ser conseguidas com o
procedimento expand . No use com o simplify .
.

> expand(%);

A ltima expresso pode ser manipulada por " normal " , " evalc " ou por " simplify " .

Deste trs , o comando mais poderoso para simplificao natural de potncias de expressses com
radicais o procedimento simplify sem as opes. Em muitos outros casos, as outras duas so
recomendadas .
> simplify(%);

As outras duas solues podem ser checadas da mesma forma .

Convertendo pontos flutuantes de nmeros racionais .


Quando uma expresso processada , ela contm nmeros com pontos flutuantes, mas algoritmos
numricos no deveriam ser usados, estes nmeros deveriam ser convertidos para nmeros racionais
primeiro pelo comando convert( ,rational) ou convert( ,rational, exact)
> 0.3333333333333333*x-0.34567;
> convert(%,rational,exact);

Na segunda opo, exact omitido, o Maple retorna um nmero racional , cuja aproximao fixa um
ponto flutuante, onde a exatido desta aproximao controlada pelo valor de " Digits ", que
inicialmente 10.
> convert(%%,rational);

Este procedimento pode ser aplicado em polinmios, bem como para converter pontos flutuantes dos
coefiecientes.

Arredondamento de nmeros racionais para inteiros


Nmeros reais podem ser arredondados para inteiros atravs de alguns procedimentos : trunc ,
round, floor , e ceil . O procedimento round retorna o valor mais prximo de um inteiro :
> round(sqrt(5)),round(sqrt(8)),round(-sqrt(8));

>
> trunc(sqrt(8)),trunc(-sqrt(8));

Os procedimentos floor e ceil fazem exatamente como os prprios nomes sugerem:


> floor(sqrt(8)),floor(-sqrt(8));
> ceil(sqrt(8)),ceil(-sqrt(8));

Alm disso , uma parte fracionria pode ser calculada pelo comando frac :
> frac(37/8),frac(sqrt(8));

onde

Você também pode gostar