1. 程式人生 > 其它 >中多元線性方程組_Gr?bner basis與多元多項式方程組

中多元線性方程組_Gr?bner basis與多元多項式方程組

技術標籤:中多元線性方程組

整理資料的時候發現一年前交換代數課上最後的期末報告,感覺還是一個很有意思的話題。於是整理於此,與大家分享討論下。

文章結構如下:

  1. 介紹引入Gröbner basis的動機:高斯消元法的推廣,輾轉相除法的推廣,多元多項式方程組的求解。
  2. Gröbner basis的定義,一些例子
  3. 與多元多項式方程組一些基本定理和應用,包括代數基本定理的推廣,多元多項式方程組的求解。

介紹

考慮以下幾個演算法:

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 basisG是包含 的最小理想的生成集,且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在圖論和整數規劃中也有很多的應用,但在這裡就不展開介紹了。