variedades a ns e introdu˘c~ao ao singular · ... elemento neutro: para todo a2g, ... para todo...
TRANSCRIPT
Variedades Afins e Introducao ao Singular
Prof. Aldicio Jose Miranda
Sao Jose do Rio Preto, novembro de 2015
Sumario
Introducao 3
1 Ideais e Polinomios 5
1.1 Algoritmo da Divisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 Algoritmo da Divisao em K[x] . . . . . . . . . . . . . . . . . . . . . 8
1.1.2 Ordem Monomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3 Algoritmo da Divisao em K[x1, . . . , xn] . . . . . . . . . . . . . . . . 10
1.2 Bases de Groebner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Introducao ao Singular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 Variedades afins 21
2.1 Definicao e Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Usando o Singular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Problemas Geometricos Usando Polinomios . . . . . . . . . . . . . . . . . . 36
Introducao
Neste minicurso apresentaremos aos estudantes o conceito de variedades afins, que sao
definidas por equacoes polinomiais. A base para trabalhar com variedades afins, e um
pouco de algebra e o estudo de ideais em aneis de polinomios. Inicialmente, discutiremos
polinomios em uma variavel para abrir caminho no entendimento de algumas definicoes
e algoritmos que serao utilizados nos calculos envolvendo variedades afins em aneis de
polinomios com duas ou mais variaveis. A principal proposta e apresentar exemplos
envolvendo sistemas de equacoes polinomiais, relacionadas com algebra linear, multipli-
cadores de Lagrange e a traducao e resolucao de problemas da geometria euclidiana plana
para a linguagem de variedades afins. Um exemplo bem familiar vem da algebra linear,
que consiste em considerar um sistema linear com m equacoes e n variaveis, com coefici-
entes sobre um corpo K fixado. A solucao deste sistema forma uma variedade afim em
K, chamada de variedade linear. Em algebra linear, aprendemos o metodo de reducao
por linha (ou coluna), tambem chamada eliminacao gaussiana, que fornece um algoritmo
para encontrar todas as solucoes de um sistema de equacoes lineares. Veremos uma ge-
neralizacao deste algoritmo que se aplica para sistemas de equacoes polinomiais. Uma
diferenca imediata entre equacoes lineares e equacoes polinomiais, e que para equacoes
lineares os teoremas nao dependem do corpo K escolhido para trabalhar, mas a maio-
ria dos teoremas para equacoes polinomiais, a hipotese de que o corpo em questao seja
algebricamente fechado e necessaria.
Calcularemos valores de maximos e mınimos de funcoes polinomiais sujeita a restricoes,
pelo metodo multiplicador de Lagrange, via variedades afins. Muitas vezes e trabalhoso
calcular maximos e mınimos usando multiplicadores de Lagrange devido a complexidade
das equacoes envolvidas. Apresentaremos uma poderosa ferramenta para resolver tais
problemas, que envolve bases de Groebner, onde o calculo dessas bases e as solucoes
destes problemas serao realizados com a importante ferramenta computacional, o sistema
algebrico computacional Singular.
Veremos como ideais se relacionam com variedades afins, pois a vantagem dos ideais
e que eles nos fornecem uma linguagem para trabalhar com variedades afins. Um exem-
plo natural de ideal e o ideal gerado por um numero finito de polinomios. Existe uma
analogia com a Algebra Linear. A definicao de um ideal e similiar a definicao de um su-
bespaco vetorial, ambos fechados pela adicao e multiplicacao, exceto que para subespacos
3
multiplicamos por escalares, e para ideais multiplicamos por polinomios.
O software Singular,[2], e um sistema algebrico computational, designado para calculos
com polinomios, onde se pode definir aneis, modulos, matrizes, polinomios de varias
variaveis, e muito mais. Este software foi desenvolvido para dar suporte a pesquisa ma-
tematica, principalmente em algebra comutativa, geometria algebrica e teoria de singula-
ridades.
No final, vamos apresentar e resolver exemplos relacionando problemas geometricos
com variedades afins. Mais precisamente, introduzindo coordenadas cartesianas no plano
euclidiano, as hipoteses e conclusoes de uma grande classe de teoremas geometricos podem
ser expressados com equacoes polinomiais entre as coordenadas de uma colecao de pontos
de acordo com o problema apresentado.
O texto e os exemplos deste minicurso sao baseados nos livros [1] e [2].
4
Capıtulo 1
Ideais e Polinomios
Antes de definir ideais e polinomios, precisamos definir aneis e corpos. O conceito de
anel e um dos conceitos mais basicos em algebra comutativa. Os aneis mais conhecidos
sao os dos numeros inteiros Z e o anel dos polinomios em uma variavel sobre um corpo.
Neste capıtulo daremos as definicoes de grupos, aneis, ideais, exemplos de ideias e aneis.
Definiremos o algoritmo da divisao e bases de Groebner em aneis de polinomios em varias
variaveis. E por ultimo uma breve apresentacao sobre o que podemos fazer com o Singular.
Definicao 1.1. Seja G um conjunto nao vazio munido de uma operacao binaria
+ : G×G→ G.
Dizemos que G munido da operacao +, (G,+), e um grupo se valem:
i) Associatividade: para quaisquer a, b, c ∈ G temos
(a+ b) + c = a+ (b+ c).
ii) Elemento Neutro: para todo a ∈ G, existe e ∈ G tal que
a+ e = e+ a = a.
iii) Elemento Simetrico: para todo a ∈ G, existe um elemento a′ ∈ G tal que
a+ a′ = a′ + a = e.
Definicao 1.2. Seja (G,+) um grupo. Se para todo a, b ∈ G, a+b = b+a, entao dizemos
que (G,+) e um grupo abeliano.
Um anel e completamente diferente de um grupo, pois em um anel sao definidas duas
operacoes. Comumente, essas operacoes sao chamadas de adicao e multiplicacao.
Definicao 1.3. Seja A um conjunto nao vazio e um par de operacoes (arbitraria) sobre
A, + : A× A −→ A e . : A× A −→ A. Dizemos que (A,+, .) e um anel se:
5
i) (A,+) e um grupo abeliano;
ii) A propriedade associativa vale para a segunda operacao. Dados a, b, c,∈ A temos:
a.(b.c) = (a.b).c.
iii) A segunda operacao e distributiva em relacao a primeira
a.(b+ c) = (a.b) + (a.c)
e
(a+ b).c = (a.c) + (b.c)
para quaisquer a, b, c ∈ A.
Em relacao a segunda operacao, o sımbolo “.”, sera omitido as vezes.
Definicao 1.4. A e chamado de anel comutativo se a.b = b.a, a, b ∈ A e A tem elemento
identidade denotado por 1, se 1.a = a.1 = a, para todo a ∈ A.
Definicao 1.5. Seja A um anel. A e um corpo se qualquer elemento nao nulo a ∈ A e
uma unidade, isto e, existe b ∈ A tal que ab = 1 6= 0.
Definicao 1.6. Um subconjunto de um anel A e chamado de subanel, se contem 1 e e
fechado sob as operacoes induzidas do anel A.
O conceito de ideais e fundamental no estudo da geometria algebrica (geometria
algebrica e o estudo de objetos geometricos definidos por equacoes polinomiais, usando
meios algebricos). Introduziremos as nocoes basicas sobre eles.
Definicao 1.7. Seja A um anel e seja I um subconjunto de A. Dizemos que I e um ideal
de A se
i) f, g ∈ I ⇒ f + g ∈ I.
ii) f ∈ I, a ∈ A ⇒ af ∈ I.
O anel principal que trataremos neste minicurso e o anel de polinomios em varias
variaveis.
Definicao 1.8. Seja A um anel.
i) Um monomio em n variaveis, x1, . . . , xn, e um produto da forma
xα = xα11 · . . . · xαn
n , α = (α1, . . . , αn) ∈ Nn.
ii) Um termo e um monomio vezes um coeficiente (elemento de A), escrito da forma
axα = axα11 · . . . · xαn
n , a ∈ A.
6
iii) Um polinomio sobre A e uma combinacao linear finita de monomios, com coefici-
entes em A, e e escrito da forma
f =∑α
aαxα =
finita∑α∈Nn
aα1...αnxα11 · . . . · xαn
n , aα ∈ A.
Para α ∈ Nn, colocamos |α| := α1 + · · ·+ αn. Se f 6= 0, chamamos de grau de f , o
inteiro definido por deg(f) := max{|α|, aα 6= 0}. Se f = 0, colocamos deg(f) = −1.
iv) O anel polinomial A[x] = A[x1, . . . , xn] em n variaveis sobre A e o conjunto de todos
os polinomios juntamente com as operacoes usuais de soma e multiplicacao:∑α
aαxα +
∑α
bαxα :=
∑α
(aα + bα)xα,
(∑α
aαxα
)(∑β
bβxβ
):=∑γ
(∑α+β
aαbβ
)xγ.
A[x1, . . . , xn] e um anel comutativo com identidade 1 = x01 · . . . · x0n, que identificamos
com o elemento identidade 1 ∈ A. Elementos de A ⊂ A[x] sao chamados de polinomios
constantes. Observe que qualquer monomio e um termo (sendo 1 como coeficiente), mas
por exemplo, 0 e um termo mas nao e um monomio. O assunto de interesse aqui e quando
o anel A e um corpo. Daqui em diante, consideraremos o anel K[x] = K[x1, . . . , xn] sobre
um corpo K (K = R ou C corpo dos numeros complexos). Como os principais teoremas
em geometria algebrica, requer que K seja algebricamente fechado, vamos considerar na
maior parte do curso K = C. Lembrando que um corpo K e algebricamente fechado, se
todo polinomio f(x) com coeficientes em K se fatora completamente em K.
Note tambem que somente as constantes sao unidades em K[x], logo K[x] nao e um
corpo.
Usamos x, y e x, y, z para as variaveis no caso quando n = 2 ou n = 3 respectivamente.
Exemplo 1.9. Considere o anel K[x, y, z], K = Q. Seja p(x, y, z) = x3y+ 5xy2−2x2yz2,
logo p e um polinomio contendo 3 termos e deg(p) = 5.
Dada uma colecao finita de polinomios f1, . . . , fs ∈ K[x1, . . . , xn], podemos criar outros
polinomios dependentes destes atraves de uma multiplicacao por polinomios arbitrarios
em K[x1, . . . , xn] e tomando a soma.
Definicao 1.10. Seja f1, . . . , fs ∈ K[x1, . . . , xn]. Pomos 〈f1, . . . , fs〉 para denotar a
colecao
〈f1, . . . , fs〉 = {p1f1 + · · ·+ psfs : pi ∈ K[x1, . . . , xn], i = 1, . . . , s}.
Exemplo 1.11. Temos que x2 ∈ 〈x − y2, xy〉 em K[x, y], pois x2 = p1(x − y2) + p2xy,
com p1 = x e p2 = y.
7
Exercıcio 1.12. 1. Mostre que 〈x− y2, xy, y2〉 = 〈x, y2〉.
2. Verifique se vale a igualdade 〈x− y2, xy〉 = 〈x2, xy〉.
3. Mostre que 〈f1, . . . , fs〉 e fechado sob a soma em K[x1, . . . , xn].
4. Mostre que se f ∈ 〈f1, . . . , fs〉, e p ∈ K[x1, . . . , xn] e um polinomio arbitrario entao,
pf ∈ 〈f1, . . . , fs〉.
Assim, pela definicao de ideal em um anel e pelos itens 3. e 4. do Exercıcio 1.12, o
conjunto I = 〈f1, . . . , fs〉 e um ideal e neste caso I e um ideal gerado pelos polinomios
f1, . . . , fs.
Um resultado importante que nao provaremos aqui e:
Teorema 1.13 (Hilbert Basis Theorem). Todo ideal I ∈ K[x1, . . . , xn] tem um conjunto
finito de geradores. Em outras palavras, dado um ideal I, existe um numero finito de
polinomios {f1, . . . , fs} ∈ K[x1, . . . , xn] tal que I = 〈f1, . . . , fs〉.
1.1 Algoritmo da Divisao
Divisao de polinomios e fundamental no estudo de ideais em aneis polinomiais. Por
exemplo, precisamos do algoritmo da divisao juntamente com bases de Groebner para
verificar se um dado polinomio pertence a um ideal. Nesta subsecao, definiremos algoritmo
da divisao em anel de polinomios com uma e com varias variaveis, e uma breve definicao
da base de Groebner de um ideal polinomial.
1.1.1 Algoritmo da Divisao em K[x]
Em aneis de polinomios em uma unica variavel, o algoritmo da divisao de euclides nos
permite dividir polinomios, isto e, dados dois polinomios f, g ∈ K[x], com g 6= 0, entao
existem unicos polinomios q, r ∈ K[x] tal que
f = qg + r, com r = 0 ou grau(r) < grau(g).
Assim, como todo ideal I ⊂ K[x] e principal (gerado por um unico gerador), se I = 〈g〉,teremos f ∈ I se r = 0, isto e, o resto da divisao de f por g for o polinomio nulo. Caso,
f = qg + r, com r 6= 0, segue que f /∈ I. Assim, verificar se um polinomio f pertence a
um ideal I, e facilmente resolvido no caso de anel de polinomios em uma unica variavel.
Note que todo polinomio pode ser escrito de modo unico como a soma de seus termos
a menos da ordem da posicao de seus termos, devido a propriedade comutativa da adicao
nesses aneis. Em um anel polinomial em uma unica variavel, podemos escrever de modo
unico um polinomio de acordo com o grau de cada monomio. Assim, para efetuar divisao
de polinomios precisamos primeiro estabelecer uma ordem, para que possamos escrever
de modo unico tal polinomio.
8
1.1.2 Ordem Monomial
Antes de descrever um algoritmo da divisao em um anel de polinomios em varias variaveis
K[x1, . . . , xn], precisamos de uma maneira para ordenar os monomios do polinomio. Or-
denar monomios em n variaveis e o mesmo que ordenar sobre Nn. Podemos tornar esta
ordem unica por escolhendo uma ordem total sobre o conjunto dos monomios. O objetivo
aqui e apenas dar a definicao e fazer um exemplo. Veja mais sobre ordens monomiais nos
livros da referencia.
Definicao 1.14. Uma ordem monomial e uma ordem total > sobre o conjunto dos
monomios Monn = {xα|α ∈ Nn} em n variaveis satisfazendo o seguinte:
xα > xβ =⇒ xγxα > xγxβ
para todo α, β, γ ∈ Nn. Dizemos que > e uma ordem monomial sobre A[x1, . . . , xn], A um
anel, considerando que > e uma ordem monomial sobre Monn.
Identificamos Monn com Nn, e entao uma ordem monomial e uma ordem total sobre
Nn.
Uma ordem tıpica e importante e a ordem lexicografica sobre Nn, definida por: xα > xβ
se, e somente se, a primeira entrada nao nula de α− β e positiva.
Trabalhar com uma determinada ordem, nos permite representar um polinomio em
um computador como uma lista ordenada de coeficientes, tornando testes de igualdade
simples e rapido.
Vamos considerar um exemplo usando a ordem lexicografica denotada por lp no Singu-
lar. Lembrando, que no Singular todo polinomio pertence a um anel que deve ser definido
primeiro.
> ring A=0,(x,y,z),lp;
A linha de comando acima, significa que A = Q[x, y, z]; 0 e a caracterıstica do anel
sobre o corpo Q; x, y e z sao as variaveis e lp define a ordem lexicografica com x > y > z.
> poly f = y6z3+4x3y3z2+3x5-z5+3y2; //definindo o polinomio f
> f; //apenas mostrando f
3x5+4x3y3z2+y6z3+3y2-z5
Observe que, quando colocamos o comando > f ; acima, o Singular mostra f com os
monomios obedecendo a ordem lp. Como 3x5 e 4x3y3z2 correspondem respectivamente as
listas α = (5, 0, 0) e β = (3, 3, 2), segue que α− β = (2,−3,−2) e como o primeiro termo
nao nulo e positivo, entao 3x5 > 4x3y3z2. Analogamente, 4x3y3z2 > y6z3 > 3y2 > z5.
Os comandos abaixo sao usados para operacoes com polinomios no Singular.
9
> leadmonom(f); //monomio lider de f
x5
> leadexp(f); //lista com os expoentes do monomio lider de f
5,0,0
> lead(f); //termo lider de f
3x5
> leadcoef(f); //coeficiente do termo lider de f
3
> f-lead(f); //tail
4x3y3z2+y6z3+3y2-z5
1.1.3 Algoritmo da Divisao em K[x1, . . . , xn]
Fixamos primeiro uma ordem monomial em Nn. Suponha que sao dados um polinomio
f e um conjunto ordenado (g1, . . . , gs) de polinomios em K[x1, . . . , xn]. O algoritmo da
divisao encontra polinomios a1, . . . , as e r em K[x1, . . . , xn] tal que
f = a1g1 + · · ·+ asgs + r, (1.1)
onde r = 0 ou nenhum monomio em r e divisıvel por qualquer LT (gi), i = 1 . . . s, (LT
significa termo lider).
Veja o algoritmo da divisao:
Dados de entrada: g1, . . . , gs, f
ai := 0; i = 1 . . . s; r := 0; p := f ;
Enquanto p 6= 0 Faca
i := 1;
DNE := false (DNE = divisao nao efetuada)
(Enquanto i ≤ s e DNE = false) Faca
Se (LT (gi) Divide LT (p)) Entao
ai := ai + LT (p)/LT (gi);
p := p− (LT (p)/LT (gi))gi;
DNE = true
Senao
i := i+ 1;
Se (NDE = false) Entao
r := r + LT (p)
p := p− LT (p)
Dados de Saıda: a1, . . . , as, r
Algoritmo da Divisao em K[x1, . . . , xn].
10
Observacao 1.15. 1. De acordo com a equacao 1.1, se r = 0, entao f ∈ 〈g1, . . . , gs〉.2. O resto r depende da ordem dos gi.
Note que no algoritmo acima, na linha “Se (LT (gi) Divide LT (p)) Entao”, o ındice
i varia de 1 ate s, logo uma vez fixada a posicao dos gi o algoritmo devera rodar ate o
final.
Vamos explicar o funcionamento deste algoritmo atraves de exemplos.
Exemplo 1.16. Sejam os polinomios f := x2y + xy2 + y2, g1 := xy − 1 e g2 := y2 − 1.
Vamos efetuar a divisao de f por g1 e g2 usando a ordem lexicografica (x > y).
g1 : xy − 1 Passo 1: LT (g1) = xy divide LT (p) = x2y
p : x2y + xy2 + y2 g2 : y2 − 1 Entao, a1 := (LT (p)/LT (g1)) = x
x2y − x a1 : x
xy2 + x+ y2 a2 : 0
r : 0
g1 : xy − 1 Passo 2: LT (g1) = xy divide LT (p) = xy2
p : xy2 + x+ y2 g2 : y2 − 1 Entao, a1 := a1 + (LT (p)/LT (g1)) = a1 + y
xy2 − y a1 : x+ y
x+ y2 + y a2 :
r : 0
g1 : xy − 1 Passo 3: LT (g1) = xy nao divide LT (p) = x
p : x + y2 + y g2 : y2 − 1 LT (g2) = y2 nao divide LT (p) = x
p : y2 + y a1 : x+ y neste caso, movemos o LT (p) = x para o resto r
a2 :
r : x
g1 : xy − 1 Passo 4: LT (g1) = xy nao divide LT (p) = y2
p : y2 + y g2 : y2 − 1 LT (g2) = y2 divide LT (p) = y2
y2 − 1 a1 : x+ y Entao, a2 := (LT (p)/LT (g2)) = 1
y + 1 a2 : 1
r : x
g1 : xy − 1 Passo 5: LT (g1) = xy nao divide LT (p) = y
p : y + 1 g2 : y2 − 1 LT (g2) = y2 nao divide LT (p) = y
p : 1 a1 : x+ y neste caso, movemos o LT (p) = y para o resto r
a2 : 1
r : x+ y
11
g1 : xy − 1 Passo 6: LT (g1) = xy nao divide LT (p) = 1
p : 1 g2 : y2 − 1 LT (g2) = y2 nao divide LT (p) = 1
p : 0 a1 : x+ y neste caso, movemos o LT (p) = 1 para o resto r
a2 : 1 ——————————————————
r : x+ y + 1 p := 0 e o algoritmo da divisao termina.
Portanto,
x2y + xy2 + y2 = (x+ y)(xy − 1) + 1.(y2 − 1) + (x+ y + 1).
Os polinomios do Exercıcio 1.17 sao os mesmos do Exemplo 1.16, apenas permutamos
a posicao de g1 e g2.
Exercıcio 1.17. Sejam os polinomios f := x2y + xy2 + y2, g1 := y2 − 1 e g2 := xy − 1.
Como no Exemplo 1.16, faca a divisao de f por g1 e g2 usando a ordem lexicografica
(x > y) e conclua que o resto e r := 2x+ 1.
Exercıcio 1.18. Sejam os polinomios f := xy2 − x, g1 := y2 − 1 e g2 := xy + 1. Usando
a ordem lexicografica (x > y), mostre que f dividido por g1 e g2 tem resto r := 0.
Exercıcio 1.19. Sejam os polinomios f := xy2 − x, g1 := xy + 1 e g2 := y2 − 1. Usando
a ordem lexicografica (x > y), mostre que f dividido por g1 e g2 tem resto r := −x− y.
No Exercıcio 1.18, o resto e r := 0, logo podemos concluir que f := xy2 − x pertence
ao ideal gerado por g1 := y2 − 1 e g2 := xy + 1. Mas, pelo Exercıcio 1.19, usando os
mesmos g1 e g2, temos r 6= 0, e nao podemos concluir se f pertence ao ideal gerado por
eles. Assim, o algoritmo da divisao (da forma que esta definido acima) nao fornece um
teste para saber se um polinomio f pertence a um ideal. Felizmente, e possıvel resolver
este problema usando bases de Groebner.
1.2 Bases de Groebner
Bases de Groebner e uma ferramenta de extrema importancia, pois permite resolver
problemas sobre ideais polinomiais, e consequentemente sobre o estudo de variedades afins.
A vantagem e que existe um metodo para encontrar a base de Groebner de um ideal, e esse
processo algorıtmico esta implementado em muitos sistemas algebricos computacionais. E
assim, com o avanco dos computadores e otmizacoes de algoritmos, o numero de aplicacoes
das bases de Groebner e imensa.
Os principais problemas que podemos resolver com bases de Groebner sao:
i. Dado f ∈ K[x1, . . . , xn] e um ideal I = 〈f1, . . . , fs〉, entao f ∈ I?
12
ii. Resolucao de sistema de equacoes polinomiais.
Faremos apenas uma definicao e varios exemplos com essas bases usando o Singular.
Definicao 1.20. Um conjunto G = {g1, . . . , gs} ⊂ I e uma base de Groebner do ideal I
se, e somente se, o termo lider (LT) de qualquer elemento de I e divisıvel por um dos
LT (gi).
Exemplo 1.21. Considere o ideal I = 〈f1, f2〉 ⊂ K[x, y], com f1(x, y) = y2−1 e f2(x, y) =
xy − 1. O ideal I nao e base de Groebner de I, pois
g(x, y) = x− y = y(xy − 1)− x(y2 − 1) ∈ I,
Usando a ordem lex com x > y, vemos que LT (g) = LT (x − y) = x, nao e divisıvel por
LT (f1) = y2 e nem por LT (f2) = xy.
Observacao 1.22. Fixada uma ordem monomial, entao todo ideal I ⊂ K[x1, . . . , xn] tem
uma base de Groebner, veja [1].
Neste minicurso, mostraremos como calcular a base de Groebner de um ideal apenas
usando o Singular. Para um estudo mais aprofundado de como encontrar essas bases, veja
[1, Cap. 2].
As propriedades interessantes das bases de Groebner sao dadas na proposicao abaixo.
Proposicao 1.23. Seja G = {g1, . . . , gs} uma base de Groebner de um ideal I ⊂ K[x1, . . . , xn]
e seja f ∈ K[x1, . . . , xn]. Entao, existe unico r ∈ K[x1, . . . , xn] com as seguintes proprie-
dades:
i. Nenhum termo de r e divisıvel por qualquer dos LT (g1), . . . , LT (gs).
ii. Existe g ∈ I tal que f = g − r.
Se G e uma base de Groebner de um ideal I, entao G = I, claro, os geradores de
G podem ser todos diferentes, ou partes iguais, ou iguais aos geradores de I. A grande
vantagem dessas bases, conforme descrito na Proposicao 1.23, e que ao efetuarmos o
algoritmo da divisao de um polinomio f pelos elementos de uma base de Groebner, o
resto sera sempre o mesmo, nao importando como esses geradores estao posicionados.
Uma consequencia importante da proposicao 1.23 e que se G = {g1, . . . , gs} e uma
base de Groebner de um ideal I ⊂ K[x1, . . . , xn] e f ∈ K[x1, . . . , xn], entao f ∈ I se, e
somente se, o resto r da divisao de f por G for igual a zero.
Na proxima secao, vejamos como definir aneis, ideais e polinomios no Singular e
tambem como calcular bases de Groebner de um ideal I, bem como verificar se um dado
polinomio f pertence a um ideal.
13
1.3 Introducao ao Singular
O Singular,[2], e um sistema algebrico computational, designado para calculos com po-
linomios, e que foi desenvolvido para dar suporte a pesquisa matematica, principalmente
em algebra comutativa, geometria algebrica e teoria de singularidades.
Neste minicurso, como o foco e sobre variedades afins, geometricamente isto significa
que vamos computar globalmente com polinomios. E neste caso, os aneis que vamos defi-
nir e usar serao todos aneis globais. Embora, no singular podemos trabalhar com varios
tipos de aneis, por exemplo com localizacoes, aneis locais e aneis quocientes. Um otimo
livro para introducao ao singular, veja [2]. Neste livro, muitos teoremas e exemplos sobre
algebra comutativa, geometria algebrica e teoria de singularidades vem acompanhados
com algoritmos e exemplos usando o singular, facilitando assim o entendimento dos te-
oremas e exemplos. Para maiores detalhes sobre os comandos e procedures do Singular,
veja [3].
Ambiente Singular:
1. Quando o Singular e iniciado aparece o sımbolo “>”;
2. Todo comando no Singular termina com o sımbolo “;”
3. Qualquer objeto no Singular tem um tipo. Por exemplo: a palavra int define um
numero inteiro, a palavra poly define um polinomio.
> int k = 12;
4. Para associar um nome a um objeto utilize o sımbolo “=”.
5. Para testar se dois objetos sao iguais respectivamente diferentes, use o sımbolo
“==”, respectivamente “!=”ou “<>”, onde 0 (zero) representa a variavel boleana
FALSE (falso), e qualquer outro valor representa TRUE (verdadeiro).
> k == 12;
1;
> k != 12;
0;
6. Para mostrar o valor de um objeto, simplesmente escreva o nome dele.
> k;
12;
7. o comando
14
> help; //abre o arquivo de ajuda do singular.
No Singular podemos definir aneis de polinomios, por exemplo sobre os seguintes
corpos:
1. o corpo do numeros racionais Q;
2. o corpo finito Zp, p ≤ 32003;
3. ponto flutuante real;
4. ponto flutuante complexo;
5. extensoes algebricas de Q ou Zp.
E outros nao citados aqui.
Observacao 1.24. A computacao sobre os corpos dos itens 1., 2. e 5. e exata, limitada
somente pela memoria interna do computador. Por outro lado, quanto aos itens 3. e
4. nao temos uma representacao do corpo dos numeros reais ou complexos. Devido aos
erros de arredondamento, o produto ou a soma de dois elementos nao nulos pode ser zero.
Pode-se confiar na maioria dos resultados, mas mesmo em computadores com precisao
muita alta ao representar numeros reais, erros podem acontecer e a responsabilidade e do
usuario.
Para fazer calculos com matrizes, ideais, modulos, polinomios, precisamos definir um
anel primeiro.
Computacao no corpo dos numeros racionais:
> ring A=0, (x), dp;
> number n = 2/3;
> n^3;
8/27;
O comando > ring A= 0, (x), dp; significa que definimos o anel A=Q[x] anel polinomial
de caracterıstica zero na variavel x sobre Q e dp e uma ordem monomial usada, no caso
ordem lexografica reversa (global).
Computacao em corpo finito:
> ring A1=32003, (x), dp;
> number n=1010253;
> n^8;
3451;
15
O comando > ring A1= 32003, (x), dp; significa que definimos o anel A1= Zp[x], anel
polinomial de caracterıstica p = 32003 em uma variavel sobre Zp.
Computacao com 100 dıgitos de precisao nos reais:
> ring r=(real,100),(x),dp;
> number n=2/5;
> n^9000;
0.3466745429523766868669875201719137528580444595048549101118260943266639
857068382934568148647598693689e-3581
>
Neste exemplo, temos um numero com 3581 dıgitos depois da vırgula, mas mostrando
apenas 100.
Computacao com 20 dıgitos de precisao nos complexos:
> ring R1=(complex, 20,i), (x), dp;
> number n = 123456.0+0.021i;
> n^7;
0.43710463467674779545e+36+i*0.5204638194705186105e+31;
O resultado e um numero complexo com a parte real e imaginaria tendo respectivamente
36 e 31 dıgitos, porem mostrando apenas 20 dıgitos.
Computacao em aneis polinomiais (sobre Q)
> ring R=0,(x,y,z), lp;
> poly f=x4+zy2;
> f*f-2*f;
x8+2x4y2z-2x4+y4z2-2y2z
>
O anel acima, e um anel de caracterıstica 0 sobre Q, nas variaveis (x, y, z). (usando ordem
lexicografica global lp.)
Mais exemplos de aneis que podemos definir.
> ring r1=integer,(a,b),lp;
Anel sobre os inteiros nas variaveis a e b e ordem lexografica.
> ring r2=(integer, 20),(a,b),lp;
Anel sobre os inteiros modulo 20 nas variaveis a e b.
16
> ring r3=(integer,2,12),(a,b),lp;
Anel sobre os inteiros modulo 212 nas variaveis a e b.
> ring r4 = 0,(x(1..48)),dp;
Anel com caracterıstica zero sobre Q nas variaveis x(1), . . . , x(48).
> ring r5 = 0,(x,y,z),dp;
> ideal I=x^2,y,z^2;
> qring r6 = std(I); \\anel quociente modulo I
Podemos definir varios aneis no mesmo ambiente do Singular e para mudar de um
anel para outro, basta usar o comando:
> setring r1;
O comando acima muda do anel atual para o anel r1 ja definido anteriormente, sem apagar
os dados do anel atual.
No Singular, tambem e possıvel programar, criar procedimentos (procedures) e criar
bibliotecas (libraries), e a sintaxe e baseada na conhecida linguagem C. A distribuicao
do Singular contem diversas bibliotecas, onde cada uma delas contem uma colecao de
procedimentos, que podem ser carregadas quando precisar. O comando
> LIB "all.lib";
carrega e lista todas as bibliotecas do Singular. Use a ajuda do Singular, para uma breve
explicacao sobre cada uma delas.
Objetos definidos em um anel, podem ser transportados para outros aneis sem ter
que redefini-los novamente. Para isso, consulte os funcoes(comandos) “fecth”e “imap”na
ajuda do Singular.
Os comandos que vamos usar neste minicurso para calcular bases de Groebner sao
“groebner”e “std”, porem existem outros no Singular.
No Exemplo 1.16 realizamos a divisao (usando ordem lex) de f := x2y+xy2 + y2, por
g1 := xy− 1 e g2 := y2− 1, resultando no resto r := x+ y+ 1 e ao Exercıcio 1.17, o resto
da divisao de f := x2y + xy2 + y2 por g1 := y2 − 1 e g2 := xy − 1 e 2x + 1. Tambem,
verificamos que o ideal I = 〈xy − 1, y2 − 1〉 nao e uma base de Groebner de I. Agora
vamos calcular a base de Groebner de I usando a ordem monomial lex (lp) e ver o que
acontente quando efetuamos a divisao permutando a posicao dos novos geradores.
> LIB "standard.lib"; \\biblioteca para bases standard ou groebner
> ring r=0,(x,y),lp;
> ideal I=xy-1,y2-1; \\ideal I com geradores g1 e g2
17
> ideal G=groebner(I); \\retorna a base de Groebner do ideal I
> G; \\base de Groebner de I
G[1]=y2-1
G[2]=x-y
Agora vamos efetuar a divisao de f : x2y + xy2 + y2 pelo ideal G = 〈y2 − 1, x − y〉,usando ordem lp com x > y
Exemplo 1.25. Sejam os polinomios f := x2y + xy2 + y2, G1 := y2 − 1 e G2 := x− y.
G1 : y2 − 1 Passo 1: LT (G1) = y2 nao divide LT (p) = x2y
p : x2y + xy2 + y2 G2 : x− y LT (G2) = x divide LT (p) = x2y
x2y − xy2 a1 : 0 Entao, a2 := (LT (p)/LT (G2)) = xy
2xy2 + y2 a2 : xy
r : 0
G1 : y2 − 1 Passo 2: LT (G1) = y2 divide LT (p) = 2xy2
p : 2xy2 + y2 G2 : x− y Entao, a1 := a1 + (LT (p)/LT (G1)) = 2x
2xy2 − 2x a1 : 2x
2x+ y2 a2 : xy
r : 0
G1 : y2 − 1 Passo 3: LT (G1) = y2 nao divide LT (p) = 2x
p : 2x+ y2 G2 : x− y LT (G2) = x divide LT (p) = 2x
2x− 2y a1 : 2x Entao, a2 := a2 + (LT (p)/LT (G2)) = a2 + 2
y2 + 2y a2 : xy + 2
r : 0
G1 : y2 − 1 Passo 4: LT (G1) = y2 divide LT (p) = y2
p : y2 + 2y G2 : x− y Entao, a1 := a1 + (LT (p)/LT (G2)) = a1 + 1
y2 − 1 a1 : 2x+ 1
2y + 1 a2 : xy + 2
r : 0
G1 : y2 − 1 Passo 5: LT (G1) = y2 nao divide LT (p) = 2y
p : 2y + 1 G2 : x− y LT (G2) = x nao divide LT (p) = 2y
p : 1 a1 : 2x+ 1 neste caso, movemos o LT (p) = 2y para o resto r
a2 : xy + 2
r : 2y
G1 : y2 − 1 Passo 6: LT (G1) = y2 nao divide LT (p) = 1
p : 1 G2 : x− y LT (G2) = x nao divide LT (p) = 1
p : 0 a1 : 2x+ 1 neste caso, movemos o LT (p) = 1 para o resto r
a2 : xy + 2
r : 2y + 1 p := 0 e o algoritmo da divisao termina.
18
Portanto,
f = a1.G1 + a2.G2 + r
ou
x2y + xy2 + y2 = (2x+ 1).(y2 − 1) + (xy + 2).(x− y) + (2y + 1).
Exercıcio 1.26. Repita o Exemplo 1.25, com G1 : x− y e G2 : y2 − 1 e conclua que
f = a1.G1 + a2.G2 + r
ou
x2y + xy2 + y2 = (xy + 2y2).(x− y) + (2y + 1).(y2 − 1) + (2y + 1).
Note que o resto r := 2y+ 1 e o mesmo tanto no Exemplo 1.25 quanto no Exercıcio 1.26.
Neste, caso e facil ver que
I = 〈y2 − 1, xy − 1〉 = 〈y2 − 1, x− y〉 = G,
pois
xy − 1 = y.(x− y) + 1.(y2 − 1) ∈ G
e
x− y = −x.(y2 − 1) + y.(xy − 1) ∈ I.
Usando o Singular para encontrar os ai e o resto r.
> ring r=0,(x,y),lp;
> ideal I=y2-1,x-y;
> poly f=x2y+xy2+y2;
> list L=division(f,I); //cria uma lista com os ai´s e o resto r
> L[1]; //retorna os ai´s
_[1,1]=2x+1
_[2,1]=xy+2
> L[2]; //retorna o resto r
_[1]=2y+1
>
Observamos que o comando “division(f,I)”calcula internamente a base de Groebner do
ideal I. Assim, o ideal pode ser declarado sem se preocupar em calcular sua base de
Groebner antes.
Para saber se um polinomio f pertence a um ideal I, podemos usar o comando “re-
duce”do Singular. Este comando faz mais do que isso, na verdade, ele reduz um polinomio,
vetor, ideal ou modulo para sua forma normal com respeito a um ideal ou modulo repre-
sentado por sua base padrao (bases standard ou bases de groebner). O comando “re-
duce”retorna 0 se, e somente se, o polinomio e um elemento do ideal. Certifique-se que o
ideal esteja na forma padrao (standard ou groebner).
19
> ring r=0,(x,y),lp;
> ideal I=y2-1,xy-1;
> poly f=x2y+xy2+y2;
> ideal J=std(I); //retorna base standard ou groebner
> J;
J[1]=y2-1
J[2]=x-y
> reduce(f,J);
2y+1 //diferente de zero, logo f n~ao pertence a I
20
Capıtulo 2
Variedades afins
Uma variedade algebrica e o conjunto de zeros de uma famılia de polinomios e constitui
o objeto principal de estudo da geometria algebrica. Pelo conceito de variedade algebrica
e possıvel constituir uma relacao entre a algebra e a geometria, o que permite reformular
problemas geometricos em termos algebricos, e vice-versa. Tal relacao e baseada principal-
mente no fato que um polinomio complexo em uma variavel e completamente determinado
em seus zeros: o Teorema dos Zeros de Hilbert permite estabelecer uma correspondencia
entre variedade algebrica e ideal de aneis de polinomios.
Neste capıtulo, definiremos variedades afins com varios exemplos. Usando o Singular
calcularemos intersecao, uniao e dimensao de variedades afins. Por ultimo, exercıcios da
geometria euclidiana plana serao resolvidos via traducao para a linguagem algebrica, e
bases de Groebner com o auxılio do Singular.
2.1 Definicao e Exemplos
O conjunto Kn = {(a1, . . . , an) : a1, . . . , an ∈ K} e chamado de espaco afim n-dimensional
sobre K. Por exemplo, se K = R, temos o usual e conhecido espaco euclidiano Rn.
Cada polinomio f ∈ K[x1, . . . , xn] define uma funcao f : Kn → K. O valor de f em
(a1, . . . , an) ∈ Kn e obtido substituindo xi por ai e calculando o resultado da expressao
em K. Mais precisamente se escrevemos f =∑
α cαxα para cα ∈ K, entao f(a1, . . . , an) =∑
α cαaα ∈ K, onde aα = aα1
1 · · · aαnn .
Recordamos o seguinte fato basico.
Observacao 2.1. Se K e um corpo infinito, entao f : Kn → K e a funcao nula se, e
somente se, f = 0 ∈ K[x1, . . . , xn].
Lembrando que o polinomio nulo e um polinomio onde todos seus coeficientes sao
iguais a zero, e uma funcao f e nula se f(a) = 0 para todo a ∈ Kn. Estes dois fatos nao
sao equivalentes, veja por exemplo F2[x], onde F2 = Z2 = {0, 1} e f(x) = x2 − x. Temos
que f(x) nao e o polinomio nulo, mas f(a) = 0, a ∈ F2.
21
Como uma consequencia deste fato, quando K e infinito, dois polinomios define a
mesma funcao sobre Kn se, e somente se, sao iguais em K[x1, . . . , xn]. Note que qualquer
equacao p = q, onde p, q ∈ K[x1, . . . , xn], pode ser reescrita da forma p − q = 0, entao e
usual escrever todas as equacoes da forma f = 0.
Os objetos geometricos mais simples estudados em geometria algebrica sao os subcon-
juntos de espacos afins definidos por uma ou mais equacoes polinomiais. Por exemplo em
R3, considere o conjunto (x, y, z) satisfazendo a equacao
x2 + z2 − 1 = 0,
um cilindro circular de raio 1 ao longo do eixo y, Figura 2.1.
Figura 2.1: Cilindro.
Mais geralmente, podemos considerar solucoes simultaneas de um sistema de equacoes
polinomiais.
Definicao 2.2. O conjunto de todas as solucoes simultaneas (a1, . . . , an) ∈ Kn de um
sistema de equacoes polinomiais:
f1(x1, . . . , xn) = 0
f2(x1, . . . , xn) = 0...
fs(x1, . . . , xn) = 0
e conhecida como a variedade afim definida por f1, . . . , fs, e e denotada por V (f1, . . . , fs).
Um subconjundo V ⊂ Kn e dito ser uma variedade afim se V = V (f1, . . . , fs) para alguma
colecao de polinomios fi ∈ K[x1, . . . , xn].
As conicas: parabolas, elipses e hiperboles, sao exemplos de variedades afins. Graficos
de funcoes polinomiais e de funcoes racionais tambem sao exemplos de variedades afins.
Veja que se y = f(x), (f(x) sendo um polinomio) entao o grafico de f e dado por
V (y − f(x)). O grafico da funcao racional y = 1x−1 e V (yx− y − 1), veja Figura 2.2.
22
Figura 2.2: V (yx− y − 1).
Tambem e verdade que:
1. Intersecao finita de variedades afins e uma variedade afim, pois se I = 〈f1, . . . , fs〉,
entao V (I) =s⋂i=1
V (fi) =⋂F∈I
V (F ).
2. Uniao finita de variedades afins tambem e uma variedade afim, pois V (f · g) =
V (f) ∪ V (g), para quaisquer polinomios f e g.
Veja Exemplo 2.3 para ilustrar os itens 1. e 2. acima.
Exemplo 2.3. Considere o cone V ((z−2)2−x2−y2) ⊂ R3 e a esfera V (x2+y2+z2−4) ⊂R3. Calcular a intersecao e a uniao destas duas variedades afins.
Intersecao:
V ((z − 2)2 − x2 − y2, x2 + y2 + z2 − 4)).
Note que na intersecao da esfera e o cone, na Figura 2.3 (parte real) vemos uma
circunferencia e um ponto isolado, que sao os pontos em comum nas duas variedades
afins. Em outras palavras, V ((z − 2)2 − x2 − y2, x2 + y2 + z2 − 4) = V ((z − 2)2 − x2 −y2)) ∩ V (x2 + y2 + z2 − 4).
Considere o seguinte sistema (obter cone ∩ esfera):{(z − 2)2 − x2 − y2 = 0
x2 + y2 + z2 − 4 = 0
23
Figura 2.3: Intersecao: cone e esfera.
Temos: x2 + y2 = 4− z2, substituindo na primeira linha resulta:
2z2 − 4z = 0,
logo, z = 0 ou z = 2. Assim,
no plano z = 0, temos a circunferencia: x2 + y2 = 4 e
no plano z = 2, temos x2 + y2 = 0, que e o ponto (0, 0, 2) (caso real) ou duas retas
(x+ iy)(x− iy) contida no plano z = 2 (caso complexo).
No caso da uniao, temos
V (((z−2)2−x2−y2) · (x2 +y2 +z2−4)) = V ((z−2)2−x2−y2))∪V (x2 +y2 +z2−4).
Figura 2.4: Uniao: cone e esfera.
24
Casos triviais de variedades afins sao: V (0) = Kn, V (1) = ∅. E como V (x1 −a1, . . . , xn − an) = (a1, . . . , an), ai ∈ K, entao qualquer subconjunto finito de Kn, n > 0, e
uma variedade afim.
Por outro lado, considere o conjunto S = R − {0, 1, 2} ⊂ R. S nao e uma variedade
afim, pois se f e um polinomio em R[x] que se anula em todo ponto de S, entao f tem
infinitas raızes. Por propriedade de polinomios em uma variavel, isto implica que f deve
ser necessariamente o polinomio nulo (isto pode ser provado usando algoritmo da divisao).
Portanto, a menor variedade em R contendo S e a propria reta real.
Se F e um polinomio nao constante, o conjunto de zeros de F , isto e, pontos a =
(a1, . . . , an) ∈ Kn tal que F (a) = 0, e chamado de hipersuperfıcie definida por F , e
denotada por V (F ). Se F e um polinomio de grau 1, V (F ) e chamado de hiperplano em
Kn.
Um exemplo de variedade afim importante com muitas aplicacoes vem da algebra
linear. Fixamos um corpo K e considere um sistema linear com m equacoes e n variaveis
x1, . . . , xn com coeficiente em K:
S :
a11x1 + · · · + a1nxn = b1
...
am1x1 + · · · + amnxn = bm
(2.1)
As solucoes destas equacoes formam uma variedade afim em Kn, chamada especial-
mente de variedade linear. Assim, retas e planos sao exemplos de variedades lineares. Em
algebra linear, aprendemos o metodo reducao por linha, tambem chamada de eliminacao
Gaussiana, que nos fornece um metodo ou algoritmo para encontrar todas as solucoes de
tal sistema de equacoes lineares. Existe uma generalizacao deste algoritmo para resolver
sistemas com equacoes polinomiais.
E importante saber a dimensao de uma variedade afim. Nao entraremos na discussao
mais profunda sobre dimensao de uma variedade afim. Mais, adiante usaremos o Singular
para calcular a dimensao de tais variedades. Mas, podemos falar rapidamente de modo
intuitivo sobre a dimensao de uma variedade afim. Por exemplo: uma reta ou uma curva
em R2 e um objeto de dimensao 1. Note que
(dimensao da curva) = 1 = dimR2− (num. de equacoes).
Uma equacao em R3 geralmente nos da uma superfıcie, que tem dimensao 2. Note que
(dimensao da superfıcie) = 2 = dimR3− (num. de equacoes).
A intersecao de dois planos concorrentes em R3 gera uma reta, cuja dimensao e 1,
assim
(dimensao da reta ⊂ R3) = 1 = dimR3− (num. de equacoes).
25
A intuicao que temos e que a dimensao da variedade afim e igual a dimensao do
espaco menos o numero de equacoes. Se isso for verdade, entao a dimensao do conjunto
solucao do sistema linear S acima seria, m− n (numero de equacoes menos o numero de
variaveis). Mas, isso nao e verdade em geral. Na verdade, quando o conjunto V ⊂ Kn
for a variedade linear do sistema linear S, os teoremas da algebra linear nos dizem que
se V 6= ∅, entao V tem dimensao n − r, onde r e o posto da matriz dos coeficientes do
sistema S. Portanto, para variedades lineares a dimensao e determinada pelo numero de
equacoes independentes. Esta intuicao se aplica para variedades afins em geral, veja [1].
Um outro exemplo onde a dimensao da variedade afim e diferente da dimensao do
espaco menos o numero de equacoes e dado por:
V (xz, yz),
veja que temos duas equacoes, mas a dimensao desta variedade nao e 1 (dimensao do
espaco menos o numero de equacoes), pois as equacoes xz = yz = 0 define a uniao do
plano xy com o eixo z, que tem dimensao global igual a 2.
Um exemplo de variedade afim na forma parametrica.
Exemplo 2.4. Mostre que W := {(t, t2, t3) ∈ K3, t ∈ K} e uma variedade afim.
Precisamos encontrar um conjunto de equacoes polinomiais com 3 variaveis que se anulam
nos pontos da forma (t, t2, t3). Este problema e chamado de implitizacao e e sempre
possıvel resolve-lo.
Seja, x = t, y = t2 e z = t3. Agora precisamos eliminar a variavel t. Temos
x2 = t2 = y, logo uma equacao e da forma: x2 − y = 0.
x3 = t3 = z, logo outra equacao e da forma: x3 − z = 0.
y3 = t6 = z2, logo uma equacao e da forma: y3 − z2 = 0.
Assim, os pontos da forma (t, t2, t3), t ∈ K, satisfazem simultaneamente essas equacoes,
logo
W = V (x2 − y, x3 − z, y3 − z2).
Portanto, W e uma variedade afim.
Note tambem que:
xy = t3 = z, logo outra equacao e da forma: xy − z = 0.
xz = t4 = y2, logo outra equacao e da forma: xz − y2 = 0.
Entao,
W = V (x2 − y, xy − z, xz − y2).
Portanto, W e uma variedade afim.
Exercıcio 2.5. Verifique que sao iguais os ideais I1 = 〈x2 − y, x3 − z, y3 − z2〉 e I2 =
〈x2 − y, xy − z, xz − y2〉.
26
Uma variedade afim V = V (f1, . . . , fs) ⊂ Kn, pode ser descrita por diferentes sistemas
de equacoes, pois se g = p1f1 + . . . + psfs, com pi ∈ K[x1, . . . , xn], entao g(a) = 0,
a ∈ V . Consequentemente, dado qualquer conjunto de equacoes definindo uma variedade
V , sempre podemos produzir infinitos novos polinomios que tambem se anulam sobre
V . Na linguagem de ideais, g como acima, significa que g pertence ao ideal gerado por
f1, . . . , fs. Logo, uma colecao destes novos polinomios define a mesma variedade que os
polinomios f1, . . . , fs define. Em resumo, ideais iguais tem variedades iguais, isto e, se
I = 〈f1, . . . , fs〉, J = 〈g1, . . . , gt〉 e I = J , entao V (I) = V (J). Podemos ter V (I) = V (J)
com I J , neste caso tomamos, I = 〈x2, y2〉 e J = 〈x, y〉 em K[x, y].
Exemplo 2.6. Considere o seguinte sistema linear
S :
x + 2y − z + 1 = 0
−x + y − z + 2 = 0
2x − 2y + 2z + 1 = 0.
(2.2)
Escalonando o sistema linear S, obtemos o sistema linear S1 equivalente a S, dado por:
S1 :
x + 2y − z + 1 = 0
3y − 2z + 3 = 0
1 = 0.
(2.3)
Como S1 nao tem solucao, segue que S tambem nao tem. Por outro lado, note que os
ideais determinado pelas equacoes de S e S1 sao respectivamente,
I = 〈x+ 2y − z + 1,−x+ y − z + 2, 2x− 2y + 2z + 1〉
e
J = 〈x+ 2y − z + 1, 3y − 2z + 3, 1〉.
Um dos geradores do ideal J e o polinomio constante nao nulo g := 1, e como nenhum
ponto de K3 se anula em g(x, y, z) = 1, temos que V (I) = V (J) = ∅. Observe que o ideal
J gera todo anel, pois 1 ∈ J .
Como no exemplo anterior, todo ideal J que contem um polinomio constante nao nulo,
entao V (J) = ∅. Se K nao e algebricamente fechado, podemos ter V (J) = ∅, sem que
1 ∈ J . O ideal proprio gerado por x2 + 1 ∈ R[x] nao tem um zero comum. Porem, se
K e um corpo algebricamente fechado e se J ( K[x1, . . . , xn] (J um ideal proprio), entao
V (J) 6= ∅. Nao vamos provar esta afirmacao aqui, veja [1], e e um resultado devido a
Hilbert.
O Hilbert Nullstellensatz (em alemao: teorema dos zeros) e um teorema em Geo-
metria Algebrica que relaciona variedades e ideais em aneis de polinomios sobre corpos
algebricamente fechados. Foi provado inicialmente por David Hilbert, em 1893. Seja Kum corpo algebricamente fechado (como o dos numeros complexos), considera-se o anel
27
de polinomios K[x1, . . . , xn] e seja I um ideal neste anel. O Teorema dos Zeros de Hilbert
nos diz que se p e um polinomio em K[x1, . . . , xn] que se anula na variedade V (I), isto
e, p(a) = 0 para todo a ∈ V (I), entao existe um numero natural r tal que pr ∈ I. Um
corolario imediato e o Teorema dos Zeros Fraco: se I e um ideal proprio em K[x1, . . . , xn],
entao V (I) nao pode ser vazio, isto e, existe um zero comum para todos os polinomios do
ideal. Esta e a razao para o nome do teorema.
2.2 Usando o Singular
Nesta secao vamos usar o Singular para calculos com variedades afins.
1. Calculos com V (I), I = 〈(z − 2)2 − x2 − y2, x2 + y2 + z2 − 4〉, do Exemplo 2.3.
> ring r=0,(x,y,z),dp; \\anel polinomial Q[x,y,z]
> LIB "primdec.lib"; \\biblioteca para decomposic~ao primaria de ideais
> ideal I=(z-2)^2-x2-y2,x2+y2+z2-4; \\definic~ao do ideal no singular
> ideal E=std(I);E; \\base de Groebner ou standard do ideal I
E[1]=z2-2z
E[2]=x2+y2+z2-4
> list L=primdecGTZ(E); \\decomposic~ao primaria do ideal E
> L; \\lista com duas componentes
[1]:
[1]:
_[1]=z
_[2]=x2+y2-4
[2]:
_[1]=z
_[2]=x2+y2-4
[2]:
[1]:
_[1]=z-2
_[2]=x2+y2
[2]:
_[1]=z-2
_[2]=x2+y2
> dim(std(L[1][1]));
1 \\dimens~ao (complexa) da componente <z, x2+y2-4>
> dim(std(L[2][1]));
1 \\dimens~ao (complexa) da componente <z-2, x2+y2>
> dim(E);
1 \\dimens~ao de V(E)=V(I)
28
Os ideais L[1][2] = 〈z, x2 + y2 − 4〉 e L[2][2] = 〈z − 2, x2 + y2〉, que definem respecti-
vamente, a circunferencia de raido 2 e centro na origem no plano z = 0 e o par de retas
(x+ iy)(x− iy) no plano z = 2, foram obtidos anteriormente sem a ajuda do Singular.
O comando “primdecGTZ”da biblioteca “primdec.lib”realiza decomposicao primaria
de ideais, e cada componente primaria corresponte a uma componente da variedade afim
associada. O comando “dim(std(I))”calcula a dimensao (complexa) de V (I). Note que
dim(std(L[2][2])) = 1, pois x2 + y2 e um par de retas considerando o corpo dos numeros
complexos.
2. Calcular o ideal que define a variedade afim W := {(t, t2, t3) ∈ K3, t ∈ K}.
> ring r=0,(t,x,y,z),dp; \\definir anel de polinomios em 4 variaveis
> ideal i = x-t,y-t2,z-t3;
> i; \\o ideal i corresp. a: x=t, y=t^2, z=t^3
i[1]=-t+x
i[2]=-t2+y
i[3]=-t3+z
> ideal I=eliminate(i,t); \\elimina a variavel t do ideal i
> I;
I[1]=y2-xz
I[2]=xy-z
I[3]=x2-y
Compare com o ideal I obtido no Exemplo 2.4.
3. Encontar a solucao do sistema linear, Exemplo 2.6.
S2 :
x + 2y − z + 1 = 0
−x + y − z + 2 = 0
2x − 2y + 2z + 1 = 0.
(2.4)
> ring r=0,(x,y,z),dp;
> ideal I=x+2y-z+1,-x+y-z+2,2x-2y+2z+1; //gerado pelas equac~oes de S2
> I;
I[1]=x+2y-z+1
I[2]=-x+y-z+2
I[3]=2x-2y+2z+1;
> ideal J=groebner(I);
> J;
J[1]=1
Como J = 〈1〉 e V (I) = V (J) = ∅, entao este sistema linear nao possui solucao.
29
4. Estudar os sistemas de equacoes lineares S3 e S4, onde
S3 :
5x + 2y − z = a
−x + y − 7z = b
2x − 2y + 11z = c
(2.5)
e S4 sendo S3 acrescido da condicao x+ y + z = 0.
O objetivo e expressar as variaveis x, y, z em funcao dos parametros a, b e c (se
possıvel). Quanto ao sistema S4, encontrar condicoes sobre a, b, c de modo que o sis-
tema tenha solucao.
Vamos expressar os sistemas S3 e S4 como ideais I3 e I4, primeiro em um anel com
variaveis x, y, z e parametros a, b, c e depois em um anel com variaveis x, y, z, a, b e c.
Temos que,
I3 = 〈5x+ 2y − z − a,−x+ y − 7z − b, x− 2y + 11z − c〉
e
I4 = 〈5x+ 2y − z − a,−x+ y − 7z − b, x− 2y + 11z − c, x+ y + z〉.
> ring R=(0,a,b,c),(x,y,z),(c,dp); \\anel em x,y,z e parametros a,b,c
> ideal I3=5x+2y-z-a,-x+y-7z-b,x-2y+11z-c;
> I3;
I3[1]=5x+2y-z+(-a)
I3[2]=-x+y-7z+(-b)
I3[3]=x-2y+11z+(-c)
> ideal I4=I3,x+y+z;
> I4;
I4[1]=5x+2y-z+(-a)
I4[2]=-x+y-7z+(-b)
I4[3]=x-2y+11z+(-c)
I4[4]=x+y+z
> option(redSB);
> simplify(std(I3),1); //simplifica deixando coef. termo lider igual a 1
_[1]=z+(1/8a+3/2b+7/8c)
_[2]=y+(1/2a+7b+9/2c)
_[3]=x+(-3/8a-5/2b-13/8c)
> std(I4);
_[1]=1
Devemos ler “simplify(std(I3),1)”como
S3 :
z = −(1
8a+ 3
2b+ 7
8c)
y = −(12a+ 7b+ 9
2c)
x = −(−38a− 5
2b− 13
8c).
30
O fato de std(I4) = 〈1〉, significa que para valores gerais, porem fixados de a, b, c, o
sistema S4 nao possui solucao sobre o corpo das funcoes racionais em a, b, c, isto e, nao
possui solucao sobre Q(a, b, c). O comando “ring R=(0,a,b,c),(x,y,z),(c,dp)”define o anel
Q(a, b, c)[x, y, z], que e um anel de caracterıstica zero nas variaveis x, y, z e coeficientes
em Q(a, b, c), ou seja, os coeficientes sao funcoes racionais nas variaveis a, b, c.
Ja que para valores gerais sobre a, b, c o sistema S4 nao possui solucao, a pergunta e:
quais as condicoes sobre a, b, c de modo que S4 possua solucao e em seguida resolve-lo?
Para resolver este problema, precisamos passar para um anel com a, b, c tambem sendo
variaveis. Como temos que resolver para x, y, z, entao estas variaveis devem vir primeiro
na definicao de anel pelo Singular.
> ring R2=0,(x,y,z,a,b,c),dp; \\anel com variaveis x,y,z,a,b,c
> ideal I4=imap(R,I4);
> I4;
I4[1]=5x+2y-z-a
I4[2]=-x+y-7z-b
I4[3]=x-2y+11z-c
I4[4]=x+y+z
> ideal J=simplify(std(I4),1);
> J;
J[1]=a+24b+15c
J[2]=z-3/2b-c
J[3]=y-5b-3c
J[4]=x+13/2b+4c
>
Para que o sistema S4 tenha solucao, a equacao a+ 24b+ 15c = 0 deve ser satisfeita.
O restante das equacoes de J fornece entao as solucoes para x, y e z em termos de b e c.
O comando “imap”utilizado acima e uma aplicacao entre aneis e que preserva o nome
das variaveis. Como o ideal I4 ja tinha sido previamente definido no anel R, o comando
“imap(R,I4)”apenas fez uma copia do ideal I4 para o anel atual R2.
5. Multiplicadores de Lagrange Via Bases de Groebner
No Calculo aprendemos que o metodo dos multiplicadores de Lagrange, isto e, que a
igualdade ∇(f) = λ∇(g) se verifica nos pontos de maximos ou mınimos locais, onde f e
a funcao que queremos encontrar estes extremos locais, sujeito a restricao g = k. Para
isso, e necessario resolver o sistema {∂f∂xi
= λ ∂g∂xi
g = k.(2.6)
31
Definicoes e teoremas do metodo de multiplicadores de Lagrange podem ser encontra-
dos em livros de calculo ou em livros de cursos de Analise no Rn. Neste item, vamos
apenas usar bases de Groebner e o Singular para encontrar esses maximos e mınimos
condicionados.
Encontrar os maximos e mınimos locais da funcao f(x, y, z) = x3 + 2xyz − z2 sujeita
a condicao g(x, y, z) = x2 + y2 + z2 = 1. Para isso, devemos resolver o seguinte sistema
de equacoes polinomiais:
S5 :
3x2 + 2yz = 2xλ
2xz = 2yλ
2xy − 2z = 2zλ
x2 + y2 + z2 = 1.
Como sao quatro variaveis envolvidas λ, x, y, z, entao S5 define uma variedade afim
em R4. Note que no metodo dos multiplicadores de Lagrange, Equacao 2.6 acima, com a
adicao do parametro λ, teremos um sistema com o numero de equacoes igual ao numero de
variaveis. Resolver o sistema S5 sem auxılio de um computador, e uma tarefa trabalhosa.
O objetivo e usar bases de Groebner e o Singular para encontrar todas as solucoes de S5.
Vamos calcular uma base de Groebner para o ideal
I5 = 〈3x2 + 2yz − 2xλ, 2xz − 2yλ, 2xy − 2z − 2zλ, x2 + y2 + z2 − 1〉 ⊂ R[λ, x, y, z].
> ring r=0,(lam,x,y,z),lp; \\lam para representar a variavel lambda
> ideal I5=3x2+2yz-2x*lam, 2xz-2y*lam,2xy-2z-2z*lam,x2+y2+z2-1;
> I5;
I5[1]=-2*lam*x+3*x^2+2*y*z
I5[2]=-2*lam*y+2*x*z
I5[3]=-2*lam*z+2*x*y-2*z
I5[4]=x^2+y^2+z^2-1
> ideal I6=simplify(std(I5),1); \\base de Groebner do ideal I5
> I6;
I6[1]=z^7-1763/1152*z^5+655/1152*z^3-11/288*z
I6[2]=y*z^3-y*z-576/59*z^6+1605/118*z^4-453/118*z^2
I6[3]=y^2*z-6912/3835*z^5+827/295*z^3-3839/3835*z
I6[4]=y^3+y*z^2-y-9216/3835*z^5+906/295*z^3-2562/3835*z
I6[5]=x*z+y*z^2-1152/3835*z^5-108/295*z^3+2556/3835*z
I6[6]=x*y-19584/3835*z^5+1999/295*z^3-6403/3835*z
I6[7]=x^2+y^2+z^2-1
I6[8]=lam-3/2*x-3/2*y*z-167616/3835*z^6+36717/590*z^4-134419/7670*z^2
> dim(I6);
0 \\dimens~ao = 0, logo V(I6) e finito.
32
Uma base de Groebner de I5 e o ideal I6 obtido acima pelo Singular, e seu sistema
associado e:
S6 :
z7 − 17631152
z5 + 6551152
z3 − 11288z = 0
yz3 − yz − 57659z6 + 1605
118z4 − 453
118z2 = 0
y2z − 69123835
z5 + 827295z3 − 3839
3835z = 0
y3 + yz2 − y − 92163835
z5 + 906295z3 − 2562
3835z = 0
xz + yz2 − 11523835
z5 − 108295z3 + 2556
3835z = 0
xy − 195843835
z5 + 1999295
z3 − 64033835
z = 0
x2 + y2 + z2 − 1 = 0
λ− 32x− 3
2yz − 167616
3835z6 + 36717
590z4 − 134419
7670z2 = 0.
Como I5 = I6 entao V (I5) = V (I6). Embora, o sistema S6 tenha o dobro de equacoes e
coeficientes menos simples do que S5, qual deles voce prefere resolver?
Observe que a primeira equacao de S6 depende somente da variavel z, e e facil de ver
que 0, 1 e −1 sao raızes, logo
z7 − 1763
1152z5 +
655
1152z3 − 11
288z = z(z − 1)(z + 1)(z4 − 611
1152z2 +
11
288)
e como
z4 − 611
1152z2 +
11
288=
1
1152(3z + 2)(3z − 2)(128z2 − 11),
entao as raızes da primeira equacao sao:
0, 1, −1, 2/3, −2/3,1
16
√22, − 1
16
√22.
Substituindo esses valores para z em S6, temos as seguintes solucoes:
[λ = −1, x = 0, y = 0, z = −1], [λ = −1, x = 0, y = 0, z = 1],
[λ = 0, x = 0, y = −1, z = 0], [λ = 0, x = 0, y = 1, z = 0],
[λ = −43, x = −2
3, y = −1
3, z = −2
3], [λ = −4
3, x = −2
3, y = 1
3, z = 2
3],
[λ = −32, x = −1, y = 0, z = 0], [λ = 1
8, x = −3
8, y = − 3
16
√11√
2, z = 116
√11√
2],
[λ = 18, x = −3
8, y = 3
16
√11√
2, z = − 116
√11√
2], [λ = 32, x = 1, y = 0, z = 0].
Agora, vamos obter estas solucoes muito rapidamente (precisao de 8 dıgitos) com o
comando “solve”do Singular.
> def A=solve(I6,"nodisplay"); \\cria um anel contendo as soluc~oes de I6
> setring A; \\acessa o novo anel que nomeamos por A
> size(SOL); \\retorna o tamanho da lista SOL de soluc~oes
10 \\neste caso temos 10 soluc~oes
> SOL; \\mostra todas as soluc~oes
[1]:
33
[1]:
-1
[2]:
0
[3]:
0
[4]:
-1
[2]:
[1]:
-1
[2]:
0
[3]:
0
[4]:
1
[3]:
[1]:
-1.33333333
[2]:
-0.66666667
[3]:
-0.33333333
[4]:
-0.66666667
[4]:
[1]:
0.125
[2]:
-0.375
[3]:
0.87945295
[4]:
-0.29315098
[5]:
[1]:
0.125
[2]:
-0.375
34
[3]:
-0.87945295
[4]:
0.29315098
[6]:
[1]:
-1.33333333
[2]:
-0.66666667
[3]:
0.33333333
[4]:
0.66666667
[7]:
[1]:
0
[2]:
0
[3]:
-1
[4]:
0
[8]:
[1]:
0
[2]:
0
[3]:
1
[4]:
0
[9]:
[1]:
-1.5
[2]:
-1
[3]:
0
[4]:
0
35
[10]:
[1]:
1.5
[2]:
1
[3]:
0
[4]:
0
O comando “solve(I)” funciona quando o ideal I e 0-dimensional.
Como a restricao g define uma superfıcie compacta, segue que f admite maximo
e mınimo restrito a g. Avaliando f nos 10 pontos (solucoes) encontrados, concluımos
que f possui dois pontos de mınimos ocorrendo em (−23,−1
3,−2
3) e (−2
3, 13, 23) com valor
−2827
. E um ponto de maximo em (1, 0, 0) com valor 1. Sabemos que a supefıcie de nıvel
f(x, y, z) = f(p) tangencia a esfera x2 + y2 + z2 = 1, nos pontos onde f assume valor
maximo ou mınimo. Veja na Figura 2.5 abaixo, as superfıcies de nıvel f(x, y, z) = −2827
e
g(x, y, z) = 1 se tangenciando nos dois pontos de mınimos.
Figura 2.5: Superfıcies de nıvel f(x, y, z) = −2827
e g(x, y, z) = 1.
2.3 Problemas Geometricos Usando Polinomios
Introduzindo coordenadas cartesianas no plano euclidiano, as hipoteses e conclusoes de
uma grande classe de teoremas geometricos podem ser expressados atraves de equacoes
polinomiais que dependem das coordenadas de uma colecao de pontos de acordo com o
problema apresentado.
36
Dizemos que um teorema geometrico e admissıvel se ambos hipoteses e conclusoes
admitem uma formulacao somente em equacoes polinomiais. Existem muitos caminhos
diferentes, porem equivalentes para formulacoes de um teorema admissıvel.
Vejamos alguns simples, mas interessantes exemplos:
Exemplo 2.7. Seja o paralelogramo ABCD no plano como na Figura 2.6 abaixo.
Figura 2.6: Paralelogramo ABCD
Usando vetores da geometria analıtica ou teoremas e axiomas da geometria euclidiana,
conseguimos mostrar que as diagonais de um paralelogramo se intersectam em um ponto
N que divide ambas as diagonais em seu ponto medio.
Vamos mostrar este mesmo resultado por meio de geometria algebrica. Para isto,
fixamos um sistema de coordenadas cartesianas. Sem perda de generalidade podemos
supor que o ponto A e a origem e os demais da forma B(u1, 0), C(u2, u3), D(x1, x2) e
N(x3, x4), pois as propriedades do paralelogramo nao mudam sob translacoes e rotacoes
no plano e assim podemos fazer rotacoes e translacoes ate ficar como na figura abaixo.
Figura 2.7: Paralelogramo ABCD
Vamos estudar este problema com as variaveis u1, u2, u3 sendo independentes, e assim
os vertices N e D sao dependentes dos vertices A,B e C, isto e, as variaveis x1, x2, x3 e
x4 sao dependentes de u1, u2 e u3.
37
Como os lados opostos de um paralelogramo sao paralelos, entao eles possuem a mesma
inclinacao. Sendo AB ‖ CD e AC ‖ BD, temos respectivamente,
0 =x2 − u3x1 − u2
eu3u2
=x2
x1 − u1e assim, obtemos duas equacoes polinomiais dadas por{
h1 = x2 − u3 = 0
h2 = x1u3 − u1u3 − x2u2 = 0.
Como o ponto N esta no encontro das diagonais, entao temos que os pontos A,N,D
e os pontos B,N,C sao colineares, logo temos respectivamente que
x4x3
=x2x1
ex4
x3 − u1=
u3u2 − u1
resultando em mais duas equacoes polinomiais dadas por{h3 = x4x1 − x3x2 = 0
h4 = x4u2 − x4u1 − x3u3 + u1u3 = 0.
Assim, as equacoes h1, h2, h3, h4 sao as hipoteses que vamos usar para provar que N
e o ponto medio de ambas as diagonais do paralelogramo ABCD. As condicoes da tese
sao: AN = ND e BN = NC. Usando o Teorema de Pitagoras para calcular a distancia
entre dois pontos, temos:
|AN | = |ND| → x23 + x24 = (x1 − x3)2 + (x2 − x4)2
e
|BN | = |NC| → (x3 − u1)2 + x24 = (x3 − x2)2 + (x4 − x3)2.
Simplificando estas duas ultimas igualdades, provamos o resultado se{g1 = x21 − 2x1x3 − 2x4x2 + x22 = 0
g2 = 2x3u1 − 2x3u2 − 2x4u3 − u21 + u22 + u23 = 0.
Observamos que nao existe uma unica maneira de traduzir um teorema geometrico
para um teorema usando polinomios como acabamos de descrever. Muitas vezes e possıvel
simplicar, diminuindo o numero de equacoes e o numero de variaveis. Por exemplo,
poderia ser usado a seguinte soma de vetores−→AC =
−→AB +
−→AC para encontrar hipoteses.
Uma outra observacao importante e a seguinte: neste exemplo o numero de hipoteses,
as equacoes hi, i = 1, 2, 3, 4 e o numero de variaveis dependentes xj, j = 1, 2, 3, 4 sao iguais.
38
Com isso, atribuindo valores para as variaveis independentes ui, i = 1, 2, 3, esperamos que
o numero de solucoes, ou o numero de combinacoes de xi satisfazendo as equacoes seja
finita.
Precisamos encontrar a variedade afim V (h1, h2, h3, h4), e resolvemos o problema se g1
e g2 se anulam nesta variedade.
Vamos usar o Singular para calcular V (h1, h2, h3, h4). Primeiro calculamos a base
de Groebner de I = 〈h1, h2, h3, h4〉, e em seguida a decomposicao deste novo ideal em
componentes primos. Temos que definir o anel de polinomios nas mesmas variaveis
x1, x2, x3, x4, u1, u2, u3 utilizadas nos polinomios do problema. Utilizamos a ordem glo-
bal lp com x1 < x2 < x3 < x4 < u1 < u2 < u3 (pois estamos lidando com polinomios,
mas poderia ser outra ordem global).
> ring r=0,(x1,x2,x3,x4,u1,u2,u3),lp;
> ideal I = x2 - u3, x1*u3- u1*u3-x2*u2,x4*x1-x3*x2,x4*u2-x4*u1-x3*u3+u1*u3;
//ideal I gerado pelos h_i’s
> I;
i[1]=x2-u3
i[2]=x1*u3-x2*u2-u1*u3
i[3]=x1*x4-x2*x3
i[4]=-x3*u3-x4*u1+x4*u2+u1*u3
> ideal J=groebner(I); //base de Groebner do ideal I
> J;
J[1]=2*x4*u1*u3-u1*u3^2
J[2]=2*x4*u1^2-2*x4*u1*u2-u1^2*u3+u1*u2*u3
J[3]=x3*u3+x4*u1-x4*u2-u1*u3
J[4]=x2-u3
J[5]=x1*u3-u1*u3-u2*u3
J[6]=x1*x4-x3*u3
> list L=primdecSY(J); //decomposic~ao primaria do ideal J
> L;
[1]:
[1]:
_[1]=u1
_[2]=x3*u3+x4*u1-x4*u2-u1*u3
_[3]=x2-u3
_[4]=x1-u1-u2
[2]:
_[1]=u1
_[2]=x3*u3-x4*u2
_[3]=x2-u3
_[4]=x1-u2
39
[2]:
[1]:
_[1]=u3
_[2]=x4
_[3]=x2
[2]:
_[1]=u3
_[2]=x4
_[3]=x2
[3]:
[1]:
_[1]=u3
_[2]=u1-u2
_[3]=x2
_[4]=x1+u1-u2
[2]:
_[1]=u3
_[2]=u1-u2
_[3]=x2
_[4]=x1
[4]:
[1]:
_[1]=2*x4-u3
_[2]=2*x3-u1-u2
_[3]=x2-u3
_[4]=x1-u1-u2
[2]:
_[1]=2*x4-u3
_[2]=2*x3-u1-u2
_[3]=x2-u3
_[4]=x1-u1-u2
>
Assim,
V (I) = V1 ∪ V2 ∪ V3 ∪ V4,
onde,
V1 = V (u1, x3u3 − x4u2, x2 − u3, x1 − u2),V2 = V (u3, x4, x2),
V3 = V (u3, u1 − u2, x2, x1),V4 = V (2x4 − u3, 2x3 − u1 − u2, x2 − u3, x1 − u1 − u2).
40
Os ideais que definem os V ′i s, i = 1, 2, 3, 4 sao obtidos do segundo item de cada um
dos quatro itens da lista L da decomposicao. (O segundo item de cada item de L ja e
reduzido). Note que nenhuma das variedades Vi, i = 1, 2, 3, 4, estao contidas uma na
outra e que elas sao as componentes irredutıveis de V .
Analisaremos cada um dos Vi′s.
Veja que os pontos em R7 que estao em V2 possuem as coordenadas u3 = 0, x4 = 0 e
x2 = 0 e neste caso nao temos um paralelogramo. Da mesma forma os pontos em R7 que
estao em V3 possuem as coordenadas u3 = 0, x2 = 0, x1 = 0 e u1 = u2, neste caso tambem
nao temos um paralelogramo. Analogamente, para a variedade V1, pois u1 = 0. Estes sao
chamados de casos degenerados e que nao nos interessa. Resta agora analisar V4, isto e,
para resolver o problema precisamos constatar que os polinomios g1 e g2 se anulam sobre
a variedade V4.
Temos que os pontos em R7 que estao em V4 obedecem:
x1 = u1 + u2,
x2 = u3,
x3 = u1+u22
,
x4 = u32.
substituindo em g1 e g2, temos:
x21 − 2x1x3 − 2x4x2 + x22 = (u1 + u2)2 − 2(u1 + u2)(
u1 + u22
)− 2(u32)u3 + u23 = 0
e
2x3u1−2x3u2−2x4u3−u21+u22+u23 = 2(u1 + u2
2)u1−2(
u1 + u22
)u2−2(u32)u3−u21+u22+u23 = 0
Portanto, as diagonais de um paralelogramo se cruzam ao meio.
Depois da discussao envolvida neste exemplo, uma pergunta surge naturalmente. E
possıvel resolver problemas deste tipo, sem que apareca estes casos degenerados? Pois,
realizar decomposicao primaria de ideais, para decompor a variedade afim V (I) em suas
componentes irredutıveis, verificar se cada componente satisfaz a tese, pode ser muito
demorado.
Sim, e possıvel resolver estes tipos de problemas sem que apareca os casos degenerados,
como aconteceu neste exemplo com o paralelogramo degenerado. Contudo, nao falaremos
aqui sobre a teoria que exclui estes casos degenerados. Para quem se interessar, recomendo
a referencia [1].
Quem se interessar somente com a pratica, podemos resolver rapidamente este pro-
blema usando o Singular, da seguinte maneira: neste problema do paralelogramo, como
supomos as variaveis u1, u2, u3 arbıtrarias, e as variaveis x1, x2, x3, x4 como dependentes, e
o objetivo era isolar as variaveis xi, podemos realizar contas no Singular com as variaveis
ui sendo os coeficientes de polinomios em xi.
41
No singular entre com os seguintes comandos:
> ring r=(0,u1,u2,u3),(x1,x2,x3,x4),lp;
> ideal I = x2 - u3, x1*u3- u1*u3-x2*u2,x4*x1-x3*x2,x4*u2-x4*u1-x3*u3+u1*u3;
> I;
I[1]=x2+(-u3)
I[2]=(u3)*x1+(-u2)*x2+(-u1*u3)
I[3]=x1*x4-x2*x3
I[4]=(-u3)*x3+(-u1+u2)*x4+(u1*u3)
> ideal J=std(I);
> option(redSB); //usada para computar bases standard reduzida
> simplify(J,1);
_[1]=x4+(-1/2*u3)
_[2]=x3+(-1/2*u1-1/2*u2)
_[3]=x2+(-u3)
_[4]=x1+(-u1-u2)
>
Note que no resultado do ultimo comando, devemos ler da forma:
x1 = u1 + u2,
x2 = u3,
x3 = u1+u22
,
x4 = u32.
Exemplo 2.8. Prove o Teorema do Cırculo de Apollonius: Seja o trianguloABC retangulo
em A. Sejam M1,M2,M3 os pontos medios dos lados do triagulo e H o pe da altura re-
lativa ao vertice A. Mostre que os pontos A,M1,M2,M3 e H permanecem sobre uma
mesma circunferencia.
Figura 2.8: Teorema do Cırculo de Apollonius.
42
Da mesma forma que o exemplo anterior, vamos traduzir as hipoteses e tese deste
teorema para a forma polinomial, mostrando que o Teorema do Cırculo de Apollonius e
admissıvel. Consideremos o triangulo ABC no plano cartesiano com A(0, 0). Sejam os
pontos B(u2, 0) e C(0, u1), sendo u1 e u2 variaveis arbitrarias. Para os pontos dependentes,
usaremos variaveis dependentes xi, assim temos os pontos M2(x2, 0), M1(0, x1), M3(x3, x4)
e H(x5, x6). Sabemos que por tres pontos nao colineares sempre passa uma cırcunferencia.
Considere entao, a circunferencia determinada pelos pontos M1,M2,M3 e seja O(x7, x8)
seu centro, logo M1O = M2O = M3O.
Com estas hipoteses, obtemos as seguintes oito equacoes:
h1 = 2x2 − u2 = 0
h2 = 2x1 − u1 = 0
h3 = 2x3 − u2 = 0
h4 = 2x4 − u1 = 0
h5 = x5u2 − x6u1 = 0 (AH ⊥ BC)
h6 = x5u1 + x6u2 − u1u2 = 0 (B, H, C colineares)
h7 = (x2 − x7)2 + x28 − x27 − (x8 − x1)2 = 0 (M1O = M2O)
h8 = (x8 − x1)2 + x27 − (x7 − x3)2 − (x8 − x4)2 = 0 (M1O = M3O)
A conclusao do teorema e: HO = M1O, isto e
g = (x5 − x7)2 + (x6 − x8)2 − (x1 − x8)2 − x27 = 0.
Note que como no exemplo anterior, o numero de hipoteses (numero de equacoes hi) e
o numero de variaveis dependentes xi sao iguais. Deste modo, quando atribuımos valores
para as variaveis ui, esperamos encontrar no maximo uma quantidade finita de solucoes
em xi satisfazendo as equacoes hi.
Fica como exercıcio, o leitor calcular a variedade afim V (h1, . . . , h8) e verificar a con-
clusao do teorema.
Exercıcio 2.9. [Pappus] Como na Figura 2.9 abaixo, sejam dados os pontos A,B,C sobre
uma reta e os pontos D,E, F sobre outra reta. E sempre verdade que os pontos M,N,P
como descrito abaixo tambem sao colineares.
M = BD ∩ AEN = AF ∩DCP = BF ∩ EC.
Obtenha uma traducao das hipoteses e conclusoes deste resultado como um sistema
de equacoes polinomiais.
As figuras tridimensionais mostradas neste texto foram obtidas usando o programa
Surfex, [4]. Surfex e uma ferramenta de visualizacao de superfıcies algebricas reais.
43
Figura 2.9: Pontos colineares.
44
Referencias Bibliograficas
[1] Cox, D., Little, J., O’Shea, D., Ideals, Varieties, and Algorithms, 2nd edition,
Springer-Verlag, Berlin-Heidelberg-New York, 1997.
[2] Greuel, G.-M., Pfister, G. and Schonemann, H., Singular: A Computer Algebra
System for Polynomial Computations. Centre for Computer Algebra, University of
Kaiserslautern, free software under the GNU General Public Licence (1990–2007),
http://www.singular.uni-kl.de
[3] Greuel, G.-M., Pfister, G. and Schonemann, H., Singular: Manual, ver-
sion 3-1-1. Centre for Computer Algebra, University of Kaiserslautern, 2010,
http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/3-1-1/
singular.pdf
[4] S. Holzer e O. Labs., surfex 0.90, University of Mainz and University of Sa-
arbrucken (2008), www.surfex.AlgebraicSurface.net
45