Índice

Aritmética Polinomial com Restos


Primeiro, definimos um polinômio em uma única variável:

poli: x^6 +19*x^5 + x^4 - 14*x^3 - x^2 - 3*x + 1;
     6       5    4       3    2
x + 19 x + x - 14 x - x - 3 x + 1

Para converter esse polinômio em outro com coeficientes que são restos módulo 11, usamos a função mod:

mod(poli, 11);

E pegamos esse resultado:

     6      5    4      3    2
x - 3 x + x - 3 x - x - 3 x + 1

se o valor numérico desse polinômio for um número primo p, então toda a aritmética na nas rotinas de função racional irão ser realizadas módulo p. Isto é todos os inteiros irão ser reduzidos para menos que p/2 em valor absoluto (if p=2 então todos os inteiros serão reduzidos para 1 ou 0). Isso é o então chamado sistema de módulos "balanceados", e.g. N MOD 5 = -2, -1, 0, 1, ou 2.

Para fatorar o polinômio poli módulo 11, temos que adicionar a opção modulus:11 ao comando factor:

factor(poli), modulus:11;

and obtain

            2              3      2
(x + 1) (x + 5 x + 3) (x + 2 x + 3 x + 4)

A expanção daquele produto é executada sobre os inteiros:

expand(%)
  6      5       4       3       2
x + 8 x + 23 x + 41 x + 54 x + 41 x + 12

Redução módulo 11 fornece o polinômio que obtemos através da redução de poli:

mod(%, 11)
   6      5    4      3    2
x - 3 x + x - 3 x - x - 3 x + 1


Índice