プリンキピア

第4章微分の応用

4.9 Newton’s Method4.9 ニュートン法

Learning Objectives学習目標

  • Describe the steps of Newton’s method.
    ニュートン法の手順を説明する。
  • Explain what an iterative process means.
    反復過程の意味を説明する。
  • Recognize when Newton’s method does not work.
    ニュートン法がうまくいかない場合を見分ける。
  • Apply iterative processes to various situations.
    さまざまな状況に反復過程を応用する。
In many areas of pure and applied mathematics, we are interested in finding solutions to an equation of the form f(x)=0. For most functions, however, it is difficult—if not impossible—to calculate their zeroes explicitly. In this section, we take a look at a technique that provides a very efficient way of approximating the zeroes of functions. This technique makes use of tangent line approximations and is behind the method used often by calculators and computers to find zeroes.
英語のヒント
純粋数学や応用数学の多くの分野で、f(x)=0という形の方程式の解を求めたいことがある。しかし、ほとんどの関数では、零点を明示的な式で計算することは、できるとしても難しい。この節では、関数の零点を非常に効率よく近似する方法を学ぶ。接線による近似を使うこの方法は、計算機やコンピューターが零点を求めるときによく使う方法の基礎となっている。

Describing Newton’s Methodニュートン法の仕組み

Consider the task of finding the solutions of f(x)=0. If f is the first-degree polynomial f(x)=ax+b, then the solution of f(x)=0 is given by the formula x=−ba. If f is the second-degree polynomial f(x)=ax2+bx+c, the solutions of f(x)=0 can be found by using the quadratic formula. However, for polynomials of degree 3 or more, finding roots of f becomes more complicated. Although formulas exist for third- and fourth-degree polynomials, they are quite complicated. Also, if f is a polynomial of degree 5 or greater, it is known that no such formulas exist. For example, consider the function
英語のヒント
f(x)=0の解を求める問題を考えよう。fが1次多項式f(x)=ax+bなら、f(x)=0の解は公式x=−baで与えられる。fが2次多項式f(x)=ax2+bx+cなら、f(x)=0の解は2次方程式の解の公式で求められる。しかし、3次以上の多項式では、fの根を求めることはより複雑になる。3次・4次の多項式にも公式はあるが、かなり複雑である。fが5次以上になると、四則演算とべき根だけを使ってすべての場合に通用する一般的な解の公式は存在しないことが知られている。たとえば、次の関数を考えよう。
f(x)=x5+8x4+4x3−2x−7.
f(x)=x5+8x4+4x3−2x−7
No formula exists that allows us to find the solutions of f(x)=0. Similar difficulties exist for nonpolynomial functions. For example, consider the task of finding solutions of tan(x)−x=0. No simple formula exists for the solutions of this equation. In cases such as these, we can use Newton’s method to approximate the roots.
f(x)=0の解を、先ほどのような代数的な公式から求めることはできない。多項式でない関数でも、同じような難しさがある。たとえば、tan(x)−x=0の解を求めたい場合も、解全体を与える簡単な公式はない。このようなとき、ニュートン法で根を近似できる。
Newton’s method makes use of the following idea to approximate the solutions of f(x)=0. By sketching a graph of f, we can estimate a root of f(x)=0. Let’s call this estimate x0. We then draw the tangent line to f at x0. If f′(x0)≠0, this tangent line intersects the x-axis at some point (x1,0). Now let x1 be the next approximation to the actual root. Typically, x1 is closer than x0 to an actual root. Next we draw the tangent line to f at x1. If f′(x1)≠0, this tangent line also intersects the x-axis, producing another approximation, x2. We continue in this way, deriving a list of approximations: x0,x1,x2,…. Typically, the numbers x0,x1,x2,… quickly approach an actual root x*, as shown in the following figure.
英語のヒント
ニュートン法は、次の考え方でf(x)=0の解を近似する。まず、fのグラフの概形から、f(x)=0の根のおおよその位置を見積もり、その値をx0とする。x0でのfの接線を引く。f′(x0)≠0なら、この接線はx軸とある点(x1,0)で交わる。そこで、x1を根の次の近似値とする。通常、x1はx0より実際の根に近い。次に、x1でのfの接線を引く。f′(x1)≠0なら、この接線もx軸と交わり、新しい近似値x2を得る。これを繰り返して、近似値の列x0,x1,x2,…を作る。通常、x0,x1,x2,…は、次の図のように実際の根x*へ速く近づく。
関数f(x)上に点(x₀,f(x₀))、(x₁,f(x₁))、(x₂,f(x₂))がある。最初の点での接線はx軸とx₁で交わり、2番目の点での接線はx軸とx₂で交わる。3番目の点から同じように接線を引けば、実際の根x*にさらに近い交点が得られそうに見える。この順で接線を使うたびに、近似値はx*へ近づいていく。

