- 多項式の部分集合をイデアルに取る
- イデアルの要素多項式の零点集合が代数多様体V
- 例えば、
という1つの多項式は、
を零点集合とする
- 別の多項式
の零点集合も
である
- この零点集合を代数多様体 V とする
- Vからスタートして、Vのすべての点で零を取るすべての関数を
と書いて、「Vが定めるイデアル」と言う
- Vが
のとき、そのような関数は
という形をしている。ただし
は任意の多項式
- したがって、「Vが定めるイデアル」は
となる
- これは、
が作るイデアル[tex:]とは一致するが、
が作るイデアル[tex:]とは異なる
- このように、異なるイデアルから同じ代数多様体が得られるが、ある代数多様体をもたらすイデアルは一意には決まらない
- 「Vが定めるイデアル」としては、「Vをもたらすイデアルのうち、最大の集合」が「はっきりしていて」良さそう
- それをラジカルと言う
と書いたりする
- 上の例では、
がラジカル
- sagemathでやっておく
- まず、めいっぱいのイデアルからそのラジカルと取り、両者を比較するべく、グレブナー基底を作って表示させてみる。「めいっぱい」の場合、両者は一致する
R = PolynomialRing(QQ,2,"xy")
x,y = R.gens()
eqs = [(x^2-1)]
eqst = tuple(eqs) # リストをタプルにする
I = eqst * R
B = I.groebner_basis()
B2 = (I.radical()).groebner_basis()
print("B")
for eq in list(B):
print(str(eq)+",")
print("B2")
for eq in list(B2):
print(str(eq)+",")
B
x^2 - 1,
B2
x^2 - 1,
-
- 次に、ラジカルに余計な項を掛ける
- ぱっつんぱっつんではないので、ラジカルを取ると、最初のイデアルより「簡素な式」が現れる。言い換えると、ラジカルにはより多くの多項式が含まれることを意味する
R = PolynomialRing(QQ,2,"xy")
x,y = R.gens()
eqs = [(x^2-1)*(x+1)]
eqst = tuple(eqs) # リストをタプルにする
I = eqst * R
B = I.groebner_basis()
B2 = (I.radical()).groebner_basis()
print("B")
for eq in list(B):
print(str(eq)+",")
print("B2")
for eq in list(B2):
print(str(eq)+",")
B
x^3 + x^2 - x - 1,
B2
x^2 - 1,