中多元線性方程組_Gr?bner basis與多元多項式方程組
技術標籤:中多元線性方程組
整理資料的時候發現一年前交換代數課上最後的期末報告,感覺還是一個很有意思的話題。於是整理於此,與大家分享討論下。
文章結構如下:
- 介紹引入Gröbner basis的動機:高斯消元法的推廣,輾轉相除法的推廣,多元多項式方程組的求解。
- Gröbner basis的定義,一些例子
- 與多元多項式方程組一些基本定理和應用,包括代數基本定理的推廣,多元多項式方程組的求解。
介紹
考慮以下幾個演算法:
1、求兩個一元多項式的最大公約數的Euclid's algorithm
2、求解線性方程組的Gaussian elimination
3、整數線性規劃
這些演算法都有一個共同的特徵,輸入一些多項式
,輸出一些滿足某些特徵的多項式 。比如在求最大公約數的演算法中,輸入時兩個多項式 ,輸出是他們的最大公約數。在求線性方程組中,輸入是多元一次多項式輸出的基礎解系也是一些多元一次多項式
於是我們會想是否可以從中抽象處一些特徵,將其推廣到更廣的領域。比如多元多項式方程組。這個推廣的結果就是Gröbner basis。
定義
理想:
是一個多項式集合,其生成的理想為集合元素的線性組合,組合係數也是多項式 其中 是在域K上的多項式環。偏序:我們需要一個對單項式
之間的排列的規則。為了簡單起見,我們採用字典序,即有了單項式的排列規則後,我們可以把多項式按照其組成的單項式從大到小排列。比如
這樣排列下的首項被稱為leading term, 記為 lt(p)。
首項的單項式leading monomial記為 lm(p),
首項的係數 leading coefficient記為 lc(p)。
在上面的多項式中
有了這些記號後,我們就可以實施多元Euclid's algorithm。給定兩個多項式
,如果f的某個單項式是g的首項的單項式的倍數,那麼我們就可以通過相減把這項從f中消掉。對於一元多項式來說,只要f的次數大於g的次數,我們一定可以進行這樣的操作。然後消除後剩下的部分就是f除以g的餘數。比如那麼
。很自然我們可以考慮f“除以”多個g的情況,假設I是一個多項式的集合,那麼f除以
的結果是 ,其中 。我們可以把裡面的h看作多元除法的餘數。接下來一個問題是,為了簡化這個取餘數的計算,我們想是否能找到一個更加簡單的多項式集合G來代替
進行計算同時能達到和 一樣的效果。其中最簡潔的G就是 的 Gröbner basis: G是包含 的最小理想的生成集,且G對這個最小理想裡面每一個元素做多元除法,結果均為0。例子1:一元多項式集合的Gröbner basis就是其最大公約數。
例子2:考慮多項式集合
,其Gröbner basis可以通過以下的Mathematica命令得到 :In[1]:= GroebnerBasis[{x^2 - y, x ^3 - x}, {x, y}]
Out[1]= {-y + y^2, -x + x y, x^2 - y}
接下來我們將會看到Gröbner basis包含了我們需要的所有資訊,而且我們可以輕鬆地利用Gröbner basis集合中多項式個數對方程解的情況進行判斷。
定理及應用
多元多項式方程組(代數簇/Algebraic variety):
記F是多項式集合,f是其中的元素,f=0構成了多元多項式方程組,其解為
。如G是F的Gröbner basis,我們有 。Hilbert's Nullstellensatz
多元多項式方程組無解,即
當且僅當 。例子3:比如方程
無解,因為其Gröbner basis僅包含1。In[3]:= GroebnerBasis[{x^2 + x*y - 10, x ^3 + x^2*y - 25,
x^4 + x*y^3 - 70}, {x, y}]
Out[3]= {1}
而方程
有Gröbner basis為
,所以解為 。這個例子中,Gröbner basis將一個複雜的非線性方程化簡為了一次線性方程組。In[19]:= GroebnerBasis[{x^2 + x*y - 10, x ^3 + x^2*y - 20,
x^4 + x*y^3 - 70}, {x, y}]
Out[19]= {-3 + y, -2 + x}
standard monomial為不在首項生成的理想裡面的單項式。
例子4:比如由
生成的理想 裡面的元素為 ,其中f是多項式。於是 不在這個理想裡面。他們被稱為standard monomial。代數基本定理:
多元多項式方程組解的個數
等於standard monomial的個數。例子5考慮一元多項式方程。如果方程的次數為n,那麼standard monomial就是從1到
,一共n個,於是n次方程有n個解。例子6對於線性方程組來說,standard monomial就是零空間對應的變數。比如
, standard monomial是y,同時注意到方程的解是顯然,對於複雜的方程來說,找standard monomial是困難的。我們可以求出其Gröbner basis然後再找Gröbner basis的standard monomial。
例子7
方程
的Gröbner basis為
In[21]:= GroebnerBasis[{x^2 z - y, x^2 + x *y - y*z,
x*z^2 + x*z - x}, {x, y}]
Out[21]= {-y + y z + y z^2, y^2 - y z, -x + x z + x z^2, y + x y,
x^2 - y - y z}
可以看到z的任何次方都不在Gröbner basis中各個多項式首項
產生的理想中。所以該方程有無窮個解。解的維度
從幾何角度看,我們可以把多元多項式方程組的解看作空間中幾個曲面的交線。有些時候交線集合是一個點,有時是一個曲線,有時是一個曲面。如果是一個點情況,我們稱解集是0維的,如果是曲線,那麼就是1維,依此類推。
然後我們有結論,解集的維度和沒有出現在standard monomial集合中變數的數量相等。比如上面這個例子6中變數x不在standard monomial集合中,所以解集是1維的(一條線)。
最後
Gröbner basis在圖論和整數規劃中也有很多的應用,但在這裡就不展開介紹了。