OpenStax, Rice University; Calculus Volume 1. · CC BY-NC-SA 4.0

Figure 4.77図 4.77
The approximations x0,x1,x2,… approach the actual root x*. The approximations are derived by looking at tangent lines to the graph of f.
fのグラフの接線から得る近似値x0,x1,x2,…が、実際の根x*へ近づいていく。
Now let’s look at how to calculate the approximations x0,x1,x2,…. If x0 is our first approximation, the approximation x1 is defined by letting (x1,0) be the x-intercept of the tangent line to f at x0. The equation of this tangent line is given by
近似値x0,x1,x2,…の計算方法を見よう。最初の近似値をx0とすると、x0でのfの接線とx軸との交点を(x1,0)として、次の近似値x1を定める。この接線の方程式は、
y=f(x0)+f′(x0)(x−x0).
y=f(x0)+f′(x0)(x−x0)
Therefore, x1 must satisfy
したがって、x1は次を満たす。
f(x0)+f′(x0)(x1−x0)=0.
f(x0)+f′(x0)(x1−x0)=0
Solving this equation for x1, we conclude that
これをx1について解くと、次を得る。
x1=x0−f(x0)f′(x0).
x1=x0−f(x0)f′(x0)
Similarly, the point (x2,0) is the x-intercept of the tangent line to f at x1. Therefore, x2 satisfies the equation
同様に、点(x2,0)は、x1でのfの接線とx軸との交点である。したがって、x2は次の式を満たす。
x2=x1−f(x1)f′(x1).
x2=x1−f(x1)f′(x1)
In general, for n>0,xn satisfies
一般に、n>0xnは次を満たす。
xn=xn−1−f(xn−1)f′(xn−1).
xn=xn−1−f(xn−1)f′(xn−1)
(4.8)
Next we see how to make use of this technique to approximate the root of the polynomial f(x)=x3−3x+1.
次に、この方法を使って多項式f(x)=x3−3x+1の根を近似してみよう。
Example 4.46例題 4.46

Finding a Root of a Polynomial多項式の根を求める

Use Newton’s method to approximate a root of f(x)=x3−3x+1 in the interval [1,2]. Let x0=2 and find x1,x2,x3,x4, and x5.
ニュートン法を使い、区間[1,2]にあるf(x)=x3−3x+1の根を近似せよ。x0=2として、x1,x2,x3,x4、x5を求めよ。
Solution解き方
From Figure 4.78, we see that f has one root over the interval (1,2). Therefore x0=2 seems like a reasonable first approximation. To find the next approximation, we use Equation 4.8. Since f(x)=x3−3x+1, the derivative is f′(x)=3x2−3. Using Equation 4.8 with n=1 (and a calculator that displays 10 digits), we obtain
図4.78から、fは区間(1,2)に根を1つ持つことがわかる。したがって、最初の近似値としてx0=2は妥当である。次の近似値には式4.8を使う。f(x)=x3−3x+1なので、導関数はf′(x)=3x2−3である。式4.8でn=1とし、10桁表示の計算機を使うと、次を得る。
x1=x0−f(x0)f′(x0)=2−f(2)f′(2)=2−39≈1.666666667.
x1=x0−f(x0)f′(x0)=2−f(2)f′(2)=2−39≈1.666666667
To find the next approximation, x2, we use Equation 4.8 with n=2 and the value of x1 stored on the calculator. We find that
次の近似値x2を求めるには、式4.8でn=2とし、計算機に保存されたx1の値を使う。すると、
x2=x1-f(x1)f′(x1)≈1.548611111.
x2=x1-f(x1)f′(x1)≈1.548611111
Continuing in this way, we obtain the following results:
同じように続けると、次の値を得る。
x1≈1.666666667x2≈1.548611111x3≈1.532390162x4≈1.532088989x5≈1.532088886x6≈1.532088886.
We note that we obtained the same value for x5 and x6. Therefore, any subsequent application of Newton’s method will most likely give the same value for xn.
x5とx6の表示値が一致した。したがって、さらにニュートン法を繰り返しても、表示されるxnの値はおそらく変わらない。
f(x)=x³−3x+1のグラフ。根は−2と−1の間、0と1の間、1と2の間に、それぞれ1つずつある。

