質問<3178>2006/5/17
from=広
「有理数と無理数」


有理数を係数に持つ多項式全体の集合をQ[X]とおく。即ち
Q[X]={AnX^(n)+An-1x^(n-1)+・・・+A1X+A0|An,An-1,・・・,a0∈Q,n=0,1,2,・・・}
である。このときQ[X]~Nを示せ。

★希望★完全解答★

お便り2006/5/22
from=angel


N→Q[x] の単射は、例えば f(n)=x^n 等がすぐに見つかりますから、
Q[x]→N の単射を作り上げれば、双方の単射の存在により、N~Q[x]が示せます。

以下、単射の作成

 1. 有理数の符号化
  有理数 q に対し、既約分数 q=a/b (q>0の場合) もしくは q=-a/b(q<0の場合)を
  対応させる。なお、q=0 の場合は、a=0, b=1 とする。
  a,bをそれぞれ8進数で表し、q≧0 の場合は8を、q<0の場合は9を挟んで連結する。
  例:-0.375=-3/8 … 3910  1.08333…=13/12 … 15814

 2. 多項式の符号化
  n次有理係数多項式に対し、
   ・n+1 の8進数表示
   ・各係数(有理数)の符号化表現
  を、8を挟んで連結する。各係数は高次の方を先にする。

  例:x^3+1/6・x-11/12
    次数は 3、+1して8進数表示すると 4 になる
    各係数の符号化表現
     x^3: 1 … 181
     x^2: 0 … 081
     x^1: 1/6 … 186
     x^0: -11/12 … 13914
    全体 … 4818180818186813914

 ここで、多項式 f(x) に対し、それを符号化した表現を10進数と解釈した時の数値を
 対応させる関数は、Q[x]→N への単射となる。