Solu¸
c˜
oes de equa¸
c˜
oes polinomiais
o que h´a de comum entre. . .-a regra de Cramer para resolver equa¸c˜oes lineares; -o algoritmo de Euclides para achar mdc;
-o c´alculo do n´umero m´ınimo de c´edulas ou moedas para perfazer uma dada quantia e ...
-a determina¸c˜ao dos pontos de interse¸c˜ao de curvas e superf´ıcies?
Tudo isso e muito mais se expressa no contexto de
manipula¸c˜oes com polinˆomios.
Ser´a ´algebra?
Ser´a geometria?
´
E MATEM ´
ATICA!
O roteiro apresentado abaixo segue os passos da aula magistral dada no MSRI por Bernd Sturmfels, Professor of
regra de Cramer, elimina¸
c˜
ao gaussiana
Aprendemos (e ensinamos) desde cedo a resolver quest˜oes que se reduzem a uma equa¸c˜ao linear.
“Uma m˜ae ´e 21 anos mais velha que seu filho. Daqui h´a seis anos ela ter´a uma idade
5 vezes maior que a do filho.
A m˜ae tem hoje Y anos; o menino, X anos. Ela ´e 21 anos mais velha: Y = X + 21;
Daqui a 6 anos : ( Y + 6 ) = 5( X + 6 ); simplificando:
Y + 6 = 5 X + 30, Y = 5X + 24.
Substituindo na primeira equa¸c˜ao Y = X + 21,
resulta 5X + 24 = X + 21.
Assim, 4X = –3; X = −3
O menino tem
hoje −
3
4
anos
(=−
3
4
de 12 meses),
ou seja, –9 meses
(
menos
nove meses !...
/ \O problema anterior se equaciona pelo sistema linear
X − Y = −21 5X − Y = −24.
Um sistema desse tipo pode ser resolvido com a seq¨uˆencia de passos,
(−1) · (X − Y ) = 21 5X − Y = −24. 4X = −3 X = −3/4 Y = 81/4.
Esse processo, chamado de elimina¸c˜ao gaussiana, consiste em fazer opera¸c˜oes elementares
visando a elimina¸c˜ao sucessiva de vari´aveis. No exemplo anterior, recebemos as equa¸c˜oes
{X − Y = −21, 5X − Y = −24} e a transformamos em outra, muuuuuuuuuito mais simples,
{X = −3/4, Y = 81/4}.
Generaliza-se para sistemas com um n´umero qualquer de inc´ognitas e de equa¸c˜oes
algoritmo de Euclides
O algoritmo determina o mdc de dois polinˆomios em uma vari´avel: p1 = x4 − 3x3 + 3x2 − 3x + 2,
p2 = x5 − 3x4 + 2x3 + 2x2 − 6x + 4 mdc(p1, p2) = x2 − 3x + 2.
O mdc pode ser obtido pelas divis˜oes sucessivas, x5 − 3x4 + 2x3 + 2x2 − 6x + 4 x4 − 3x3 + 3x2 − 3x + 2 −x3 + 5x2 − 8x + 4 x x4 − 3x3 + 3x2 − 3x + 2 −x3 + 5x2 − 8x + 4 5(x2 − 3x + 2) −x − 2 −x3 + 5x2 − 8x + 4 5(x2 − 3x + 2 | {z } mdc ) 0 −15x + 25
O mdc ´e o ´ultimo resto n˜ao nulo, a menos de fator constante.
programa¸
c˜
ao inteira
Suponha que a venda de ingressos para o
tenha que se sujeitar a propor¸c˜oes prefixadas de
torcidas, digamos um grupo de
25 brasileiros para cada grupo de
10 argentinos, de
5 colombianos e de
1 paraguaio. Cada bilhete ´e vendido por grupo ou setor. O bom senso recomenda que o total de
bilhetes (=total de grupos) seja o menor poss´ıvel,
Em s´ımbolos, queremos minimizar a fun¸c˜ao
A + B + C + P
exigindo A, B, C, P ≥ 0 e, digamos,
10A + 25B + 5C + P = 117, total.
Se a gente n˜ao insistir que A + B + C + P sejam
n´umeros inteiros, ´e claro que dever´ıamos fazer
B = 11725 ∼ 4.68
programa¸
c˜
ao inteira × polinˆ
omios
A solu¸c˜ao “´otima” no contexto da programa¸c˜ao
inteira no caso presente tamb´em ´e ´unica:
(A, B, C, P ) = (1, 4, 1, 2) ; 10 + 100 + 5 + 2
A ponte para a ´algebra ´e feita
representando cada candidato a solu¸c˜ao
(A, B, C, P ) = (a, b, c, p)
por um monˆomio
rela¸
c˜
oes melhores
Agora, a partir da tabela de rela¸c˜oes iniciais,
A = P 10, C = P 5, B = P 25
uma manipula¸c˜ao adequada leva a novas rela¸c˜oes
C2 = A, A2C = B, A3 = BC, P 5 = C.
Isto nos d´a uma receita para diminuir o n´umero a + b + c + p:
a caminho do ´
otimo
Concretamente, a partir de alguma dada solu¸c˜ao, n˜ao necessariamente ´otima, digamos
2 ×25+3×10+4×5+17=117,
a qual codificamos como o monˆomio
A3B2C4P 17,
vamos fazer substitui¸c˜oes sucessivas das nossas melhores rela¸c˜oes.
Recapitulando, a partir da solu¸c˜ao vi´avel
A3B2C4P 17;
vamso usar as regras de simplifica¸c˜ao
C2 = A, A2C = B, A3 = BC, P 5 = C, e assim percorrer o caminho
26 z }| { A3B2C4P 17 → 24 z }| { A3+2B2P 17 → 23 z }| { A2B2BCP 17 ↓ AB4CP 2 | {z } o ´otimo! ← B4C3P 2 | {z } 9 ← B2+1+1P 17 | {z } 21
outro passeio
daqui z }| { ABC7P 47 (P 5 =C) ; ABC7+9P 2; (C2=A) ; A9BP 2; (A3=BC) ; B4C3P 2 (C2−A) ; AB4CP 2 | {z } para o ´otimo .Dobrando a capacidade, 234, A fica fora:
A2B2C14P 94 | {z } 112 ; A9B2P 94 | {z } 105 ; B5C3P 94 | {z } 102 ; B5C21P 4 | {z } 30 .
bases de Gr¨
obner
A tecnologia usada para simplificar rela¸c˜oes polinomiais atende pelo nome acima.
Wolfgang Gr¨obner (1899–1980) foi um matem´atico austr´ıaco. Estudou com Emmy Noether, que por
O principal respons´avel pela aplica¸c˜ao das id´eias de Gr¨obner foi seu aluno, Bruno Buchberger, Professor de Matem´atica Computacional, na Universidade
O algoritmo de Buchberger
– Generaliza o m´etodo de Gauss para solu¸c˜ao de sistemas lineares, aplicando-se a equa¸c˜oes de grau arbitr´ario
– No caso particular de polinˆomios de uma vari´avel, fornece o mdc.
– Na situa¸c˜ao da programa¸c˜ao inteira, permite passar de uma solu¸c˜ao vi´avel para uma solu¸c˜ao ´otima.
conceitos fundamentais
– ordem monomial.
– monˆomio inicial.
– divis˜ao em v´arias vari´aveis.
No caso de polinˆomios de uma s´o vari´avel, ordenamos pelo grau. Por exemplo, o
monˆomio inicial de p = 2x2 + x + 1 ´e declarado IN (p) = 2x2.
No caso de v´arias vari´aveis, ordenamos primeiramente pelo
grau total, fazendo desempate lexicogr´afico: IN (A + B + C + P ) = A;
IN (A + B + C + P 2) = P 2;
IN (AB + BC + C2 + P 2) = AB. .
Na divis˜ao de polinˆomios em v´arias vari´aveis, ´e dada uma lista F = [f1, . . . , fm].
Para cada polinˆomio p, podemos encontrar uma rela¸c˜ao p = q1f1 + · · · + qmfm + r.
O termo inicial do resto r n˜ao ´e divis´ıvel pelos IN (fi).
Indicamos por RF(p) o resto na divis˜ao de p por F . A filosofia ´e que o resto tem uma express˜ao menos
complicada do que o polinˆomio original p.
Em geral, o resto r depende da ordem na lista F . Veja o exemplo da divis˜ao de A2B + AB2 + B2,
primeiro por [AB − 1, B2 − 1]: A2B + AB2 + B2 =
(A + B) · (AB − 1) + (1) · (B2 − 1) + A + B + 1; depois por [B2 − 1, AB − 1]:
A2B + AB2 + B2 AB − 1 AB2 + B2 + A A B2 + A + B A + B B2 + A + B B2 − 1 A + B + 1 1 A2B + AB2 + B2 B2 − 1 A2B + A + 1 A + 1 A2B + A + 1 AB − 1 2A + 1 A
o algoritmo
entrada: lista finita F = [f1(x), . . . , fm(x)] de
polinˆomios a coeficientes n´umeros racionais, nas
vari´aveis x = x1, . . . , xn.
sa´ıda: uma lista finita G = [g1(x), . . . , gN(x)],
chamada base de Gr¨obner de F .
Esta ´e caracterizada pela propriedade seguinte
• para todo polinˆomio p, se o resto RG(p) ´e nulo
ent˜ao p ´e combina¸c˜ao dos fi, ou seja, p = PNm hifi
e reciprocamente. O resto independe da ordem da
Opera¸
c˜
ao b´
asica
Para cada g, g0 ∈ G, calcular o s-polinˆomio s(g, g0) = mg0 − m0g,
onde
(
m = IN (gµ 0), m0 = IN (g)µ , µ = mdc(IN (g), IN (g0)). Finalidade: cancelar termos iniciais.
Por exemplo,
s( 2x − 1, x − 1) = 2xx (x − 1) − xx(2x − 1) = −1. s( P 10 − A, P 5 − C) = P 5(P 5 − C) − (P 10 − A) =
Teste b´
asico
Dada uma lista finita F de polinˆomios e dado um polinˆomio p, verificar se o resto na divis˜ao de p por F ´e nulo.
Crit´erio de Buchberger: uma lista finita F de
polinˆomios ´e uma base de Gr¨obner se e s´o se para cada par p, q ∈ F valer
1 o passo: utilize o crit´erio de Buchberger para testar se F ´e uma base de Gr¨obner.
2 o passo: se sim, ent˜ao F ´e uma BG. V´a para o 4o passo.
3 o passo: se n˜ao, ´e porque achamos algum p = RF(mg0 − m0g) n˜ao nulo. Fa¸ca F = F ∪ {p} e retorne ao 1o passo.
Vimos que F = [AB − 1, B2 − 1] n˜ao pode ser uma base de Gr¨obner pois falhava na m´a determina¸c˜ao
do resto. Aplicamos o algoritmo de Buchberger: s(AB − 1, B2 − 1) = −A + B.
Acrescentamos `a lista e repetimos o teste para F = [AB − 1, B2 − 1, A − B].
s(AB − 1, A − B) = −B2 + 1, resto zero;
s(B2 − 1, A − B) = −B3 + A = −B(B2 − 1) − B + A; idem.
interse¸
c˜
oes de curvas planas
y = x2 16y2 − 4x − 24y + 5 = 0 . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ... `As vezes ´e poss´ıvel resolver explicitamente.
Mas em geral, o melhor poss´ıvel ´e determinar o n´umero de solu¸c˜oes.
Teorema. O n´umero de solu¸c˜oes ´e igual ao n´umero de monˆomios n˜ao divis´ıveis pelos monˆomios iniciais de G.
Exemplo: y3 − y2 + x2 + xy + x, y3 − xy2 + x − 1. Uma BG ´e [y3 + x2 + xy − y2 + x, xy2 + x2 + xy − y2 + 1, x3 + 2x2 + xy − y2 − x − y + 2] . Monˆomios n˜ao divis´ıveis:
1, y, y2, x, x2, xy, x2y ⇒
N´umero de solu¸c˜oes, contadas com multiplicidades = 7.
bibliografia
–S. C. Coutinho Polinˆomios e Computa¸c˜ao Alg´ebrica, Universidade Federal do Rio de Janeiro,
http://www.dcc.ufrj.br/~collier/cursospre/ algcomp/algcomp.pdf
–D. Cox, J. Little, e D. O’Shea, Ideals, varieties and
algorithms, Springer, New York (1992). – B. Sturmfels, Gr¨obner Bases,Lecture 1,