プログラミング雑感  新JavaScript入門  JavaScript,Neo-Generation  掲示板  表紙
プログラミング雑感
Written 6/15/02
Appendix A
ここでは、整係数の一変数多項式が2つの有理係数多項式に因数分解できるなら、 それは共に整係数多項式にできることを示します。
これを否定すると、整係数多項式 f(x) が、
    f(x) = g(x)h(x)
 
と因数分解できたとき、 g(x) の係数の最大公約数が1で、h(x) の係数に整数でないものが現れることになり、 ある整数 n (>1) が存在して、
    h1(x) = nh(x)
    nf(x) = g(x)h1(x)
 
で、g(x), h1(x) が共に係数の最大公約数が1で nf(x) のそれが n の倍数となります。
よって、
    f(x) = a0 + a1x + ... + anxn
    g(x) = b0 + b1x + ... + blxl
    h(x) = c0 + c1x + ... + cmxm
    l + m = n, l >= 1, m >= 1, l <= m
 
としたとき、
    LCD(b0, ..., bl) = 1, LCD(c0, ..., cm) = 1 => LCD(a0, ..., an) = 1
 
が成り立てばよいことになります。 ここでLCDは最大公約数。
言い換えると、
    任意の素数pに対し、
    i, jが存在して、bi,cjがpの倍数でない => kが存在して、akがpの倍数でない
 
これを l についての帰納法で示します。
以下全て、任意の k について ak が p の倍数とすると、 矛盾が起きることを示します。
まず、 l = 1 のとき、
    b0がpの倍数とすると、
    b1はpの倍数でない iが存在してciはpの倍数でない
     => ai+1はpの倍数でない 矛盾
    よって、b0はpの倍数でない
    a0 = b0c0はpの倍数 => c0はpの倍数
     => iが存在して、ciはpの倍数 ci+1はpの倍数でない
     => ai+1 = b0ci+1 + b1ci はpの倍数でない 矛盾
 
l - 1(>= 1)のときに成り立つとして、
    b0がpの倍数とすると、
    (g - b0)h = f - b0h
    g1 = (g - b0) / x
    f1 = (f - b0h) / x
    とおくと、
    g1h = f1
    g1はl-1次の多項式で、g1とhはpの倍数でない係数を含む
    => f1はpの倍数でない係数を含む => fはpの倍数でない係数を含む
    よって、b0はpの倍数でない
    
    a0 = b0c0はpの倍数 => c0はpの倍数
    a1 = b0c1 + b1c0はpの倍数 => c1はpの倍数
        ...
    al = b0cl + ... + blc0はpの倍数 => clはpの倍数
    が帰納的にわかる
    よって、iが存在して、c0, ... , ci-1はpの倍数 ciはpの倍数でない
    ai = b0ci + ... + blci-lはpの倍数でない 矛盾
 
以上
Back   因数分解(1)