1 重複度と片側の符号
定義 1.1.h∈R[x]を零でない多項式、c∈Rとする。(x−c)e∣hを満たすe∈N≥0の最大値を、cのhにおける 重複度 (multiplicity) といい、multc(h)と書く。(x−c)e∣hならば§E6.28 命題 1.2によりe≤deghであるから、この最大値は存在する。§E6.28 定理 4.2により、multc(h)≥1であることとh(c)=0であることは同値である。
補題 1.2.KをRの部分体とし、f=∑i=0naixi∈K[x]の導関数をf′=∑i=1niaixi−1∈K[x]とする。f,g∈K[x]、α,β∈K、c∈Kとする。
- (αf+βg)′=αf′+βg′である。
- (fg)′=f′g+fg′であり、正の整数eに対して(fe)′=efe−1f′である。特に((x−c)e)′=e(x−c)e−1である。
- degf=n≥1ならば、f′=0かつdegf′=n−1である。
補題 1.3.h∈R[x]を次数nの零でない多項式、c∈Rとする。
- j>nでcj=0となりh=∑j∈N≥0cj(x−c)jを満たす実数列(cj)j∈N≥0がただ一つ存在し、c0=h(c)、c1=h′(c)である。
- r:=min{j∈N≥0∣cj=0}と置くと、r=multc(h)である。
- あるδ>0が存在して、任意のt∈(0,δ)に対してsgnh(c+t)=sgncrかつsgnh(c−t)=(−1)rsgncrが成り立つ。
証明.(1)を示す。h=∑i=0naixiと書き、各xi=((x−c)+c)iを二項展開すると、j≤nに対してcj:=∑i=jn(ji)aici−j、j>nに対してcj:=0と置いた列が表示を与える。二つの表示の差を∑j∈N≥0dj(x−c)j=0とし、dj=0となるjがあると仮定する。その最大のjについて、左辺はdj(x−c)jと次数がj未満の多項式の和であるから、§E6.28 命題 1.2により次数jの零でない多項式であり、零に等しいことに反する。したがって表示は一意である。x=cを代入するとh(c)=c0である。補題 1.2 (1)と補題 1.2 (2)によりh′=∑j≥1jcj(x−c)j−1であり、x=cを代入するとh′(c)=c1である。
(2)を示す。g:=∑j≥rcj(x−c)j−rと置くと、h=(x−c)rgかつg(c)=cr=0である。したがってe≤rならば(x−c)e∣hである。(x−c)r+1∣hと仮定し、h=(x−c)r+1kと書くと(x−c)r(g−(x−c)k)=0であり、§E6.28 命題 1.2によりR[x]は整域であるからg=(x−c)kとなる。このときg(c)=0であり、g(c)=cr=0に反する。したがってe≥r+1ならば(x−c)e∤hであり、multc(h)=rである。
(3)を示す。S:=∑j>r∣cj∣、δ:=min{1, ∣cr∣/(1+S)}と置く。0<∣s∣<δを満たす実数sに対して
h(c+s)=sr(cr+j>r∑cjsj−r)であり、∣s∣<1であるから∑j>rcjsj−r≤∣s∣S<∣cr∣である。したがって括弧内の数はcrと同符号であり、sgnh(c+s)=sgn(sr)sgncrが成り立つ。t∈(0,δ)に対してs=tとs=−tを代入すると主張を得る。▨
補題 1.4.I⊂Rを区間、h:I→Rを連続関数とし、任意のx∈Iでh(x)=0であるとする。このとき任意のx,y∈Iに対してh(x)h(y)>0である。
証明.x<yかつh(x)h(y)<0を満たすx,y∈Iが存在すると仮定する。h(x)<0<h(y)ならばhの[x,y]への制限に、h(x)>0>h(y)ならば−hの[x,y]への制限に§D1.12 定理 1.1を適用すると、hは(x,y)⊂Iに零点をもち、I上でhが零点をもたないことに反する。したがって任意のx,y∈Iに対してh(x)h(y)≥0であり、h(x)h(y)=0であるからh(x)h(y)>0である。▨
2 根の個数と上界
命題 2.1.p=∑i=0naixi∈R[x]を零でない多項式、an=0とする。
- pの実根は高々n個である。
- n≥1とし、M:=max0≤i<n∣ai/an∣と置く。∣z∣≥1+Mを満たす任意の複素数zに対して∣p(z)−anzn∣<∣an∣∣z∣nが成り立つ。特にp(z)=0であり、zが実数ならばsgnp(z)=sgn(anzn)である。
- n≥1かつp∈Q[x]ならば、(2)のMについてB:=1+Mは有理数であり、pの実根はすべて開区間(−B,B)に属し、p(−B)p(B)=0である。
証明.(1)を示す。nに関する帰納法を用いる。n=0ならばpは零でない定数であり、実根をもたない。n≥1とし、pが実根cをもつとする。§E6.28 定理 4.2によりp=(x−c)gと書くことができ、§E6.28 命題 1.2によりdegg=n−1である。実数dがp(d)=(d−c)g(d)=0を満たすならばd=cまたはg(d)=0であり、帰納法の仮定によりgの実根は高々n−1個であるから、pの実根は高々n個である。
(2)を示す。M=0ならばp=anxnであり、∣z∣≥1から∣p(z)−anzn∣=0<∣an∣∣z∣nである。M>0ならば∣z∣≥1+M>1であり、M≤∣z∣−1であるから
∣p(z)−anzn∣≤i=0∑n−1∣ai∣∣z∣i≤∣an∣Mi=0∑n−1∣z∣i=∣an∣M∣z∣−1∣z∣n−1≤∣an∣(∣z∣n−1)<∣an∣∣z∣nである。したがって∣p(z)∣≥∣an∣∣z∣n−∣p(z)−anzn∣>0である。zが実数ならば、p(z)=anzn+(p(z)−anzn)の第二項の絶対値は第一項の絶対値より小さいので、p(z)とanznは同符号である。
(3)を示す。Mは有限個の有理数の最大値であるから有理数であり、Bも有理数である。∣x∣≥Bを満たす実数xに対して(2)によりp(x)=0であるから、pの実根は(−B,B)に属し、p(±B)=0である。▨
3 平方因子の除去
定義 3.1.KをRの部分体とする。次数が1以上のq∈K[x]が 平方自由 (squarefree) であるとは、K[x]におけるqとq′のモニック最大公約元が1であることをいう。
補題 3.2.KをRの部分体、q∈K[x]を平方自由とする。
- qはR[x]の元として平方自由である。
- qの任意の実根cに対して、q′(c)=0かつmultc(q)=1である。
証明.§E6.28 命題 3.1により、あるa,b∈K[x]が存在してaq+bq′=1となる。この等式はR[x]においても成り立つので、R[x]におけるqとq′の任意の公約元は1を割り切り、§E6.28 命題 1.3により零でない定数である。R[x]におけるqとq′のモニック最大公約元は、モニックな零でない定数であるから1であり、(1)が成り立つ。q(c)=0ならば、aq+bq′=1にx=cを代入してb(c)q′(c)=1を得るのでq′(c)=0である。補題 1.3 (1)の係数はc0=q(c)=0、c1=q′(c)=0であるから、補題 1.3 (2)によりmultc(q)=1であり、(2)が成り立つ。▨
補題 3.3.Kを体とし、K[x]のモニック既約多項式の全体をPと書く。零でないf∈K[x]とp∈Pに対して、fが定数ならばvp(f):=0と置き、fが定数でなければ、lc(f)−1fの§E6.28 定理 5.1によるモニック既約分解にpが現れる回数をvp(f)と置く。零でないf,g∈K[x]に対して次が成り立つ。
- vp(f)>0を満たすp∈Pは有限個であり、f=lc(f)∏p∈Ppvp(f)である。
- 任意のp∈Pに対してvp(fg)=vp(f)+vp(g)である。
- f∣gであることと、任意のp∈Pに対してvp(f)≤vp(g)であることは同値である。
- fとgのモニック最大公約元は∏p∈Ppmin{vp(f),vp(g)}である。
定理 3.4.KをRの部分体とし、Pとvpを補題 3.3のものとする。K[x]における二つの零でない多項式のモニック最大公約元をgcdで表す。
- 次数が1以上のh∈K[x]が平方自由であることは、任意のp∈Pに対してvp(h)≤1であることと同値である。
- f∈K[x]を次数が1以上のモニック多項式とし、s:=maxp∈Pvp(f)と置く。c0:=gcd(f,f′)、w1:=f/c0と置き、i≥1についてwi=1であるとき
yi:=gcd(wi,ci−1),fi:=wi/yi,wi+1:=yi,ci:=ci−1/yi
と定め、wi=1となる最初のiで停止する。このとき各商はK[x]における剰余が零の除法であり、1≤i≤s+1に対して
wi=p∈P, vp(f)≥i∏p,ci−1=p∈P∏pmax{vp(f)−i,0}
である。1≤i≤sに対してwi=1かつfi=∏p∈P, vp(f)=ipであり、ws+1=1である。特に、反復はf1,…,fsを定めて停止する。
- (2)の記号で、f=∏j=1sfjjである。各fjは1であるか平方自由であり、i=jならばgcd(fi,fj)=1であり、fs=1である。
- (2)の記号で、w1=f1f2⋯fsであり、w1は平方自由である。
証明.
主張 3.4.1.p∈Pと零でないh∈K[x]がe:=vp(h)≥1を満たすならば、h′=0かつvp(h′)=e−1である。
証明.補題 3.3 (3)によりpe∣hであるからh=pegと書くことができ、補題 3.3 (2)によりvp(g)=0である。補題 1.2 (2)により
h′=epe−1p′g+peg′=pe−1(ep′g+pg′)である。pは既約であるからdegp≥1であり、補題 1.2 (3)によりp′=0かつdegp′<degpである。p∣p′ならば§E6.28 命題 1.2によりdegp≤degp′となるので、vp(p′)=0である。eはKの零でない定数であるから、補題 3.3 (2)によりvp(ep′g)=0である。p∣ep′g+pg′ならばp∣(ep′g+pg′)−pg′=ep′gとなってvp(ep′g)=0に反するので、ep′g+pg′=0かつvp(ep′g+pg′)=0である。補題 3.3 (2)によりh′=0かつvp(h′)=e−1である。▨
h∈K[x]の次数が1以上ならば、補題 1.2 (3)によりh′=0である。vp(h)≥1を満たすpについては主張 3.4.1によりmin{vp(h),vp(h′)}=vp(h)−1であり、vp(h)=0を満たすpについては最小値は0であるから、補題 3.3 (4)により
である。
(1)を示す。式 (3.4.1)の右辺で正の指数をもつpがあれば、§E6.28 命題 1.2によりその積の次数はdegp≥1以上であり、積は1でない。したがってgcd(h,h′)=1であることと、任意のpでmax{vp(h)−1,0}=0、すなわちvp(h)≤1であることは同値である。
(2)を示す。ep:=vp(f)と置く。fはモニックかつ非定数であるから、補題 3.3 (1)によりf=∏ppepであり、s≥1である。式 (3.4.1)によりc0=∏ppmax{ep−1,0}であり、f=c0∏ep≥1pであるから、§E6.28 定理 2.1の一意性によりfのc0による除法の剰余は零であり、w1=∏ep≥1pである。1≤i≤sとし、wiとci−1が表示した形であるとする。補題 3.3 (4)により、yiにおけるpの指数はep≥i+1ならばmin{1,ep−i}=1、ep=iならばmin{1,0}=0、ep<iならば0であるから、yi=∏ep≥i+1pである。
wi=yiep=i∏p,ci−1=yip∏pmax{ep−i−1,0}が成り立つので、§E6.28 定理 2.1の一意性により二つの除法の剰余は零であり、fi=∏ep=ip、wi+1=∏ep≥i+1p、ci=∏ppmax{ep−i−1,0}である。iに関する帰納法により、表示は1≤i≤s+1で成り立つ。wi=1であることはep≥iを満たすpが存在しないことと同値であり、sはepの最大値であるから、1≤i≤sでwi=1、ws+1=1である。
(3)を示す。各pはj=epのfjにだけ現れるので、f=∏ppep=∏j=1s(∏ep=jp)j=∏j=1sfjjである。vp(fj)はep=jならば1、そうでなければ0であるから、fj=1ならば(1)によりfjは平方自由である。i=jならばmin{vp(fi),vp(fj)}=0であるから、補題 3.3 (4)によりgcd(fi,fj)=1である。ep=sを満たすpが存在するのでfs=1である。
(4)を示す。w1=∏ep≥1p=∏j=1s∏ep=jp=f1⋯fsである。s≥1であるからw1の次数は1以上であり、vp(w1)≤1であるから、(1)によりw1は平方自由である。▨
4 Sturm の定理
定義 4.1.q∈R[x]を平方自由とする。q0:=q、q1:=q′と置く。i≥1についてqi−1,qiが定まりqi=0であるとき、§E6.28 定理 2.1によるqi−1のqiによる除法の商をsi、剰余をρiとしてqi+1:=−ρiと置く。補題 1.2 (3)によりq1=0であり、qi+1=0ならばdegqi+1<degqiであるから、qk+1=0となるk≥1が存在する。そのような最初のkで止めた列(q0,…,qk)をqの Sturm 列 (Sturm sequence) という。
- 実数の有限列u=(u0,…,ul)に対して、i<jかつuiuj<0であり、i<λ<jを満たすすべてのλでuλ=0となる添字の組(i,j)の個数をvar(u)と書き、uの 符号変化数 (number of sign variations) という。
- c∈Rに対してV(c):=var(q0(c),…,qk(c))と置く。
- c∈Rとする。各qiに補題 1.3 (3)を適用してδi>0を一つずつ取り、δc:=miniδiと置く。各qiは(c,c+δc)上と(c−δc,c)上のそれぞれで零でない一定の符号をとるので、Vは(c,c+δc)上と(c−δc,c)上のそれぞれで一定である。前者の値をV(c+)、後者の値をV(c−)と書く。これらの値はδiの取り方によらない。
補題 4.2.q∈R[x]を平方自由とし、(q0,…,qk)をその Sturm 列、siを定義 4.1の商とする。
- 1≤k≤degqであり、1≤i≤kに対してqi−1=siqi−qi+1である(qk+1=0)。qkは零でない定数多項式である。
- KをRの部分体としq∈K[x]ならば、すべてのqiとsiはK[x]に属する。
- c∈Rと0≤i<kに対して、qi(c)とqi+1(c)の少なくとも一方は零でない。
- c∈Rと1≤i<kがqi(c)=0を満たすならば、qi−1(c)qi+1(c)<0である。
証明.(1)を示す。補題 1.2 (3)によりdegq1=degq−1であり、degq1>degq2>⋯>degqk≥0であるからk≤degqである。除法の等式qi−1=siqi+ρiとqi+1=−ρiからqi−1=siqi−qi+1である。qkはqkとqk+1=0を割り切り、qkがqiとqi+1を割り切るならばこの等式によりqi−1も割り切るので、iに関する下向きの帰納法によりqkはq0とq1の公約元である。qは平方自由であるからqk∣1であり、§E6.28 命題 1.3によりqkは零でない定数多項式である。
(2)を示す。q0,q1∈K[x]である。qi−1,qi∈K[x]ならば、§E6.28 定理 2.1をK[x]で適用して得る商と剰余はR[x]における除法の条件も満たすので、R[x]での一意性によりsiとρiに等しく、si,qi+1∈K[x]である。
(3)を示す。qi(c)=qi+1(c)=0を満たすi<kが存在すると仮定し、その最大のものをiとする。(1)によりqk(c)=0であるからi+1<kであり、qi+2=si+1qi+1−qiからqi+2(c)=0である。するとi+1も同じ条件を満たし、iの最大性に反する。
(4)を示す。qi−1=siqi−qi+1にx=cを代入するとqi−1(c)=−qi+1(c)であり、(3)によりqi+1(c)=0であるから、qi−1(c)qi+1(c)=−qi+1(c)2<0である。▨
定理 4.3 (Sturm の定理).q∈R[x]を平方自由とし、Vを定義 4.1でqの Sturm 列から定めたものとする。実数の区間Iに属するqの実根の個数をNq(I)と書き、c∈Rに対してq(c)=0ならばχq(c):=1、q(c)=0ならばχq(c):=0と置く。
- 任意のc∈Rに対して、V(c+)=V(c)かつV(c−)=V(c)+χq(c)である。
- 実数a<bに対して、Nq((a,b))=V(a+)−V(b−)である。
- 実数a<bに対して
Nq((a,b])Nq([a,b])=V(a)−V(b),=V(a)−V(b)+χq(a),Nq((a,b))Nq([a,b))=V(a)−V(b)−χq(b),=V(a)−V(b)+χq(a)−χq(b)
である。特にq(a)q(b)=0ならばNq((a,b))=Nq([a,b])=V(a)−V(b)である。
証明. 命題Φが真ならば1、偽ならば0である数を[Φ]と書く。
主張 4.3.1.l∈N≥0とし、実数列u=(u0,…,ul)と±1からなる列e=(e0,…,el)が次を満たすとする。u0=0かつul=0であり、ui=0となる添字iの集合Jは隣り合う二つの添字を含まず、i∈Jならばui−1ui+1<0であり、i∈/Jならばei=sgnuiである。このときvar(e)=var(u)である。
証明.eは零を含まないのでvar(e)=∑i=0l−1[eiei+1<0]である。Jは0とlを含まず、隣り合う添字を含まないので、uで零でない項の隣り合う組は、i,i+1∈/Jである組(i,i+1)と、i∈Jに対する組(i−1,i+1)のいずれかである。前者については[uiui+1<0]=[eiei+1<0]である。後者についてはi±1∈/Jであるからei−1ei+1=sgn(ui−1ui+1)=−1であり、ei−1eiとeiei+1のちょうど一方が負であるから、[ei−1ei<0]+[eiei+1<0]=1=[ui−1ui+1<0]である。組(i,i+1)(0≤i<l)の全体は、両端がJに属さない組と、i∈Jに対する対{(i−1,i),(i,i+1)}に分割されるので、和をとるとvar(e)=var(u)である。▨
(1)を示す。c∈Rを取り、(c,c+δc)上と(c−δc,c)上での(sgnqi)i=0kの値をそれぞれe+、e−とすると、V(c±)=var(e±)である。qi(c)=0ならば、補題 1.3 (1)の係数はc0=qi(c)=0であるから、補題 1.3 (3)をr=0で用いてei+=ei−=sgnqi(c)である。
q(c)=0とする。u:=(q0(c),…,qk(c))は、u0=q(c)=0を満たし、補題 4.2 (1)によりuk=0を満たし、補題 4.2 (3)と補題 4.2 (4)により主張 4.3.1の残りの仮定を満たす。主張 4.3.1をe=e+とe=e−に適用するとV(c+)=V(c)=V(c−)である。
q(c)=0とする。補題 3.2 (2)によりq′(c)=0かつmultc(q)=1であるから、補題 1.3 (2)と補題 1.3 (3)をr=1、c1=q′(c)で用いてe0+=sgnq′(c)、e0−=−sgnq′(c)である。q1(c)=q′(c)=0であるからe1±=sgnq′(c)である。u0=q(c)=0はどの符号変化にも寄与しないので、u′:=(q1(c),…,qk(c))についてV(c)=var(u′)である。u′の先頭の項q1(c)と末項qk(c)は零でなく、u′の零の項は添字2,…,k−1にあるので、補題 4.2 (3)と補題 4.2 (4)により、u′と(e1±,…,ek±)は主張 4.3.1の仮定を満たす。したがって
V(c±)=[e0±e1±<0]+var(e1±,…,ek±)=[e0±e1±<0]+V(c)であり、e0+e1+=1、e0−e1−=−1であるからV(c+)=V(c)、V(c−)=V(c)+1である。
(2)を示す。補題 4.2 (1)によりQ:=q0q1⋯qk−1は零でない多項式であり、命題 2.1 (1)により(a,b)に属するQの実根は有限個である。それらをz1<⋯<zm(m≥0)とし、z0:=a、zm+1:=bと置く。0≤j≤mとする。i<kならばqiは(zj,zj+1)上に零点をもたず、qkは零でない定数であるから、補題 1.4により各qiは(zj,zj+1)上で一定の符号をとり、Vは(zj,zj+1)上で一定値Vjをとる。0<t<min{δzj,zj+1−zj}を満たすtに対してzj+tは(zj,zj+δzj)と(zj,zj+1)の両方に属するのでV(zj+)=Vjであり、同様にV(zj+1−)=Vjである。したがって
V(a+)−V(b−)=j=0∑m(V(zj+)−V(zj+1−))+j=1∑m(V(zj−)−V(zj+))=j=1∑mχq(zj)であり、最後の等号は(1)による。k≥1であるからqはQを割り切り、(a,b)に属するqの実根はすべてz1,…,zmのいずれかである。よって右辺はNq((a,b))に等しい。
(3)を示す。(2)と(1)により
Nq((a,b])=Nq((a,b))+χq(b)=V(a+)−V(b−)+χq(b)=V(a)−V(b)である。残りの三つの式は、この式からχq(b)を引くこと、χq(a)を加えることによって得られる。q(a)q(b)=0ならばχq(a)=χq(b)=0である。▨
例 4.4.q=x3−x=(x+1)x(x−1)の既約因子はすべて一次で相異なるから、定理 3.4 (1)によりqはQ[x]の元として平方自由である。q′=3x2−1であり、
x3−x=3x(3x2−1)−32x,3x2−1=29x⋅32x−1であるから、Sturm 列は(x3−x, 3x2−1, 32x, 1)である。三点での値は
c=−2c=0c=2: (−6, 11, −34, 1),: (0, −1, 0, 1),: (6, 11, 34, 1),V(−2)V(0)V(2)=3,=1,=0である。q(0)=0であるから、定理 4.3 (3)によりNq((−2,0))=V(−2)−V(0)−1=1であり、(−2,0)に属する根は−1だけである。端点の補正を落としたV(−2)−V(0)=2はNq((−2,0])に等しく、根0を数えている。x∈(−1/3,0)では符号の列は(+,−,−,+)、x∈(0,1/3)では(−,−,+,+)であるからV(0−)=2、V(0+)=1であり、定理 4.3 (1)のV(0−)=V(0)+1、V(0+)=V(0)と一致する。
5 実根の分離
定義 5.1.q∈Q[x]を平方自由とし、命題 2.1 (3)の有理数Bをqについて取る。Vはqの Sturm 列から定め、c∈Rに対してq(c)=0ならばχq(c):=1、q(c)=0ならばχq(c):=0と置く。有理数を端点とする開区間の有限列L、Cと有理数の有限列Rを次のように更新する。初めにL:=((−B,B))とし、CとRを空列とする。Lが空でない間、Lの項(a,b)を一つ選んでLから除き、ν:=V(a)−V(b)−χq(b)を計算して次の規則で更新する。
- ν=0ならば、何も加えない。
- ν=1ならば、(a,b)をCに加える。
- ν≥2ならば、m:=(a+b)/2と置き、(a,m)と(m,b)をLに加える。さらに、q(m)=0である場合に限り、mをRに加える。
Lが空になった時点で停止する。
定理 5.2.q∈Q[x]を平方自由とし、定義 5.1の手続きをqに適用する。qの実根の集合をZとする。
- 初めの状態と各更新の後で、次が成り立つ。LとCに現れる区間は(−B,B)に含まれ、互いに交わらない。Rの項は相異なるqの実根であり、LとCのどの区間にも属さない。Cの各区間はqの実根をちょうど一つ含む。ZはLとCの区間とRの項の和集合に含まれる。
- 手続きは有限回の更新で停止する。
- 停止したとき、Cの各区間にそれが含むqの実根を対応させ、Rの各項にそれ自身を対応させる写像は、Cの区間とRの項の全体からZへの全単射である。
証明.(1)を示す。初めの状態では、命題 2.1 (3)によりZ⊂(−B,B)であり、主張が成り立つ。更新の前に主張が成り立つとし、Lから除いた区間を(a,b)とする。定理 4.3 (3)によりν=Nq((a,b))である。定義 5.1 (1)の場合はZ∩(a,b)=∅であり、定義 5.1 (2)の場合はCに加えた区間が実根をちょうど一つ含むので、主張は保たれる。定義 5.1 (3)の場合、a<m<bであり、(a,m)と(m,b)は互いに交わらず(a,b)に含まれるので、他の区間とも交わらない。mは(a,m)と(m,b)のいずれにも属さず、(a,b)に属するので他の区間に属さず、Rの既存の項にも等しくない。Z∩(a,b)は(a,m)、{m}、(m,b)の和集合に含まれ、m∈Zであるときに限りmはRに加えられる。したがって主張は保たれる。
(2)を示す。(−B,B)の深さを0とし、定義 5.1 (3)で加える(a,m)と(m,b)の深さを(a,b)の深さに1を加えたものとする。深さdの区間の幅は21−dBである。Zの元が高々一つならば、定理 4.3 (3)によりどの段でもν≤1であり、手続きは一回の更新で停止する。Zの元が二つ以上ならば、命題 2.1 (1)によりZは有限であるから、相異なる二つの元の距離の最小値η>0が存在する。§D1.4 命題 2.1によりd>2B/ηを満たす正の整数dが存在し、2d>dであるから21−dB<ηである。21−dB≤ηを満たす最小のd∈N≥0をd0とする。幅がη以下の開区間はZの元を二つ含まないので、深さがd0以上の区間ではν≤1であり、分割されない。したがってLに加えられる区間の深さはd0以下である。深さdの区間がLに加えられる回数をAdとすると、A0=1であり、深さd+1の区間は深さdの区間の分割ごとに二つ加えられ、各区間はLから高々一回除かれるのでAd+1≤2Adである。各更新はLに加えられた区間を一つ除くので、更新の回数は∑d=0d0Ad≤2d0+1−1以下である。
(3)を示す。停止したときLは空であるから、(1)によりZはCの区間とRの項の和集合に含まれ、Rの項はZに属する。Cの区間は互いに交わらず、各々がZの元をちょうど一つ含み、Rの項は相異なりどの区間にも属さないので、写像は単射である。Zの各元はCのある区間に属するかRのある項に等しいので、写像は全射である。▨
定義 5.3.q∈Q[x]を平方自由とする。有理数c<dについてq(c)q(d)=0であり、開区間(c,d)がqの実根をちょうど一つ含むとき、(c,d)をqの 分離区間 (isolating interval) という。
補題 5.4.q∈Q[x]を平方自由とし、(c,d)をqの分離区間とすると、q(c)q(d)<0である。
証明.(c,d)に属するqの実根をξとする。補題 3.2 (2)によりmultξ(q)=1であるから、補題 1.3 (2)と補題 1.3 (3)により、あるδ>0が存在してt∈(0,δ)に対してsgnq(ξ−t)=−sgnq(ξ+t)である。q(c)q(d)=0でありξは(c,d)の唯一の根であるから、qは[c,ξ)上と(ξ,d]上に零点をもたない。0<t<min{δ,ξ−c,d−ξ}を取ると、補題 1.4によりsgnq(c)=sgnq(ξ−t)かつsgnq(d)=sgnq(ξ+t)であるから、sgnq(c)=−sgnq(d)である。▨
定義 5.5.q∈Q[x]を平方自由とし、有理数a<bに対してNq((a,b))を定理 4.3 (3)の式V(a)−V(b)−χq(b)で計算する。
- 有理数a<bがNq((a,b))=1を満たすとする。a0:=a、b0:=bと置く。Nq((an,bn))=1を満たす有理数an<bnが定まったとき、a<anかつbn<bならば(an,bn)を出力して停止する。そうでなければmn:=(an+bn)/2と置き、q(mn)=0ならば((an+mn)/2, (mn+bn)/2)を出力して停止する。q(mn)=0かつNq((an,mn))=1ならば(an+1,bn+1):=(an,mn)と置き、q(mn)=0かつNq((an,mn))=0ならば(an+1,bn+1):=(mn,bn)と置く。
- 有理数cℓ<dℓ(1≤ℓ≤t)と相異なる有理数r1,…,ruが与えられ、どのrκもどの閉区間[cℓ,dℓ]にも属さないとする。各κについてEκ:={cℓ,dℓ∣1≤ℓ≤t}∪{rλ∣λ=κ}と置き、Eκ=∅ならばεκ:=31mine∈Eκ∣rκ−e∣、Eκ=∅ならばεκ:=1として、開区間(rκ−εκ, rκ+εκ)を出力する。
- (c,d)をqの分離区間、τ>0を有理数とする。補題 5.4によりq(c)q(d)<0であるから、qの[c,d]への制限に§E20.4 定義 2.2の二分法をa0=c、b0=dから適用することができる。第n段では、bn−an≤τならば(an,bn)を出力して停止し、bn−an>τかつq(mn)=0ならば(mn−τ/4, mn+τ/4)を出力して停止し、それ以外の場合は§E20.4 定義 2.2の規則でan+1,bn+1を定める。
命題 5.6.q∈Q[x]を平方自由とする。
- 定義 5.5 (1)は有限回の段で停止する。出力(c,d)は[c,d]⊂(a,b)を満たすqの分離区間であり、(a,b)に属するqの実根を含む。
- 定義 5.5 (2)の入力において、各(cℓ,dℓ)はqの分離区間であり、各rκはqの実根であり、qのすべての実根は(c1,d1),…,(ct,dt)のいずれかに属するかr1,…,ruのいずれかに等しいとする。このとき各出力(rκ−εκ, rκ+εκ)はrκを含むqの分離区間であり、その閉包は各[cℓ,dℓ]とも、λ=κに対する[rλ−ελ, rλ+ελ]とも交わらない。
- 定義 5.5 (3)は有限回の段で停止する。出力(c′,d′)は[c′,d′]⊂[c,d]かつd′−c′≤τを満たすqの分離区間であり、(c,d)に属するqの実根を含む。
証明.(1)を示す。(an,bn)が定まりq(mn)=0であるとき、(an,bn)は(an,mn)、{mn}、(mn,bn)の交わらない和集合であるからNq((an,mn))+Nq((mn,bn))=1であり、Nq((an,mn))∈{0,1}で、次の区間もNq((an+1,bn+1))=1を満たす。nに関する帰納法により、bn−an=2−n(b−a)であり、anはaに等しいかq(mj)=0を満たすあるmjに等しく、bnについても同様である。(a,b)に属するqの実根をξとすると、ξは各(an,bn)に属する。η:=min{ξ−a, b−ξ}>0と置くと、§D1.4 命題 2.1によりn>(b−a)/ηを満たす正の整数nが存在し、2n>nであるから2−n(b−a)<ηである。第n段が定まるならばan>ξ−(bn−an)>ξ−η≥aかつbn<ξ+η≤bであるから、手続きは第n段までに停止する。第一の規則で停止した場合、a<anとbn<bからanとbnはqの根でないmjに等しく、[an,bn]⊂(a,b)であり、(an,bn)はξだけを含む。第二の規則で停止した場合、mnは(an,bn)に属する根であるからmn=ξであり、(an+mn)/2∈(an,mn)と(mn+bn)/2∈(mn,bn)はqの根でなく、出力の閉包は(an,bn)⊂(a,b)に含まれ、出力はξだけを含む。
(2)を示す。rκはどの[cℓ,dℓ]にも属さず、λ=κならばrλ=rκであるから、Eκの元はすべてrκと異なり、εκは正の有理数である。Jκ:=[rκ−εκ, rκ+εκ]と置く。y∈Jκ∩[cℓ,dℓ]が存在すると仮定する。rκ<cℓならばrκ<cℓ≤y≤rκ+εκから∣rκ−cℓ∣≤εκであり、3εκ≤∣rκ−cℓ∣に反する。rκ>dℓならば同様に∣rκ−dℓ∣≤εκとなり、3εκ≤∣rκ−dℓ∣に反する。したがってJκ∩[cℓ,dℓ]=∅である。λ=κならばεκ+ελ≤32∣rκ−rλ∣<∣rκ−rλ∣であるからJκ∩Jλ=∅である。qの実根はある[cℓ,dℓ]に属するか、あるrλ∈Jλに等しいので、Jκに属するqの実根はrκだけである。したがってq(rκ±εκ)=0であり、(rκ−εκ, rκ+εκ)はrκだけを含む。
(3)を示す。停止しない段では、§E20.4 定義 2.2の規則によりq(an)q(bn)<0であり、[an+1,bn+1]は[an,bn]の左半分または右半分であるから、bn−an=2−n(d−c)である。§D1.4 命題 2.1によりn>(d−c)/τを満たす正の整数nが存在し、2n>nであるから2−n(d−c)<τであり、手続きは第n段までに停止する。(c,d)に属するqの実根をξとする。第一の規則で停止した場合、q(an)q(bn)<0であるから、qまたは−qの[an,bn]への制限に§D1.12 定理 1.1を適用すると(an,bn)はqの根を含み、(an,bn)⊂(c,d)であるからその根はξだけである。出力は[an,bn]⊂[c,d]とbn−an≤τを満たす。第二の規則で停止した場合、mn∈(an,bn)⊂(c,d)は根であるからmn=ξであり、bn−an>τからτ/4<(bn−an)/2であるので、[mn−τ/4, mn+τ/4]⊂(an,bn)⊂[c,d]である。この閉区間に属する根はξだけであるから、出力の端点は根でなく、出力はξだけを含み、幅はτ/2≤τである。▨
例 5.7.例 4.4のq=x3−xでは、係数からM=1、B=2である。定義 5.1の最初の更新でν=V(−2)−V(2)−0=3となり、m=0は根であるからR=(0)となって、(−2,0)と(0,2)がLに加わる。(−2,0)ではν=V(−2)−V(0)−1=1、(0,2)ではν=V(0)−V(2)−0=1であるから、手続きはC=((−2,0),(0,2))、R=(0)で停止する。Cの二つの区間の端点0は根であるから、どちらも分離区間ではない。
定義 5.5 (1)を(−2,0)に適用すると、a0=aであるのでm0=−1を調べ、q(−1)=0から(−3/2, −1/2)を出力する。(0,2)からは同様にm0=1が根であり、(1/2, 3/2)を出力する。定義 5.5 (2)ではE1={−3/2,−1/2,1/2,3/2}であるからε1=31⋅21=61であり、(−1/6, 1/6)を出力する。三つの区間(−3/2,−1/2)、(−1/6,1/6)、(1/2,3/2)は閉包が互いに交わらない分離区間であり、それぞれ−1、0、1を含む。
6 重複度の回復
命題 6.1.f∈Q[x]の次数を1以上とし、g:=lc(f)−1fに定理 3.4をK=Qで適用してg=∏j=1sfjjとw1=f1⋯fsを得るとする。
- 実数cについて、f(c)=0であることとw1(c)=0であることは同値である。
- fの実根ξに対して、fj(ξ)=0を満たすj∈{1,…,s}はただ一つ存在し、j=multξ(f)である。
- (c,d)をw1の分離区間とし、ξをそれに属するw1の実根とする。fj=1を満たす各jについて、(c,d)に属するfjの実根の個数は、j=multξ(f)ならば1、そうでなければ0である。この個数は、fjの Sturm 列から定まるVについてV(c)−V(d)に等しい。
証明.(1)を示す。f(c)=lc(f)g(c)=lc(f)∏jfj(c)jとw1(c)=∏jfj(c)は、あるjでfj(c)=0となるときに限り零である。
(2)を示す。(1)により、fj(ξ)=0を満たすjが存在する。i=jならば定理 3.4 (3)によりgcd(fi,fj)=1であり、§E6.28 命題 3.1によりあるa,b∈Q[x]が存在してafi+bfj=1となるので、fi(ξ)とfj(ξ)がともに零になることはない。fjは根をもつので1でなく、定理 3.4 (3)により平方自由であるから、補題 3.2 (2)によりmultξ(fj)=1である。したがってfj=(x−ξ)k、(x−ξ)∤kと書くことができ、§E6.28 定理 4.2によりk(ξ)=0である。H:=kj∏i=jfiiと置くとg=(x−ξ)jHかつH(ξ)=0である。(x−ξ)j+1∣gならば、§E6.28 命題 1.2によりR[x]は整域であるから(x−ξ)jを約して(x−ξ)∣Hとなり、H(ξ)=0に反する。したがってmultξ(g)=jであり、f=lc(f)gであるからmultξ(f)=jである。
(3)を示す。fjはw1を割り切るので、fjの実根はw1の実根であり、(c,d)に属するfjの実根はξ以外に存在しない。(2)によりfj(ξ)=0であることはj=multξ(f)であることと同値であるから、個数についての主張が成り立つ。cとdはw1の根でないのでfjの根でもなく、fjは平方自由であるから補題 3.2 (1)と定理 4.3 (3)により個数はV(c)−V(d)に等しい。▨
系 6.4.f∈Q[x]の次数を1以上とし、τ>0を有理数とする。次の手順を考える。
- g:=lc(f)−1fに定理 3.4をK=Qで適用し、f1,…,fsとq:=w1を得る。
- qに定義 5.1を適用し、CとRを得る。
- Cの各区間に定義 5.5 (1)を適用し、その出力とRの項に定義 5.5 (2)を適用する。
- 前段で得たすべての分離区間に定義 5.5 (3)をτで適用し、出力を(cℓ,dℓ)(1≤ℓ≤t)とする。
- 各ℓについて、命題 6.1 (3)の個数が1となるjをmℓとする。
この手順は有理数の四則演算と比較の有限回で停止し、次が成り立つ。
- cℓ<dℓは有理数であり、dℓ−cℓ≤τかつf(cℓ)f(dℓ)=0である。閉区間[c1,d1],…,[ct,dt]は互いに交わらない。
- 各(cℓ,dℓ)はfの実根をちょうど一つ含む。それをξℓとすると、fの実根はすべてξ1,…,ξtのいずれかに等しい。
- 各ℓについてmℓ=multξℓ(f)である。
例 6.6.f=x4−2x3−x2+4x−2=(x−1)2(x2−2)とする。§E6.28 例 4.4によりx2−2はQ[x]で既約である。したがってvx−1(f)=2、vx2−2(f)=1、s=2であり、定理 3.4 (2)により
c0=x−1,w1=(x−1)(x2−2),f1=x2−2,w2=x−1,c1=1,f2=x−1,w3=1である。実際f′=4x3−6x2−2x+4=2(x−1)(2x2−x−2)である。
q:=w1=x3−x2−2x+2の Sturm 列は
(x3−x2−2x+2, 3x2−2x−2, 914x−916, 4918)である。第三項はq=(3x−91)(3x2−2x−2)−(914x−916)から、第四項は一次式914x−916による剰余が3x2−2x−2のx=8/7での値−18/49に等しいことから得る。M=2、B=3である。用いる点での符号の列とVは次のとおりである。
| c |
−3 |
−3/2 |
−3/4 |
0 |
3/4 |
15/16 |
33/32 |
9/8 |
21/16 |
45/32 |
93/64 |
3/2 |
3 |
| 符号 |
−+−+ |
−+−+ |
++−+ |
+−−+ |
+−−+ |
+−−+ |
−−−+ |
−−−+ |
−+++ |
−+++ |
++++ |
++++ |
++++ |
| V(c) |
3 |
3 |
2 |
2 |
2 |
2 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
表のどの点もqの根でない。定義 5.1は(−3,3)を0、(0,3)を3/2、(0,3/2)を3/4、(3/4,3/2)を9/8で分割し、ν=0の(3/2,3)と(0,3/4)を除いて、C=((−3,0),(3/4,9/8),(9/8,3/2))、R=()で停止する。三つの区間はいずれも分離区間であるが、後の二つの閉包は9/8を共有する。定義 5.5 (1)は(−3,0)を−3/2、−3/4での二段で(−3/2,−3/4)へ、(3/4,9/8)を15/16、33/32での二段で(15/16,33/32)へ、(9/8,3/2)を21/16、45/32、93/64での三段で(45/32,93/64)へ移す。三つの閉包は互いに交わらない。
f2=x−1の Sturm 列は(x−1,1)であり、(15/16,33/32)での根数は1−0=1であるから、この区間の根1の重複度は2である。f1=x2−2の Sturm 列は(x2−2, 2x, 2)であり、(−3/2,−3/4)と(45/32,93/64)での根数はそれぞれ2−1=1、1−0=1であるから、これらの区間の根−2、2の重複度は1である。
7 演習
解答.
補題 1.2 (1)は、f′の各係数iaiがfの係数について線形であることから従う。
補題 1.2 (2)を示す。両辺は補題 1.2 (1)によりfとgのそれぞれについて線形であるから、f=xa、g=xb(a,b∈N≥0)の場合に示せばよい。このとき(xa+b)′=(a+b)xa+b−1=axa−1⋅xb+xa⋅bxb−1である。ただしa=0またはb=0のとき、係数が0の項は現れないものとする。(fe)′=efe−1f′はe=1で成り立ち、eで成り立てば(fe+1)′=(fe)′f+fef′=efe−1f′f+fef′=(e+1)fef′である。f=x−cとするとf′=1であるから((x−c)e)′=e(x−c)e−1である。
補題 1.2 (3)を示す。f′のxn−1の係数はnanであり、n≥1とan=0からRにおいてnan=0である。f′には次数がn−1より大きい項がないので、f′=0かつdegf′=n−1である。▨
解答.
補題 3.3 (1)を示す。fが定数ならばf=lc(f)であり、右辺の積は空である。fが定数でなければ、lc(f)−1fのモニック既約分解p1⋯pnの因子を等しいものごとにまとめるとlc(f)−1f=∏ppvp(f)であり、vp(f)>0となるpはp1,…,pnのいずれかである。
補題 3.3 (2)を示す。f,gがともに定数でなければ、§E6.28 命題 1.2によりlc(fg)=lc(f)lc(g)であるからlc(fg)−1fg=(lc(f)−1f)(lc(g)−1g)であり、二つのモニック既約分解を並べたものは左辺のモニック既約分解である。§E6.28 定理 5.1の一意性によりvp(fg)=vp(f)+vp(g)である。fが定数ならばlc(fg)−1fg=lc(g)−1gであるからvp(fg)=vp(g)=vp(f)+vp(g)であり、gが定数の場合も同様である。
補題 3.3 (3)を示す。f∣gならばg=fkを満たす零でないkが存在し、補題 3.3 (2)によりvp(g)=vp(f)+vp(k)≥vp(f)である。逆に任意のpでvp(f)≤vp(g)ならば、k:=lc(g)lc(f)−1∏ppvp(g)−vp(f)はK[x]の元であり、補題 3.3 (1)によりfk=lc(g)∏ppvp(g)=gである。
補題 3.3 (4)を示す。D:=∏ppmin{vp(f),vp(g)}はモニックであり、補題 3.3 (3)によりfとgを割り切る。fとgの任意の公約元eは零でなく、同じ主張により任意のpでvp(e)≤min{vp(f),vp(g)}=vp(D)を満たすのでe∣Dである。したがってDはfとgのモニック最大公約元であり、§E6.28 命題 3.1によりモニック最大公約元は一意である。▨
問題 7.3.q∈R[x]を平方自由とし、(q0,…,qk)をその Sturm 列、di:=degqi、ℓi:=lc(qi)とする。qの実根の個数は
var((−1)d0ℓ0,…,(−1)dkℓk)−var(ℓ0,…,ℓk)に等しいことを示せ。
解答.
i<kならばqiは定数でない。実際、q0=qの次数は1以上であり、1≤i<kでqiが零でない定数ならばqi−1のqiによる除法の剰余は零であり、qi+1=0となってi+1≤kに反する。各i<kについてqiに命題 2.1 (2)を適用して得る1+MをBiとし、B∗:=maxi<kBiと置く。i<kならばB∗≥Biであるから、同じ主張によりsgnqi(B∗)=sgnℓi、sgnqi(−B∗)=(−1)disgnℓiであり、qk=ℓkは零でない定数でdk=0であるから、この等式はi=kでも成り立つ。したがってV(B∗)=var(ℓ0,…,ℓk)、V(−B∗)=var((−1)d0ℓ0,…,(−1)dkℓk)である。B∗≥B0であるから、同じ主張によりqの実根はすべて(−B∗,B∗)に属し、q(±B∗)=0である。定理 4.3 (3)によりqの実根の個数はNq((−B∗,B∗))=V(−B∗)−V(B∗)であり、これは与えられた差に等しい。▨