1 区間上の全称条件
補題 1.1.r∈N≥0、p1,…,pr∈Q[t][x]とし、Φを族(p1,…,pr)上の符号条件式、A,B∈Qとする。pr+1:=x−A、pr+2:=B−xと置き、族(p1,…,pr+2)上の符号条件式
Φ[A,B]:=¬(pr+1≥0∧pr+2≥0)∨Φに§E20.41 定理 5.3の手続きを適用して得るΨ∀をΨと置く。Ψは有理数の四則演算と比較の有限回で得られる、Q[t]の元からなる有限族上の符号条件式であり、任意のa∈Rに対して
(∀b∈[A,B] Φ(a,b))⟺Ψ(a)が成り立つ。
証明.§E20.41 定義 1.1 (2)の規則についてΦの構成に沿った帰納法により、族(p1,…,pr+2)に関する[Φ]は族(p1,…,pr)に関する[Φ]と{−1,0,1}2の直積であるから、Φ(a,b)の成否はどちらの族で読んでも同じである。§E20.41 定義 1.1 (2)により、Φ[A,B](a,b)が成り立つことは、b−A≥0かつB−b≥0が成り立たないかΦ(a,b)が成り立つこと、すなわちb∈/[A,B]であるかΦ(a,b)が成り立つことと同値である。したがって、任意のb∈RでΦ[A,B](a,b)が成り立つことは、任意のb∈[A,B]でΦ(a,b)が成り立つことと同値である。§E20.41 定理 5.3をΦ[A,B]に適用すれば主張が従う。▨
2 前進 Euler 法の刻み
命題 2.1.h∈Rとする。
- 任意のa∈[1,4]について(1−ah)2<1が成り立つことは、0<h<1/2と同値である。
- 任意のa∈[1,4]について(1−ah)2≤1が成り立つことは、0≤h≤1/2と同値である。
証明. 任意の実数aについて(1−ah)2−1=ah(ah−2)であるから、(1−ah)2<1は0<ah<2と同値であり、(1−ah)2≤1は0≤ah≤2と同値である。
(1)を示す。0<h<1/2ならば、任意のa∈[1,4]について0<h≤ah≤4h<2である。逆に、任意のa∈[1,4]について0<ah<2が成り立つならば、a=1から0<hが、a=4から4h<2が従う。
(2)を示す。0≤h≤1/2ならば、任意のa∈[1,4]について0≤ah≤4h≤2である。逆に、任意のa∈[1,4]について0≤ah≤2が成り立つならば、a=1から0≤hが、a=4から4h≤2が従う。▨
系 2.2.h>0とし、a∈[1,4]に対してテスト方程式y′=−ay、y(0)=1に前進 Euler 法を刻みhで適用する。前進 Euler 法の安定関数をRとし、za:=−ahと置く。
- 任意のa∈[1,4]についてR(za)n→0(n→∞)が成り立つことは、h<1/2と同値である。
- 任意のa∈[1,4]についてsupn∣R(za)n∣<∞が成り立つことは、h≤1/2と同値である。
- h=1/2、a=4ならばR(za)=−1であり、任意のnについて∣R(za)n∣=1である。
証明.§E20.28 系 5.6によりR(z)=1+z(DR=C)であるから、R(za)=1−ahは実数であり、∣R(za)∣<1は(1−ah)2<1と、zaが絶対安定領域に属することは(1−ah)2≤1と同値である。§E20.28 命題 5.3 (1)により、R(za)n→0は∣R(za)∣<1と同値であり、supn∣R(za)n∣<∞はzaが絶対安定領域に属することと同値である。h>0であるから、命題 2.1 (1)により(1)が、命題 2.1 (2)により(2)が従う。h=1/2、a=4ならばR(za)=1−2=−1であるから、(3)が成り立つ。▨
例 2.3.p1:=t2x2−2tx、p2:=x−1、p3:=4−xをQ[t][x]の元とし、族(p1,p2,p3)上の符号条件式
Φ<:=¬(p2≥0∧p3≥0)∨p1<0,Φ≤:=¬(p2≥0∧p3≥0)∨p1≤0を考える。Φ<とΦ≤は、補題 1.1のΦ[A,B]をr=1、A=1、B=4とし、Φをそれぞれp1<0、p1≤0として作った式であり、任意の実数h,aについてp1(h,a)=(1−ah)2−1である。§E20.41 定理 5.3をΦ<とΦ≤に適用して得るΨ∀をそれぞれΨ<、Ψ≤とすると、補題 1.1と命題 2.1により、任意のh∈Rに対してΨ<(h)は0<h<1/2と同値であり、Ψ≤(h)は0≤h≤1/2と同値である。
二つの式の多項式の族は同じであるから、手続きの区画は二つの式で共通である。§E20.41 定理 5.3 (5)と§E20.41 定義 1.1 (2)と§E20.41 命題 5.2 (2)により、Ψ<(h)が成り立つhの全体はΦ<のT∀に属する区画の和集合であり、Ψ≤(h)が成り立つhの全体はΦ≤のT∀に属する区画の和集合である。区画はRの分割をなすので、区画の集合Tの和集合がXならば、各区画はXに含まれるかXと交わらず、TはXに含まれる区画の全体である。したがって、Φ<のT∀は(0,1/2)に含まれる区画の全体であり、Φ≤のT∀は[0,1/2]に含まれる区画の全体である。0または1/2を含む区画は(0,1/2)と交わらず、0または1/2を含む開区間は(0,1/2)と交わるので、§E20.41 命題 5.2 (1)により{0}と{1/2}は区画であり、0と1/2はWの実根である。
区画{0}と{1/2}は[0,1/2]に含まれ、(0,1/2)に含まれないので、Φ≤のT∀に属し、Φ<のT∀に属さない。標本点1/2では、b=4についてp1(1/2,4)=0、p2(1/2,4)=3、p3(1/2,4)=0であるから(0,1,0)∈S(1/2)であり、(0,1,0)はp2≥0∧p3≥0を満たしp1<0を満たさないので[Φ<]に属さず、S(1/2)⊂[Φ<]は成り立たない。標本点0では、b=2についてp1(0,2)=0、p2(0,2)=1、p3(0,2)=2であるから(0,1,1)∈S(0)であり、(0,1,1)はp2≥0∧p3≥0を満たしp1<0を満たさないので[Φ<]に属さず、S(0)⊂[Φ<]は成り立たない。
3 近似誤差の条件
補題 3.1.
- 実数u,v,w,Eがw=0かつE≥0を満たすならば、∣u−v/w∣≤Eであることは(uw−v)2≤E2w2であることと同値である。
- A,B∈Q、f∈Q[x]、P,Q∈Q[t][x]、e∈Q[t]とし、g:=e2Q2−(fQ−P)2と置く。族(Q,e,g)上の符号条件式Q=0∧e≥0∧g≥0に補題 1.1を適用して得る式をΨとすると、任意のa∈Rに対して
(∀b∈[A,B] (Q(a,b)=0 かつ f(b)−Q(a,b)P(a,b)≤e(a)))⟺Ψ(a)
が成り立つ。
- A,B∈Q、f,p∈Q[x]とし、(2)をP=p、Q=1、e=tに適用して得る式をΨとする。任意のE∈Rについて、Ψ(E)は任意のb∈[A,B]で∣f(b)−p(b)∣≤Eが成り立つことと同値である。
証明.(1)を示す。w2>0である。∣u−v/w∣≥0かつE≥0であるから、∣u−v/w∣≤Eは(u−v/w)2≤E2と同値であり、両辺にw2>0を掛けると(uw−v)2≤E2w2と同値である。
(2)を示す。a,b∈Rとする。§E20.41 定義 1.1 (2)により、Q=0∧e≥0∧g≥0が(a,b)で成り立つことは、Q(a,b)=0、e(a)≥0、g(a,b)≥0がすべて成り立つことと同値である。Q(a,b)=0かつe(a)≥0ならば、(1)をu=f(b)、v=P(a,b)、w=Q(a,b)、E=e(a)に適用して、g(a,b)≥0は∣f(b)−P(a,b)/Q(a,b)∣≤e(a)と同値である。Q(a,b)=0かつe(a)<0ならば、e(a)≥0も∣f(b)−P(a,b)/Q(a,b)∣≤e(a)も成り立たない。したがって、符号条件式が(a,b)で成り立つことは、Q(a,b)=0かつ∣f(b)−P(a,b)/Q(a,b)∣≤e(a)であることと同値である。補題 1.1により主張が従う。
(3)は、Q=1であるから(2)の左辺でQ(E,b)=0が常に成り立つことによる。▨
命題 3.4. 任意の実数c,Eについて、任意のx∈[−1,1]で∣x2−c∣≤Eが成り立つことは、1−E≤c≤Eと同値である。
証明. 任意のx∈[−1,1]で∣x2−c∣≤Eが成り立つならば、x=0でc≤∣−c∣≤E、x=1で1−c≤∣1−c∣≤Eであるから、1−E≤c≤Eである。逆に1−E≤c≤Eならば、任意のx∈[−1,1]について0≤x2≤1であるからx2−c≤1−c≤Eかつc−x2≤c≤Eであり、∣x2−c∣≤Eである。▨
系 3.5.E∈Rとする。
- 任意のx∈[−1,1]で∣x2−c∣≤Eを満たす実数cが存在することは、E≥1/2と同値である。
- E=1/2ならば、任意のx∈[−1,1]で∣x2−c∣≤Eを満たす実数cは1/2だけである。
- c∈Qとし、補題 3.1 (3)をf=x2、p=c、A=−1、B=1に適用して得る式をΨとする。Ψ(E)はE≥max{c,1−c}と同値である。また、max{c,1−c}≥1/2であり、等号はc=1/2のときだけ成り立つ。
証明.命題 3.4により、任意のx∈[−1,1]で∣x2−c∣≤Eを満たす実数cの全体は{c∈R∣1−E≤c≤E}である。この集合は1−E≤Eのとき、すなわちE≥1/2のときだけ空でないので、(1)が成り立つ。E=1/2ならばこの集合は{1/2}であるから、(2)が成り立つ。
(3)を示す。補題 3.1 (3)によりΨ(E)は任意のx∈[−1,1]で∣x2−c∣≤Eが成り立つことと同値であり、命題 3.4によりこれはE≥1−cかつE≥cと同値である。max{c,1−c}≥(c+(1−c))/2=1/2であり、等号はc=1−c、すなわちc=1/2のときだけ成り立つ。▨
4 有理近似の係数の設計
命題 4.1.c∈Rとする。
- c>−1ならば、任意のx∈[−1,1]について1+cx2>0かつ
x2−1+cx2x2≤1+c∣c∣
であり、x=±1で等号が成り立つ。
- 任意のx∈[−1,1]について1+cx2=0かつ∣x2−x2/(1+cx2)∣≤1/10が成り立つことは、−1/11≤c≤1/9と同値である。特に、c∈[0,1]ならば、この条件はc≤1/9と同値である。
補題 3.1 (2)をf=x2、P=x2、Q=1+tx2、e=1/10、A=−1、B=1に適用して得る式をΨとすると、任意のc∈Rについて、Ψ(c)は−1/11≤c≤1/9と同値である。
証明.(1)を示す。x∈[−1,1]とし、y:=x2∈[0,1]と置く。y∈[0,1]であるから1+cy≥min{1,1+c}>0である。したがってx2−x2/(1+cx2)=cy2/(1+cy)の絶対値は∣c∣y2/(1+cy)であり、
1+c∣c∣−1+cy∣c∣y2=(1+c)(1+cy)∣c∣(1−y)(1+(1+c)y)≥0であるから、不等式が成り立つ。x=±1ではy=1であり、右辺の分子は0である。
(2)を示す。c≤−1ならば、x0:=(−c)−1/2∈(0,1]は1+cx02=0を満たすから左辺は成り立たず、c<−1/11であるから右辺も成り立たない。c>−1ならば、(1)により左辺は∣c∣/(1+c)≤1/10と同値であり、1+c>0であるからこれは10∣c∣≤1+cと同値である。c≥0では10c≤1+cはc≤1/9と同値であり、−1<c<0では−10c≤1+cはc≥−1/11と同値であるから、左辺は−1/11≤c≤1/9と同値である。
最後の主張は、Q(c,x)=1+cx2であるから、補題 3.1 (2)と(2)による。▨
例 4.2. Python 3.12.1 の IEEE binary64 浮動小数点演算で、j=0,1,…,2000に対するc=j/10000とk=−1000,−999,…,1000に対するx=k/1000について∣x2−x2/(1+cx2)∣を計算し、各cで標本上の最大値を0.1と比較した。比較が成り立った最大のjは1111であり、そのときの標本上の最大値は約0.0999910であった。j=1112では標本上の最大値が約0.1000720であり、比較は成り立たなかった。この結果は有限個の標本点での浮動小数点数の比較であり、[−1,1]全体での誤差を定めず、有理数の係数に対する判定も与えない。
探索で得た小数0.1111を有理数1111/10000として係数に採る。1111/10000は既約分数で分母が2の冪でないので、探索で用いた binary64 の数は1111/10000に等しくなく、以下の判定は有理数1111/10000についてのものである。9⋅1111=9999<10000より0<1111/10000<1/9であるから、命題 4.1 (2)によりc=1111/10000は条件を満たす。命題 4.1 (1)により[−1,1]上の誤差の最大値は
1+1111/100001111/10000=111111111であり、c=1111/10000としてf=x2、P=x2、Q=1+cx2、e=t、A=−1、B=1に補題 3.1 (2)を適用して得る式Ψ′について、Ψ′(E)はE≥1111/11111と同値である。
1/9=0.111…を小数第4位へ切り上げた0.1112=139/1250は、9⋅139=1251>1250より1/9より大きいので、命題 4.1 (2)により条件を満たさない。x=1での誤差は
1+139/1250139/1250=1389139であり、10⋅139=1390>1389より139/1389>1/10である。c=1/9はx=±1で誤差がちょうど1/10となり、条件を満たす。1/9は有限小数でないので、0以上の有限小数cが条件を満たすことはc<1/9と同値である。