OpenStax, Rice University; Calculus Volume 1. · CC BY-NC-SA 4.0

Figure 4.78図 4.78
The function f(x)=x3−3x+1 has one root over the interval [1,2].
関数f(x)=x3−3x+1は、区間[1,2]に根を1つ持つ。
Newton’s method can also be used to approximate square roots. Here we show how to approximate 2. This method can be modified to approximate the square root of any positive number.
ニュートン法は平方根の近似にも使える。ここでは2.の近似値を求める。この方法を少し変えれば、任意の正の数の平方根を近似できる。
Example 4.47例題 4.47

Finding a Square Root平方根を求める

Use Newton’s method to approximate 2 (Figure 4.79). Let f(x)=x2−2, let x0=2, and calculate x1,x2,x3,x4,x5. (We note that since f(x)=x2−2 has a zero at 2, the initial value x0=2 is a reasonable choice to approximate 2.)
ニュートン法で2を近似せよ(図4.79)。f(x)=x2−2、x0=2として、x1,x2,x3,x4,x5を計算する。f(x)=x2−2の零点は2なので、初期値x0=2は2を近似するための妥当な選択である。
Solution解き方
For f(x)=x2−2,f′(x)=2x. From Equation 4.8, we know that
f(x)=x2−2f′(x)=2xである。式4.8から、次がわかる。
xn=xn−1−f(xn−1)f′(xn−1)=xn−1−x2n−1−22xn−1=12xn−1+1xn−1=12(xn−1+2xn−1).
Therefore,
したがって、
x1=12(x0+2x0)=12(2+22)=1.5x2=12(x1+2x1)=12(1.5+21.5)≈1.416666667.
Continuing in this way, we find that
同じように続けると、次を得る。
x1=1.5x2≈1.416666667x3≈1.414215686x4≈1.414213562x5≈1.414213562.
Since we obtained the same value for x4 and x5, it is unlikely that the value xn will change on any subsequent application of Newton’s method. We conclude that 2≈1.414213562.
x4とx5の表示値が一致したので、さらに繰り返してもxnの表示値は変わりそうにない。したがって、2≈1.414213562とわかる。
y=x²−2のグラフ。x₀=2から鉛直の破線が曲線まで引かれ、その点での接線がx軸のx₁=1.5に向かって下がっている。この交点は、実際の根x*=√2の近くにある。

OpenStax, Rice University; Calculus Volume 1. · CC BY-NC-SA 4.0

Figure 4.79図 4.79
We can use Newton’s method to find 2.
ニュートン法で2.を求められる。
When using Newton’s method, each approximation after the initial guess is defined in terms of the previous approximation by using the same formula. In particular, by defining the function F(x)=x−[f(x)f′(x)], we can rewrite Equation 4.8 as xn=F(xn−1). This type of process, where each xn is defined in terms of xn−1 by repeating the same function, is an example of an iterative process. Shortly, we examine other iterative processes. First, let’s look at the reasons why Newton’s method could fail to find a root.
英語のヒント
ニュートン法では、初期値の後に続く近似値を、毎回同じ公式で1つ前の近似値から定める。具体的には、関数F(x)=x−[f(x)f′(x)]を定義すれば、式4.8をxn=F(xn−1)と書き直せる。このように、同じ関数を繰り返し使い、xn−1からxnを定めていく操作を反復過程という。後で別の反復過程も考える。その前に、ニュートン法が根を見つけられない場合を調べよう。