|
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
|