\(\displaystyle \sqrt{3}\)(ルート3)は、
1.7320508075…
と無限小数で表すことができますが、
この…の部分は永遠に続いていて、
例えば小数点以下100桁まで求めると、
\(\displaystyle \sqrt{3} \) = 1.7320508075688772935274463415058723669428052538103806280558069794519330169088000370811461867572485756…
となります。もっと詳しい計算結果は、
https://apod.nasa.gov/htmltest/gifcity/sqrt3.1mil に掲載されています。
この数値(近似値)はどのようにして計算してるのでしょうか。
その近似値の求め方を4パターン示します。
挟み撃ちによる方法
近似値を求める最も基本的な方法です。
まず、
12=1
22=4
であることから、
\(\displaystyle \sqrt{3}\)は、1と2の間であることがわかります。
1と2の間を10等分して、それぞれの2乗を求めます。
x | x2 (二乗) |
1.0 | 1 |
1.1 | 1.21 |
1.2 | 1.44 |
1.3 | 1.69 |
1.4 | 1.96 |
1.5 | 2.25 |
1.6 | 2.56 |
1.7 | 2.89 |
1.8 | 3.24 |
1.9 | 3.61 |
2.0 | 4 |
x2の列をみると、
1.7の行が2.89、
1.8の行が3.24、
となっていて、ここに3が挟まれていることがわかります。
これから、\(\displaystyle \sqrt{3}\)の小数第1位の数値は、
7であることが確定します。
つまり、
\(\displaystyle \sqrt{3}=1.7…\)
がわかりました。
さらに、
1.7と1.8の間を10等分して、それぞれの2乗を求めます。
x | x2 (二乗) |
1.7 | 2.89 |
1.71 | 2.9241 |
1.72 | 2.9584 |
1.73 | 2.9929 |
1.74 | 3.0276 |
1.75 | 3.0625 |
1.76 | 3.0976 |
1.77 | 3.1329 |
1.78 | 3.1684 |
1.79 | 3.2041 |
1.8 | 3.24 |
これから、\(\displaystyle \sqrt{3}\)の小数第2位の数値は、
3であることが確定します。
これで、
\(\displaystyle \sqrt{3}=1.73…\)
となる事がわかりました。
さらに、1.73と1.74の間を10等分して、それぞれの2乗を求めると、
\(\displaystyle \sqrt{3}\)の小数第3位がわかります。
同様に、この操作を繰り返すことで、任意の桁までの数値をもとめることができます。
この方法は、
\(\displaystyle \sqrt{3}\)を、より小さい数値と大きい数値の区間で挟み込み、
その区間を狭めていくので挟み込みと呼ばれます。
挟み込む区間の作り方は、いろいろ工夫できます。
区間を2等分して求めると計算量をへらすことができます。
この場合は、2進法で\(\displaystyle \sqrt{3}\)を求める操作となります。
数列を使う方法
\(\displaystyle \sqrt{3}\)に収束する数列を利用します。
例として、次の数列で計算してみます。
a1=3
\(\displaystyle a_1=3\)
\(\displaystyle a_{n+1}=\frac{a_n}{2}+\frac{3}{2a_n}\)
この数列は\(\displaystyle \sqrt{3}\)に収束することがわかっています。
漸化式から、a2,a3を求めると
a2=a1/2+3/(2a1)
=3/2+3/6
=2
a3=a2/2+3/(2a2)
=2/2+3/4
=7/4
a4=a3/2+3/(2a3)
=7/8+12/14
=97/56
a5=18817/10864
このように、分数の形で計算が進みますが、
これらの分数を小数で表すと、
a2=2
a3=1.75
a4=1.73214…
a5=1.73205…
となって√3に近づいているのがわかります。
ただ、どの桁まで求められているのかすぐにはわかりません。
これについては、項と項の間隔(差)を調べることでわかりますが、
意外に手間がかかります。
またこの方法は、
漸化式
an+1=an/2+3/(2an)
がわかっていたので、計算できたのですが、
an+1=an/2+3/(2an)
をどうやって作ったのかという問題があります。
実は、漸化式、an+1=an/2+3/(2an)
はニュートン法という方法でつくりました。
これは、微分の知識を使って作ります。
ニュートン法は、方程式の解を求めるときにも使える便利な方法です。
ただ、微分の知識を使わなくても、√3に収束する数列(漸化式)を作ることは可能です。
例えば、
\(\displaystyle a_{n+1}=\frac{2}{a_n+1}+1 \)
があります。
これはどうやって作ったのかというと、
\(\displaystyle (\sqrt{3}-1)(\sqrt{3}+1)=2\)
という等式の最初の
\(\displaystyle \sqrt{3} を a_{n+1}\)、
二番目の
\(\displaystyle \sqrt{3} を a_n\)、
とおいた式、
\(\displaystyle (a_{n+1}-1)(a_n+1)=2\)
を変形して作りました。
\(\displaystyle a_{n+1}=\frac{2}{a_n+1}+1 \)
が√3に収束するのかどうかの問題は残るのですが、
収束すると仮定すると、
それは式の作り方から、
\(\displaystyle \sqrt{3}\)か\(\displaystyle -\sqrt{3}\)
のどれかしかありえません。
漸化式自体は手探りでもすぐに見つかります。
実際に、
\(\displaystyle a_{n+1}=\frac{2}{a_n+1}+1 \)
この漸化式で数列を作ると、
初項=1とした場合、
a1=1
a2=2
a3=5/3=1.6…
a4=7/4=1.75
a5=19/11=1.72…
となって、緩やかではありますが√3に近づいていることがわかります。
級数を使う方法
関数√を級数展開した級数を利用します。
これは、計算機やコンピュータでもよく使われている方法です。
\(\displaystyle \sqrt{{x+1}}= 1 +{1\over 2}{x}-{1\over 8}{x}^2+{1\over 16}{x}^3-{5\over 128}{x}^4+\cdots\)
というう級数があります。
ただ、この級数式に単純に
\(\displaystyle x=2\)
を当てはめることはできません。
\(\displaystyle \sqrt{3}= 1 +{1\over 2}{2}-{1\over 8}{2}^2+{1\over 16}{2}^3-{5\over 128}{2}^4+\cdots\)
となるのですが、この計算してみると、
√3に近づく気配はありません。
どうしてかというと、
|x|<1でないと、
nが大きくなるのに合わせて、xnもどんどん大きくなってしまうからです。
ですがここで工夫することができます。
√3ではなく、
\(\displaystyle \frac{\sqrt{3}}{2}=\sqrt{\frac{3}{4}}\)
をもとめて、それを2倍して√3にします。
つまり級数には、
\(\displaystyle x=-\frac{1}{4}\)を適用します。
これで第5項(4乗の項)まで計算すると
\(\displaystyle \sqrt{\frac{3}{4}} は、\frac{28379}{32768}\)
となって、この分数を2倍して小数表示すると、
1.7321…
となります。
この方法では、割り算が定数なので、
例えば2で割るところを逆数の0.5を掛ける処理に置き換えることができるため、計算効率をよくできます。
計算機(人間も)では、割り算よりも掛け算のほうが早く計算できるから効率がよいといえるのです。
測量による方法
これはアナログ的な方法なので、番外編です。
角度が30度と60度の直角三角形の3辺の比が
\(\displaystyle 1:2:\sqrt{3}\)
であることを利用します。
この直角三角形は、正三角形を半分にした形なので、
作図可能です。
ですから、できるだけ正確に正三角形を作図して、
その正三角形の高さを測定すれば精度は高まります。
ただ、論理的にはこれで√3が求められるはずですが、
現実的には正確に長さを図ることが困難なため、
あまり詳しく求めることはできません。
まあ、数桁程度の近似値なら求められるでしょうが、
正確に長さが測定されているかの保証がないため、
その正当性を示す事が甚だ困難な方法です。
正確に測量することが可能な空想的な頭の中での話になります。
一見無駄にも思える方法ですが、
追求していくと、長さとはなんだろうと考える例題にもなって奥深いです。