ここで行き詰まった? AI で解決しよう
Algebra · real student question

3 次方程式 1.5708x³ − 0.01446x² + 1.35803×10⁻⁵x + 1.0159097×10⁻¹² = 0 を解け。

Question

xx について解け。

1.5708x3−0.01446x2+1.35803×10−5x+1.0159097×10−12=01.5708x^3-0.01446x^2+1.35803\times10^{-5}x+1.0159097\times10^{-12}=0

Step-by-step solution

  1. ソルバーに手を出す前に、係数からスケールを読み取る。 係数は次数が 1 つ下がるごとにおよそ 2 桁ずつ落ちており(1.571.57、1.4×10−21.4\times10^{-2}、1.4×10−51.4\times10^{-5})、これは 10−210^{-2} から 10−310^{-3} あたりに解があることの指紋である。定数項はそこからさらに 7 桁小さいので、1 つの解だけが他の 2 つよりはるかに小さいはずである。

  2. 条件のよい 3 次式にスケールし直す。 x=t/1000x=t/1000 と置くと、tkt^k の係数は 10003−k1000^{3-k} 倍される:

    1.5708t3−14.46t2+13.5803t+1.0159097×10−3=01.5708t^3-14.46t^2+13.5803t+1.0159097\times10^{-3}=0

    これで係数はどれも数桁の幅に収まり、求解のときに桁落ちで失う精度がはるかに小さくなる。

  3. 符号の変化から大きい方の 2 解を挟み込む。 g(t)=1.5708t3−14.46t2+13.5803t+0.0010159097g(t)=1.5708t^3-14.46t^2+13.5803t+0.0010159097 とおくと、g(1)=0.6921>0g(1)=0.6921>0、g(1.5)=−6.8621<0g(1.5)=-6.8621<0、g(8)=−12.5470<0g(8)=-12.5470<0、g(9)=96.0769>0g(9)=96.0769>0。よって解は (1,1.5)(1,1.5) と (8,9)(8,9) にある。計算機の精度まで二分すると t=1.06167t=1.06167 と t=8.14390t=8.14390 を得る。

  4. 小さい解は定数項から取り出す。 t=0t=0 の近くでは 3 次と 2 次の項が無視できるので、13.5803t+0.0010159097≈013.5803t+0.0010159097\approx0 から t≈−7.4808×10−5t\approx-7.4808\times10^{-5} が得られ、ニュートン法で t=−7.480165×10−5t=-7.480165\times10^{-5} まで詰められる。3 つとも 10001000 で割り戻すと:

    x=−7.480165×10−8,0.00106167,0.00814390x=-7.480165\times10^{-8},\quad 0.00106167,\quad 0.00814390

  5. 解と係数の関係で、仮定ではなく実際に計算して確かめる。 解の和は 0.01446/1.5708=0.00920550040.01446/1.5708=0.0092055004 のはずで、3 解を足すと 0.00920550040.0092055004 ✓。解の積は −1.0159097×10−12/1.5708=−6.467467×10−13-1.0159097\times10^{-12}/1.5708=-6.467467\times10^{-13} のはずで、3 解を掛けると −6.467467×10−13-6.467467\times10^{-13} ✓。広く出回っている 0.001004550.00100455 と 0.008201340.00820134 という答えはこの検査を通らない——それらの値では残差が 10−1310^{-13} ではなく 10−810^{-8} 程度になってしまう。

Answer

x≈−7.480165×10−8,x≈0.00106167,x≈0.00814390x\approx-7.480165\times10^{-8},\qquad x\approx0.00106167,\qquad x\approx0.00814390

Need to solve a different problem like this? Open the solver →