単項式順序

単項式順序（たんこうしきじゅんじょ、monomial order）は、単項式を順序付けるものであって、いくつかの性質を満たすものである。例えば1変数多項式を記述する場合、昇冪の順または降冪の順に並べるのが通常であるが、多変数の場合はそう単純ではなく、多くの並べ方が考えられる。一般の2変数2次多項式は
と記述されることが多いが、これは単項式順序の一種である次数付き辞書式順序で並べられている。
単項式順序は、多項式の割り算アルゴリズムやグレブナー基底の理論において重要な役割を果たす。用いる単項式順序の種類によって、アルゴリズムの効率や得られる結果には違いが生じ得る。
定義.
"k" を体とし、多項式環 "k"["x"1, …, "x""n"] の部分集合
（N は 0 も含むとする）を考える。"A" における全順序 ≤ が単項式順序であるとは、次の2条件を満たすことをいう。
以上の定義では "A" においてのみ順序が定められているが、係数のみ異なる単項式は同一視して、係数が 1 とは限らない単項式に拡張して考えるのが通常である。
"A" の元は N"n" の元 ("a"1, …, "a""n") と1対1に対応する。記述の簡略化のため、α = ("a"1, …, "a""n") ∈ N"n" に対して "x"α で
を表すものとする。このとき、≤ が単項式順序であるための条件1は次のように記述される。
また、条件1が成立するとき、条件2は次の条件で置き換えることもでき、こちらを用いる方が単項式順序であることの判定が容易である場合がある。
例.
必要ならば不定元の順番を入れ替えることによって、"x"1 > "x"2 > … > "x""n" として差し支えない。また、α = ("a"1, …, "a""n") ∈ N"n" に対して、"a"1 + … + "a""n" を "x"α の全次数 (total degree) といい、|α| で表すこととする。
辞書式順序 (lexicographic order, lex) は、β - α の 0 でない最初の成分が正である場合に "x"α < "x"β として定義される単項式順序である。素朴に表現するならば、lex 順序はまず最も「上位の」不定元の指数の大きさによって順序付け、それが同じものについては順次「下位の」不定元の指数の大きさによって順序付ける。
逆辞書式順序 (reverse lexicographic order, revlex) は、β - α の 0 でない最後の成分が負である場合に "x"α < "x"β として定義される順序である。ただしこれは整列順序ではなく、先述の意味での単項式順序ではない。素朴に表現するならば、revlex 順序はまず最も「下位の」不定元の指数の小ささによって順序付け、それが同じものについては順次「上位の」不定元の指数の小ささによって順序付ける。
次数付き辞書式順序 (graded lexicographic order, grlex) は、次のいずれかが成り立つ場合に "x"α < "x"β として定義される単項式順序である。
素朴に表現するならば、grlex 順序はまず全次数の大きさによって順序付け、それが同じものについては辞書式順序で順序付ける。
次数付き逆辞書式順序 (graded reverse lexicographic order, grevlex) は、次のいずれかが成り立つ場合に "x"α < "x"β として定義される単項式順序である。
素朴に表現するならば、grevlex 順序はまず全次数の大きさによって順序付け、それが同じものについては逆辞書式順序で順序付ける。
具体例.
3つの単項式 "x"2"yz", "x"3, "xy"3 を考えよう。不定元の間には "x" > "y" > "z" という順序が定まっているとすると、代表的な単項式順序においては、次のように順序付けられる。