|
|
86f823b |
# HG changeset patch
|
|
|
86f823b |
# User Gustavo de Oliveira <goliveira5d@gmail.com>
|
|
|
86f823b |
# Date 1336320704 -7200
|
|
|
86f823b |
# Node ID f35ca5dd36d8ccfeba96947e9e10402f6e6ed79b
|
|
|
86f823b |
# Parent ad8e41651a3187a45f087335cb048418bf545506
|
|
|
86f823b |
Trac 12822: Portuguese translation of "Tutorial" (revision 1).
|
|
|
86f823b |
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/interactive_shell.rst b/doc/pt/tutorial/interactive_shell.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/interactive_shell.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/interactive_shell.rst
|
|
|
86f823b |
@@ -361,8 +361,8 @@
|
|
|
86f823b |
|
|
|
86f823b |
Note que o GAP e o Maxima são os mais lentos neste teste (isso foi
|
|
|
86f823b |
executado no computador ``sage.math.washington.edu``). Devido ao
|
|
|
86f823b |
-"overhead" da interface pexpect, talvez não seja apropriado comparar
|
|
|
86f823b |
-esses resultados com o Sage, que é o mais rápido.
|
|
|
86f823b |
+processamento extra (overhead) da interface pexpect, talvez não seja
|
|
|
86f823b |
+apropriado comparar esses resultados com o Sage, que é o mais rápido.
|
|
|
86f823b |
|
|
|
86f823b |
Outras Dicas para o IPython
|
|
|
86f823b |
===========================
|
|
|
86f823b |
@@ -402,7 +402,7 @@
|
|
|
86f823b |
|
|
|
86f823b |
- Você pode usar ``%edit`` (ou ``%ed`` ou ``ed``) para abrir um
|
|
|
86f823b |
editor, se você desejar digitar algum código mais complexo. Antes de
|
|
|
86f823b |
- iniciar o Sage, certifique-se de que a variável de environment
|
|
|
86f823b |
+ iniciar o Sage, certifique-se de que a variável de ambiente
|
|
|
86f823b |
:envvar:`EDITOR` está definida com o seu editor favorito (colocando
|
|
|
86f823b |
``export EDITOR=/usr/bin/emacs`` ou ``export EDITOR=/usr/bin/vim``
|
|
|
86f823b |
or algo similar no lugar apropriado, como um arquivo ``.profile``).
|
|
|
86f823b |
@@ -789,7 +789,7 @@
|
|
|
86f823b |
sage: v = E.anlist(100000) # instant!
|
|
|
86f823b |
|
|
|
86f823b |
(Em Python, salvar e restaurar é feito usando o módulo ``cPickle``. Em
|
|
|
86f823b |
-particular, um objeto ``x`` do Sage pode ser salvado usando
|
|
|
86f823b |
+particular, um objeto ``x`` do Sage pode ser salvo usando
|
|
|
86f823b |
``cPickle.dumps(x, 2)``. Note o ``2``!)
|
|
|
86f823b |
|
|
|
86f823b |
O sage não pode salvar e carregar objetos criados em algum outro
|
|
|
86f823b |
@@ -811,7 +811,7 @@
|
|
|
86f823b |
ValueError: The session in which this object was defined is no longer
|
|
|
86f823b |
running.
|
|
|
86f823b |
|
|
|
86f823b |
-Objetos do GP/PARI também podem ser salvados e carregados pois suas
|
|
|
86f823b |
+Objetos do GP/PARI também podem ser salvos e carregados pois suas
|
|
|
86f823b |
representações em forma impressa são suficientes para reconstruí-los.
|
|
|
86f823b |
|
|
|
86f823b |
.. skip
|
|
|
86f823b |
@@ -823,7 +823,7 @@
|
|
|
86f823b |
sage: load('a')
|
|
|
86f823b |
2
|
|
|
86f823b |
|
|
|
86f823b |
-Objetos que foram salvados podem ser abertos posteriormente em
|
|
|
86f823b |
+Objetos que foram salvos podem ser abertos posteriormente em
|
|
|
86f823b |
computadores com arquiteturas e sistemas operacionais diferentes, por
|
|
|
86f823b |
exemplo, você poderia salvar uma matriz muito grande em um OS X de
|
|
|
86f823b |
32-bits e abri-lo em um Linux de 64-bits, encontrar a forma reduzida,
|
|
|
86f823b |
@@ -868,7 +868,7 @@
|
|
|
86f823b |
``sessionname``. (No caso raro de uma variável não poder ser salva,
|
|
|
86f823b |
ela simplesmente não aparece no dicionário.) O resultado é um arquivo
|
|
|
86f823b |
``.sobj`` que pode ser aberto como qualquer outro objeto que foi
|
|
|
86f823b |
-salvado. Quando você abre os objetos que foram salvados em uma sessão,
|
|
|
86f823b |
+salvo. Quando você abre os objetos que foram salvos em uma sessão,
|
|
|
86f823b |
você obtém um dicionário cujas chaves (keys) são os nomes das
|
|
|
86f823b |
variáveis e os valores são os objetos.
|
|
|
86f823b |
|
|
|
86f823b |
@@ -954,7 +954,7 @@
|
|
|
86f823b |
sage: notebook()
|
|
|
86f823b |
|
|
|
86f823b |
na linha de comando do Sage. Isso inicia o Notebook e abre o seu
|
|
|
86f823b |
-browser padrão para visualizá-lo. Os arquivos de estado do servidor
|
|
|
86f823b |
+navegador padrão para visualizá-lo. Os arquivos de estado do servidor
|
|
|
86f823b |
são armazenados em ``$HOME/.sage/sage\_notebook``.
|
|
|
86f823b |
|
|
|
86f823b |
Outras opções incluem:
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/interfaces.rst b/doc/pt/tutorial/interfaces.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/interfaces.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/interfaces.rst
|
|
|
86f823b |
@@ -48,15 +48,15 @@
|
|
|
86f823b |
Mod(5, 10007)
|
|
|
86f823b |
|
|
|
86f823b |
No primeiro caso, uma cópia separada do interpretador GP é iniciada
|
|
|
86f823b |
-como um servidor, e a string ``´znprimroot(10007)'`` é enviada,
|
|
|
86f823b |
+como um servidor, e a string ``znprimroot(10007)`` é enviada,
|
|
|
86f823b |
calculada pelo GP, e o resultado é armazenado em uma variável no GP
|
|
|
86f823b |
(que ocupa espaço na memória dos processos do GP que não serão
|
|
|
86f823b |
liberados). Então o valor dessa variável é exibido. No segundo caso,
|
|
|
86f823b |
-nenhum programa separado é iniciado, e a string
|
|
|
86f823b |
-``´znprimroot(10007)'`` é calculada por uma certa função da biblioteca
|
|
|
86f823b |
-C do PARI. O resultado é armazenado na memória em uso pelo Python, que
|
|
|
86f823b |
-é liberada quando a variável não for mais referenciada. Os objetos
|
|
|
86f823b |
-possuem tipos diferentes:
|
|
|
86f823b |
+nenhum programa separado é iniciado, e a string ``znprimroot(10007)``
|
|
|
86f823b |
+é calculada por uma certa função da biblioteca C do PARI. O resultado
|
|
|
86f823b |
+é armazenado na memória em uso pelo Python, que é liberada quando a
|
|
|
86f823b |
+variável não for mais referenciada. Os objetos possuem tipos
|
|
|
86f823b |
+diferentes:
|
|
|
86f823b |
|
|
|
86f823b |
::
|
|
|
86f823b |
|
|
|
86f823b |
@@ -187,7 +187,7 @@
|
|
|
86f823b |
========
|
|
|
86f823b |
|
|
|
86f823b |
O Singular fornece uma biblioteca massiva e madura para bases de
|
|
|
86f823b |
-Gröbner, máximo divisor comum para poliômios em várias variaveis,
|
|
|
86f823b |
+Gröbner, máximo divisor comum para polinômios em várias variáveis,
|
|
|
86f823b |
bases de espaços de Riemann-Roch de uma curva plana, e fatorização,
|
|
|
86f823b |
entre outras coisas. Vamos ilustrar a fatorização de polinômios em
|
|
|
86f823b |
várias variáveis usando a interface do Sage para o Singular (não
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/introduction.rst b/doc/pt/tutorial/introduction.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/introduction.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/introduction.rst
|
|
|
86f823b |
@@ -68,7 +68,7 @@
|
|
|
86f823b |
principal do Sage [SA]_ para instruções de como instalar o Sage no seu
|
|
|
86f823b |
computador. Aqui faremos apenas alguns comentários.
|
|
|
86f823b |
|
|
|
86f823b |
-#. O arquivo para download do Sage vem com "baterias incluídas". Em
|
|
|
86f823b |
+#. O arquivo para instalação do Sage vem com "baterias incluídas". Em
|
|
|
86f823b |
outras palavras, embora o Sage use o Python, IPython, PARI, GAP,
|
|
|
86f823b |
Singular, Maxima, NTL, GMP, e uma série de outros programas, você
|
|
|
86f823b |
não precisa instalá-los separadamente pois eles estão incluídos no
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/latex.rst b/doc/pt/tutorial/latex.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/latex.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/latex.rst
|
|
|
86f823b |
@@ -31,15 +31,15 @@
|
|
|
86f823b |
|
|
|
86f823b |
#. A interface Notebook é configurada para usar o `jsMath
|
|
|
86f823b |
<http://www.math.union.edu/~dpvc/jsMath/>`_ para representar
|
|
|
86f823b |
- fórmulas matemáticas de forma clara em um web browser. O jsMath é
|
|
|
86f823b |
+ fórmulas matemáticas de forma clara em um web navegador. O jsMath é
|
|
|
86f823b |
uma coleção de rotinas em JavaScript e fontes associadas.
|
|
|
86f823b |
Tipicamente esses fontes ficam armazenadas em um servidor e são
|
|
|
86f823b |
- enviadas para o browser juntamente com a página onde elas estão
|
|
|
86f823b |
+ enviadas para o navegador juntamente com a página onde elas estão
|
|
|
86f823b |
sendo usadas. No caso do Sage, o Notebook está sempre conectado a
|
|
|
86f823b |
um servidor usado para executar os comando do Sage, e esse servidor
|
|
|
86f823b |
também fornece as fontes do jsMath necessárias. Logo não é
|
|
|
86f823b |
necessário configurar nada mais para ter formulas matemáticas
|
|
|
86f823b |
- representadas no seu browser quando você usa o Notebook do Sage.
|
|
|
86f823b |
+ representadas no seu navegador quando você usa o Notebook do Sage.
|
|
|
86f823b |
|
|
|
86f823b |
O jsMath é implementado para representar um subconjunto grande,
|
|
|
86f823b |
mas não completo, do TeX. Ele não suporta objetos como, por
|
|
|
86f823b |
@@ -154,7 +154,7 @@
|
|
|
86f823b |
Um segundo recurso disponível no Notebook é possibilidade de inserir
|
|
|
86f823b |
código TeX para fazer anotações na folha de trabalho. Quando o cursos
|
|
|
86f823b |
esta posicionado entre células de modo que uma barra azul fica
|
|
|
86f823b |
-visível, então shift-click irá abrir um mini processador de texto,
|
|
|
86f823b |
+visível, então shift+clique irá abrir um mini processador de texto,
|
|
|
86f823b |
TinyMCE. Isso permite digitar texto, usando um editor WSISYG para
|
|
|
86f823b |
criar HTML e CSS. Logo é possível inserir texto formatado para
|
|
|
86f823b |
complementar a folha de trabalho. Todavia, texto entre símbolos $, ou
|
|
|
86f823b |
@@ -176,8 +176,9 @@
|
|
|
86f823b |
usado para alterar a notação de matrizes -- parênteses grandes,
|
|
|
86f823b |
colchetes, barras verticais. Nenhuma noção de estilo é enfatizada,
|
|
|
86f823b |
você pode configurar como desejado. Observe como as barras invertidas
|
|
|
86f823b |
-usadas em LaTeX requerem uma barra adicional de modo que elas possam
|
|
|
86f823b |
-ser interpretadas (escaped) corretamente em uma string do Python. ::
|
|
|
86f823b |
+usadas em LaTeX requerem uma barra adicional para que elas não sejam
|
|
|
86f823b |
+interpretadas pelo Python como um comando (ou seja, sejam implementadas
|
|
|
86f823b |
+simplesmente como parte de uma string. ::
|
|
|
86f823b |
|
|
|
86f823b |
sage: A = matrix(ZZ, 2, 2, range(4))
|
|
|
86f823b |
sage: latex(A)
|
|
|
86f823b |
@@ -217,10 +218,10 @@
|
|
|
86f823b |
<html>\newcommand{\Bold}[1]{\mathbb{#1}}\Bold{Q} </html>
|
|
|
86f823b |
sage: latex.blackboard_bold(False)
|
|
|
86f823b |
|
|
|
86f823b |
-É possível aproveitar os recursos do TeX adicionando novas macros e
|
|
|
86f823b |
-novos pacotes. Primeiro, macros individuais podem ser adicionadas para
|
|
|
86f823b |
-serem usadas quando o jsMath interpreta pequenos trechos de códigos
|
|
|
86f823b |
-TeX no Notebook. ::
|
|
|
86f823b |
+É possível aproveitar os recursos do TeX adicionando novas funções
|
|
|
86f823b |
+(macros em inglês) e novos pacotes. Primeiro, funções individuais podem
|
|
|
86f823b |
+ser adicionadas para serem usadas quando o jsMath interpreta pequenos
|
|
|
86f823b |
+trechos de códigos TeX no Notebook. ::
|
|
|
86f823b |
|
|
|
86f823b |
sage: latex.extra_macros()
|
|
|
86f823b |
''
|
|
|
86f823b |
@@ -436,7 +437,7 @@
|
|
|
86f823b |
Para uma experiência semelhante no Notebook, é necessário desabilitar
|
|
|
86f823b |
o processador jsMath para o código LaTeX do grafo usando a "lista de
|
|
|
86f823b |
comandos a serem evitados pelo jsMath". Grafos são criados usando o
|
|
|
86f823b |
-environment ``tikzpicture``, logo essa uma boa escolha para uma string
|
|
|
86f823b |
+ambiente ``tikzpicture``, logo essa uma boa escolha para uma string
|
|
|
86f823b |
a ser incluída na lista que acabamos de mencionar. Agora,
|
|
|
86f823b |
``view(graphs.CompleteGraph(4))`` em uma folha de trabalho deve
|
|
|
86f823b |
executar o pdflatex para criar um PDF e então o programa ``convert``
|
|
|
86f823b |
@@ -486,7 +487,7 @@
|
|
|
86f823b |
|
|
|
86f823b |
Existem três programas disponíveis para integrar ainda mais o TeX e o
|
|
|
86f823b |
Sage. O primeiro é o sagetex. Uma descrição concisa do sagetex é que
|
|
|
86f823b |
-ele é uma coleção de macros do TeX que permitem incluir em um
|
|
|
86f823b |
+ele é uma coleção de funções do TeX que permitem incluir em um
|
|
|
86f823b |
documento LaTeX instruções para usar o Sage para calcular vários
|
|
|
86f823b |
objetos, e/ou formatar objetos usando o comando ``latex()`` existente
|
|
|
86f823b |
no Sage. Logo, como um passo intermediário para compilar um documento
|
|
|
86f823b |
@@ -496,7 +497,7 @@
|
|
|
86f823b |
sagetex para fazer cálculos com o Sage. Veja :ref:`sec-sagetex` para
|
|
|
86f823b |
mais informações.
|
|
|
86f823b |
|
|
|
86f823b |
-O tex2sws começa com um documento LaTeX, mas define environments
|
|
|
86f823b |
+O tex2sws começa com um documento LaTeX, mas define ambientes
|
|
|
86f823b |
adicionais para inserir código em Sage. Quando processado com as
|
|
|
86f823b |
ferramentas adequadas, o resultado é uma folha de trabalho do Sage,
|
|
|
86f823b |
com conteúdo apropriadamente formatado para o jsMath e com código em
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/programming.rst b/doc/pt/tutorial/programming.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/programming.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/programming.rst
|
|
|
86f823b |
@@ -66,7 +66,7 @@
|
|
|
86f823b |
(Em Python, ``^`` significa "ou exclusivo" e ``**`` significa
|
|
|
86f823b |
"exponenciação".)
|
|
|
86f823b |
|
|
|
86f823b |
-Esse "preparsing" está implementado em ``sage/misc/interpreter.py``.)
|
|
|
86f823b |
+Esse "" está implementado em ``sage/misc/interpreter.py``.)
|
|
|
86f823b |
|
|
|
86f823b |
Você pode colar código tabulado com muitas linhas no Sage desde que
|
|
|
86f823b |
existam linhas em branco separando blocos de código (isso não é
|
|
|
86f823b |
@@ -130,7 +130,7 @@
|
|
|
86f823b |
em ``$HOME/.sage/temp/hostname/pid/spyx``. Esses arquivos são
|
|
|
86f823b |
excluídos quando você encerra o Sage.
|
|
|
86f823b |
|
|
|
86f823b |
-Nenhum pré-processador (preparsing) é aplicado em arquivos spyx, por
|
|
|
86f823b |
+Nenhum pré-processamento (preparsing) é aplicado em arquivos spyx, por
|
|
|
86f823b |
exemplo, ``1/3`` vai resultar em 0 em um arquivo spyx em vez do número
|
|
|
86f823b |
racional :math:`1/3`. Se ``foo`` é uma função da biblioteca Sage, para
|
|
|
86f823b |
usá-la em um arquivo spyx importe ``sage.all`` e use ``sage.all.foo``.
|
|
|
86f823b |
@@ -456,10 +456,10 @@
|
|
|
86f823b |
Dicionários
|
|
|
86f823b |
===========
|
|
|
86f823b |
|
|
|
86f823b |
-Um dicionário (também chamado as vezes de lista associativa) é um
|
|
|
86f823b |
-mapeamento de objetos "hashable" em objetos arbitrários. (Exemplos de
|
|
|
86f823b |
-objetos "hashable" são strings e números; veja a documentação Python
|
|
|
86f823b |
-em http://docs.python.org/tut/node7.html e
|
|
|
86f823b |
+Um dicionário (também chamado as vezes de lista associativa ou "hash
|
|
|
86f823b |
+table") é um mapeamento de objetos em objetos arbitrários. (Exemplos
|
|
|
86f823b |
+de objetos que admitem uma lista associativa são strings e números;
|
|
|
86f823b |
+veja a documentação Python em http://docs.python.org/tut/node7.html e
|
|
|
86f823b |
http://docs.python.org/lib/typesmapping.html para detalhes).
|
|
|
86f823b |
|
|
|
86f823b |
::
|
|
|
86f823b |
@@ -502,7 +502,7 @@
|
|
|
86f823b |
Conjuntos
|
|
|
86f823b |
=========
|
|
|
86f823b |
|
|
|
86f823b |
-O Python possui um tipo set (conjuntos) nativo. O principal recurso
|
|
|
86f823b |
+O Python possui um tipo de conjuntos (set) nativo. O principal recurso
|
|
|
86f823b |
que ele oferece é a rápida verificação se um objeto está ou não em um
|
|
|
86f823b |
conjunto, juntamente com as operações comuns em conjuntos.
|
|
|
86f823b |
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/sagetex.rst b/doc/pt/tutorial/sagetex.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/sagetex.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/sagetex.rst
|
|
|
86f823b |
@@ -88,14 +88,14 @@
|
|
|
86f823b |
que tudo que foi calculado, incluindo os gráficos, foi incluído em seu
|
|
|
86f823b |
documento.
|
|
|
86f823b |
|
|
|
86f823b |
-As macros utilizadas acima devem ser fáceis de entender. Um
|
|
|
86f823b |
-environment ``sageblock`` insere código "verbatim" (exatamente como é
|
|
|
86f823b |
-digitado) e também executa o código quando você executa o Sage. Quando
|
|
|
86f823b |
-você insere ``\sage{foo}``, é incluído em seu documento o resultado
|
|
|
86f823b |
-que você obteria executando ``latex(foo)`` no Sage. Comandos para
|
|
|
86f823b |
-fazer gráficos são um pouco mais complicados, mas em sua forma mais
|
|
|
86f823b |
-simples, ``\sageplot{foo}`` insere a imagem que você obtêm usando
|
|
|
86f823b |
-``foo.save('filename.eps')``.
|
|
|
86f823b |
+As funções (macros em inglês) utilizadas acima devem ser fáceis de
|
|
|
86f823b |
+entender. Um ambiente ``sageblock`` insere código "verbatim"
|
|
|
86f823b |
+(exatamente como é digitado) e também executa o código quando você
|
|
|
86f823b |
+executa o Sage. Quando você insere ``\sage{foo}``, é incluído em seu
|
|
|
86f823b |
+documento o resultado que você obteria executando ``latex(foo)`` no
|
|
|
86f823b |
+Sage. Comandos para fazer gráficos são um pouco mais complicados, mas
|
|
|
86f823b |
+em sua forma mais simples, ``\sageplot{foo}`` insere a imagem que você
|
|
|
86f823b |
+obtêm usando ``foo.save('filename.eps')``.
|
|
|
86f823b |
|
|
|
86f823b |
Em geral, a rotina é a seguinte:
|
|
|
86f823b |
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/tour_advanced.rst b/doc/pt/tutorial/tour_advanced.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/tour_advanced.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/tour_advanced.rst
|
|
|
86f823b |
@@ -84,7 +84,7 @@
|
|
|
86f823b |
funcionalidade para curvas elípticas do PARI, acesso aos dados da base
|
|
|
86f823b |
de dados Cremona (isso requer um pacote adicional), os recursos do
|
|
|
86f823b |
mwrank, isto é, "2-descends" com cálculos do grupo de Mordell-Weil
|
|
|
86f823b |
-completo, o algoritmo SEA (singla em inglês), cálculo de todas as
|
|
|
86f823b |
+completo, o algoritmo SEA (sigla em inglês), cálculo de todas as
|
|
|
86f823b |
isogenias, bastante código novo para curvas sobre :math:`\QQ`, e parte
|
|
|
86f823b |
do software "algebraic descent" de Denis Simons.
|
|
|
86f823b |
|
|
|
86f823b |
@@ -98,7 +98,7 @@
|
|
|
86f823b |
.. math:: y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6,
|
|
|
86f823b |
|
|
|
86f823b |
|
|
|
86f823b |
- onde os :math:`a_i`'s são coagidos para os parentes de :math:`a_1`.
|
|
|
86f823b |
+ onde os :math:`a_i`'s são coagidos para a família de :math:`a_1`.
|
|
|
86f823b |
Se todos os :math:`a_i` possuem parente :math:`\ZZ`, então eles são
|
|
|
86f823b |
coagidos para :math:`\QQ`.
|
|
|
86f823b |
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/tour_assignment.rst b/doc/pt/tutorial/tour_assignment.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/tour_assignment.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/tour_assignment.rst
|
|
|
86f823b |
@@ -81,10 +81,9 @@
|
|
|
86f823b |
sage: numerical_approx(pi, prec=200)
|
|
|
86f823b |
3.1415926535897932384626433832795028841971693993751058209749
|
|
|
86f823b |
|
|
|
86f823b |
-O Python é uma linguagem "dinâmicamente digitada" (dynamically typed),
|
|
|
86f823b |
-portanto o valor referido por cada variável possui um tipo associado a
|
|
|
86f823b |
-ele, mas uma variável pode possuir valores de qualquer tipo em
|
|
|
86f823b |
-determinado escopo:
|
|
|
86f823b |
+O Python é uma linguagem de tipagem dinâmica, portanto o valor
|
|
|
86f823b |
+referido por cada variável possui um tipo associado a ele, mas uma
|
|
|
86f823b |
+variável pode possuir valores de qualquer tipo em determinado escopo:
|
|
|
86f823b |
|
|
|
86f823b |
::
|
|
|
86f823b |
|
|
|
86f823b |
@@ -98,9 +97,9 @@
|
|
|
86f823b |
sage: type(a)
|
|
|
86f823b |
<type 'str'>
|
|
|
86f823b |
|
|
|
86f823b |
-A linguagem de programação C, que é "estaticamente digitada"
|
|
|
86f823b |
-(statically typed), é muito diferente; uma variável que foi declarada
|
|
|
86f823b |
-como int pode apenas armazenar um int em seu escopo.
|
|
|
86f823b |
+A linguagem de programação C, que é de tipagem estática , é muito
|
|
|
86f823b |
+diferente; uma variável que foi declarada como int pode apenas
|
|
|
86f823b |
+armazenar um int em seu escopo.
|
|
|
86f823b |
|
|
|
86f823b |
Uma potencial fonte de confusão em Python é que um inteiro literal que
|
|
|
86f823b |
começa com zero é tratado como um número octal, isto é, um número na
|
|
|
86f823b |
diff --git a/doc/pt/tutorial/tour_coercion.rst b/doc/pt/tutorial/tour_coercion.rst
|
|
|
86f823b |
--- a/doc/pt/tutorial/tour_coercion.rst
|
|
|
86f823b |
+++ b/doc/pt/tutorial/tour_coercion.rst
|
|
|
86f823b |
@@ -3,11 +3,11 @@
|
|
|
86f823b |
.. _section-coercion:
|
|
|
86f823b |
|
|
|
86f823b |
============================
|
|
|
86f823b |
-Parentes, Conversão e Coação
|
|
|
86f823b |
+Famílias, Conversão e Coação
|
|
|
86f823b |
============================
|
|
|
86f823b |
|
|
|
86f823b |
Esta seção pode parecer mais técnica do que as anteriores, mas
|
|
|
86f823b |
-acreditamos que é importante entender o significado de parentes e
|
|
|
86f823b |
+acreditamos que é importante entender o significado de famílias e
|
|
|
86f823b |
coação de modo a usar anéis e outras estruturas algébricas no Sage de
|
|
|
86f823b |
forma efetiva e eficiente.
|
|
|
86f823b |
|
|
|
86f823b |
@@ -25,8 +25,8 @@
|
|
|
86f823b |
``__mul__``, obviamente garantindo que os axiomas de anel são
|
|
|
86f823b |
verificados.
|
|
|
86f823b |
|
|
|
86f823b |
-Como o Python é uma linguagem "strongly typed" (ainda que "dynamically
|
|
|
86f823b |
-typed"), poderia-se, pelo menos a princípio, esperar-se que fosse
|
|
|
86f823b |
+Como o Python é uma linguagem de tipagem forte (ainda que de tipagem
|
|
|
86f823b |
+dinâmica), poderia-se, pelo menos a princípio, esperar-se que fosse
|
|
|
86f823b |
implementado em Python uma classe para cada anel. No final das contas,
|
|
|
86f823b |
o Python contém um tipo ``<int>`` para os inteiros, um tipo
|
|
|
86f823b |
``<float>`` para os reais, e assim por diante. Mas essa estratégia
|
|
|
86f823b |
@@ -87,7 +87,7 @@
|
|
|
86f823b |
Univariate Polynomial Ring in c over Integer Ring (using NTL)
|
|
|
86f823b |
|
|
|
86f823b |
|
|
|
86f823b |
-Parentes e Categorias
|
|
|
86f823b |
+Famílias e Categorias
|
|
|
86f823b |
---------------------
|
|
|
86f823b |
|
|
|
86f823b |
De forma similar à hierarquia de classes em Python voltada para
|
|
|
86f823b |
@@ -137,10 +137,9 @@
|
|
|
86f823b |
gerais independentemente de uma implementação específica nas
|
|
|
86f823b |
categorias.
|
|
|
86f823b |
|
|
|
86f823b |
-Estruturas parentes em Sage são supostamente objetos únicos em Python.
|
|
|
86f823b |
-Por exemplo, uma vez que um anel de polinômios sobre um certo anel
|
|
|
86f823b |
-base e com uma certa lista de geradores é criada, o resultado é
|
|
|
86f823b |
-arquivado:
|
|
|
86f823b |
+Estruturas da mesma família em Sage são supostamente objetos únicos em
|
|
|
86f823b |
+Python. Por exemplo, uma vez que um anel de polinômios sobre um certo anel
|
|
|
86f823b |
+base e com uma certa lista de geradores é criada, o resultado é arquivado:
|
|
|
86f823b |
|
|
|
86f823b |
::
|
|
|
86f823b |
|
|
|
86f823b |
@@ -163,7 +162,7 @@
|
|
|
86f823b |
sage: isinstance(M, RingElement)
|
|
|
86f823b |
True
|
|
|
86f823b |
|
|
|
86f823b |
-Enquanto *parentes* são únicos, elementos iguais de um parente em Sage
|
|
|
86f823b |
+Enquanto *famílias* são únicas, elementos iguais de uma família em Sage
|
|
|
86f823b |
não são necessariamente idênticos. Isso contrasta com o comportamento
|
|
|
86f823b |
do Python para alguns (embora não todos) inteiros:
|
|
|
86f823b |
|
|
|
86f823b |
@@ -177,7 +176,7 @@
|
|
|
86f823b |
False
|
|
|
86f823b |
|
|
|
86f823b |
É importante observar que elementos de anéis diferentes em geral não
|
|
|
86f823b |
-podem ser distinguidos pelos seus tipos, mas sim por seus parentes:
|
|
|
86f823b |
+podem ser distinguidos pelos seus tipos, mas sim por sua família:
|
|
|
86f823b |
|
|
|
86f823b |
::
|
|
|
86f823b |
|
|
|
86f823b |
@@ -203,7 +202,7 @@
|
|
|
86f823b |
O leitor pode conhecer as noções de *conversão de tipo* e *coação de
|
|
|
86f823b |
tipo* como na linguagem C, por exemplo. Existem noções de *conversão*
|
|
|
86f823b |
e *coação* em Sage também. Mas as noções em Sage são centradas em
|
|
|
86f823b |
-*parentes*, não em tipos. Então, por favor não confunda conversão de
|
|
|
86f823b |
+*família*, não em tipos. Então, por favor não confunda conversão de
|
|
|
86f823b |
tipo em C com conversão em Sage!
|
|
|
86f823b |
|
|
|
86f823b |
Aqui se encontra uma breve apresentação. Para uma descrição detalhada
|
|
|
86f823b |
@@ -227,12 +226,12 @@
|
|
|
86f823b |
permitidas. O elemento neutro da multiplicação existe em todos os
|
|
|
86f823b |
corpos e em vários anéis, e eles devem ser todos iguais.
|
|
|
86f823b |
|
|
|
86f823b |
-O Sage faz uma concessão. Se ``P1`` e ``P2`` são estruturas parentes e
|
|
|
86f823b |
-``p1`` é um elemento de ``P1``, então o usuário pode explicitamente
|
|
|
86f823b |
-perguntar por uma interpretação de ``p1`` em ``P2``. Isso pode não
|
|
|
86f823b |
-fazer sentido em todos os casos ou não estar definido para todos os
|
|
|
86f823b |
-elementos de ``P1``, e fica a cargo do usuário assegurar que isso faz
|
|
|
86f823b |
-sentido. Nos referimos a isso como **conversão**:
|
|
|
86f823b |
+O Sage faz uma concessão. Se ``P1`` e ``P2`` são estruturas da mesma família
|
|
|
86f823b |
+e ``p1`` é um elemento de ``P1``, então o usuário pode explicitamente
|
|
|
86f823b |
+perguntar por uma interpretação de ``p1`` em ``P2``. Isso pode não fazer
|
|
|
86f823b |
+sentido em todos os casos ou não estar definido para todos os elementos de
|
|
|
86f823b |
+``P1``, e fica a cargo do usuário assegurar que isso faz sentido. Nos
|
|
|
86f823b |
+referimos a isso como **conversão**:
|
|
|
86f823b |
|
|
|
86f823b |
::
|
|
|
86f823b |
|
|
|
86f823b |
@@ -283,7 +282,7 @@
|
|
|
86f823b |
sage: R2(y)
|
|
|
86f823b |
y
|
|
|
86f823b |
|
|
|
86f823b |
-Se não existir homomorfismo de anel que preserve nomes, coerção não é
|
|
|
86f823b |
+Se não existir homomorfismo de anel que preserve nomes, coação não é
|
|
|
86f823b |
definida. Todavia, conversão pode ainda ser possível, a saber,
|
|
|
86f823b |
mapeando geradores de anel de acordo com sua posição da lista de
|
|
|
86f823b |
geradores:
|
|
|
86f823b |
@@ -309,7 +308,7 @@
|
|
|
86f823b |
Se houver coação, ela será usada para comparar elementos de anéis
|
|
|
86f823b |
diferentes ou fazer aritmética. Isso é frequentemente conveniente, mas
|
|
|
86f823b |
o usuário deve estar ciente que estender a relação ``==`` além das
|
|
|
86f823b |
-fronteiras de parentes diferentes pode facilmente resultar em
|
|
|
86f823b |
+fronteiras de famílias diferentes pode facilmente resultar em
|
|
|
86f823b |
problemas. Por exemplo, enquanto ``==`` é supostamente uma relação de
|
|
|
86f823b |
equivalência sobre os elementos de *um* anel, isso não é
|
|
|
86f823b |
necessariamente o caso se anéis *diferentes* estão envolvidos. Por
|
|
|
86f823b |
@@ -360,7 +359,7 @@
|
|
|
86f823b |
sage: 1/10^200+1/10^100 == 1/10^100
|
|
|
86f823b |
False
|
|
|
86f823b |
|
|
|
86f823b |
-Quando se compara elementos de dois parentes ``P1`` e ``P2``, é
|
|
|
86f823b |
+Quando se compara elementos de duas famílias ``P1`` e ``P2``, é
|
|
|
86f823b |
possível que não haja coação entre os dois anéis, mas existe uma
|
|
|
86f823b |
escolha canônica de um parente ``P3`` de modo que tanto ``P1`` como
|
|
|
86f823b |
``P2`` são coagidos em ``P3``. Nesse caso, coação vai ocorrer também.
|
|
|
86f823b |
@@ -381,7 +380,7 @@
|
|
|
86f823b |
Note que a princípio o resultado deveria também fazer sentido no
|
|
|
86f823b |
corpo de frações de ``ZZ['x']``. Todavia, o Sage tenta escolher um
|
|
|
86f823b |
parente *canônico* comum que parece ser o mais natural (``QQ['x']`` no
|
|
|
86f823b |
-nosso exemplo). Se vários potenciais parentes comuns parecem
|
|
|
86f823b |
+nosso exemplo). Se várias famílias potencialmente comuns parecem
|
|
|
86f823b |
igualmente naturais, o Sage *não* vai escolher um deles
|
|
|
86f823b |
aleatoriamente. Os mecanismos sobre os quais essa escolha se baseia é
|
|
|
86f823b |
explicado em um `arquivo tutorial
|
|
|
86f823b |
@@ -401,5 +400,5 @@
|
|
|
86f823b |
A razão é que o Sage não escolhe um dos potenciais candidatos
|
|
|
86f823b |
``QQ['x']['y']``, ``QQ['y']['x']``, ``QQ['x','y']`` ou
|
|
|
86f823b |
``QQ['y','x']``, porque todas essas estruturas combinadas em pares
|
|
|
86f823b |
-diferentes parecem ser parentes comuns naturais, e não existe escolha
|
|
|
86f823b |
+diferentes parecem ser de famílias comuns naturais, e não existe escolha
|
|
|
86f823b |
canônica aparente.
|