A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Tutorial PARI/GP (I)

Sex

22

Abr

2005


13:12

(6 votos, média 4.67 de 5) 


  • Saudações!

Imagino que você já tenha instalado seu PARI/GP, que ele já esteja rodando e que a tela mostre gp

Experimente digitar 2 + 2, seguido de [ENTER]. O resultado não é nada além do esperado: deve aparecer %1 = 4, indicando que sua operação número 1 resultou em 4. Caso você tenha o hábito de digitar ponto e vírgula após os comandos, ou seja, "2 + 2;", o resultado é decepcionante: não aparece nada. Isto é porque a GP interpreta o ponto e vírgula como um comando para NÃO imprimir e o resultado é armazenado apenas na história da sessão. Experimente outras operações básicas, como subtração, multiplicação e divisão. A GP se comporta como uma calculadora, só que muito mais rápida!

Peraí! Na divisão, a GP parece estar brincando. Se digitamos 1/7, ela responde 1/7. Se digitamos 1/3, ela responde 1/3. O que é isto? É que a GP, calibrada para trabalhar com números inteiros, sempre tenta responder com o resultado mais preciso possível e o resultado mais preciso de 1/7 é 1/7 wink2 Caso você queira a expansão desta divisão, experimente digitar 1./7, 1/7., 1./7. ou 0. + 1/7. Neste caso, a maioria das máquinas devolve um valor fracionário de 28 casas (algumas dão 38 casas), ou seja, 0.142857... Neste caso, o ponto após qualquer um dos valores indica que são números reais imprecisos e a GP não se sente obrigada a responder com o valor mais exato.

:( Este negócio está ficando chato. Você deve estar pensando "Quer dizer que eu entupi meu HD com alguns mega de software só pra fazer umas continhas?". Se quiser desistir, então digite \q para sair do programa. Se achar que vale a pena continuar, experimente digitar exp(1). Melhor ainda, digite log(exp(1)).

Bem, se você chegou até aqui, é sinal de que está gostando do tutorial. Então está na hora de experimentar algumas novidades. Digite pi. O que? A resposta foi "pi" ao invés de 3.1415... Então pergunte o que está acontecendo com ?pi. A GP responde com "pi: user defined variable", ou seja, está mais perdida do que nós e informa que pi é uma variável definida pelo usuário. Tente digitar Pi (desta vez, com letra maiúscula). Ooooba, agora sim. Recebemos como resposta o valor de Pi com a precisão que nosso equipamento permite. Se perguntarmos ?Pi, a resposta vem rapidinho "Pi=Pi(): the constant Pi with current precision".

A coisa está ficando quente... digite exp(Pi * sqrt(163)). Hmmmm, este monte de zeros depois da vírgula e um 1 no fim não está com cara de ser um inteiro. É chegada a hora de mexer com a precisão. Digite \p 50 e depois repita a pergunta exp(Pi * sqrt(163)). Ahá! Aquele monte de zeros se transformou numa porção de noves e mais alguma coisa mostrando que o resultado não era mesmo um número inteiro.

A GP lida com casas decimais tão bem quanto com dígitos de números inteiros. Experimente calcular 1000!. Apesar da resposta do fatorial de 1000 ser um baita de um inteiro, ela aparece rapidinho na tela.

Agora seria bom voltar para a precisão de 28 dígitos, ou seja, dar o comando \p 28. Digite exp(75) e note que a GP mostra o resultado na notação científica 3.7332419667990011640254908317 E32. Pelo jeito, a precisão não está permitindo que o resultado seja mostrado com todos os números. Então é fácil. Digitamos, por exemplo, \p 40 e depois chamamos a última operação efetuada com % ou %número da operação. Ué, não mudou nada? É que a operação foi efetuada com precisão 28 e a GP não se esquece disso. Como agora estamos trabalhando com uma precisão de 40, é preciso repetir a operação para ver que exp(75) fornece 3733241966799001164025490831726470.0143428

Será que precisamos guardar de cabeça a precisão com a qual estamos trabalhando? Nada disso! Digite apenas \p e a GP devolve a informação. Além desta variável interna, a GP possui uma porção de outras. Digite default para obter a lista do que pode ser alterado de acordo com a conveniência do momento.

Informações adicionais