【How many ways do you know?】Four root approximations for calculating 100 trillion digits.
Vložit
- čas přidán 14. 07. 2024
- Approximation of the root is often necessary for the calculation of pi. It seems that pi was obtained to the 100th trillionth digit, but to do so, the root also needed to be obtained to the 100 trillionth digit.
In this video, we will introduce four root approximation methods.
・Bisection method
Anyway, it's simple
・Continued fraction
Stylish anyway
・Babylonian method
Anyway, easy
・Extraction of square root
Easy to use for large numbers
【toc】
00:00 - Intro
01:53 - Bisection method
04:42 - Continued fraction
08:26 - Babylonian method
12:37 - Extraction of square root(Calculation by hand)
18:00 - summary
・Archimedes' method for finding pi
• 【紀元前3世紀】アルキメデスによる数学史上最...
・Sample codes
github.com/daikon-oroshi/calc...
【illustration】
立ち絵 (坂本アヒル様)
【BGM】
無心になれる作業 (BGMer)
【voice】
VOICEVOX:ずんだもん (Zundamon)
VOICEVOX:四国めたん (Metan)
【lip sync】
りぞりぷと
github.com/nakano000/Resolve_... - Věda a technologie
バビロニアの人たちはプラス、マイナス、かける、割るの記号はなく、等号も平方根記号も持たず、ゼロも小数点も、添え字も、共通の分数p/qをさえも書く手段さえをも何も持っておらず、整数であれ分数であれ任意の数の三分の2を表記することもできなかったが、二次方程式の解を求めることができた。数学は意外と歴史が古いが、しかし我々が知っている数学の表記法はずっと新しい。
多分信じてもらえないけど、高校のとき自力で開平法と殆ど同じ方法に辿り着いて、演習の授業でちょっとヒーローになった
神童で草
天才やん
正方形細かくしてくやつやろ?
聞いても分からん部分があるのに、自力で思いつくのはすごい‼️
バビロニアの方法精度かなり良くて好き
あまり知られてはいませんが、√aの近似値を求めたい時、相加・相乗平均の不等式においてb=(aに1番近い平方数)として、不等号を=にすると、小数点2ケタ位までなら近似値を求められると思います。(特にaが大きいときはいいかも、、)
バカなのでこれだけでは理解できませんでした。もう少し詳しく教えていただきたいです
@@unkolove437√17を例に挙げると、17+16=2√17×16=8√17 √17=4.125 みたいな感じですね。実際には√17≒4.123なので少数第二位まであっていますね。他にも試してみたところ√の中身が平方数に近い程精度が高い気がしました。
@@unkolove437
√5なら
( 4 + 5 ) / 2 ≧ √4*5
√5 ≦ 9/4 = 2.25
多分こういうことかと
@@unkolove437
√5の近似値を求めたいとき、
a=5, b=4(5に最も近い平方数)として、
(a+b)/2≧√(ab)
4.5≧√20
2.25≧√5
√5=2.236…なのでおおよそ近似できている、といった感じでしょうか
@@unkolove437a,b>0のとき
a+b≧2√ab
両辺を2√bで割ると
(a+b)/2√b≧√a...(※)
これ、左辺は右辺より大きいし、等号成立(a=b)のときでは限りなく近い値で表せると思いませんか?
A=B かつ B=b'+t(b'はBに最も近い平方数、tは正の整数)であるとすれば
ex)A=83のとき、B=81+2
(※)の式にa=A(83),b=b'(81)を代入して
82/9=9.11…
これは√83の近似値(調べてください)と2桁ほどまで一致している
というわけです
今年の共通テストこの動画で学んだ
筆算法が使えました!
本当にありがとうございました!
I love the 4th theory: square root method. Because it learns at an advanced level of the Abacus.
むかし教科書のコラムに開平法が載っていたが、原理は書いておらず、開平法の原理は計算方法からだけでは見当もつかなかったのでここで知れてとても嬉しい!
計算方法の仕組みを知ると学生の頃の印象とは異なり単純で明快な計算方法だったとよくわかり、爽快だった!
面白かった
確かに学校では習わなかったけど、中学の時に同級生が開平法を知っていて教えてもらったよ。
還暦を過ぎた今でも即使えるよ。
開平法の復習に役立ちました、有難う。
おじちゃんいい人そう😊
開平法は答えが間違っていないかを
ざっくり調べるために使っていたなぁ
開平法…楽しそうだからやってみよ。
算盤や暗算で平方根を求める場合、原理は開平法と大体同じですが若干違う手順を取ります。
まず開平法と同じように2桁ずつ分割して上一桁の数字を確定させ、その2乗数の引き算をするところまでは同じです。(この数をaとします)
そして引き算で出てきた数を2で割ります。(この手順はここ一回でしか使わず、以降は適用しません)
出てきた数に対してそれを超えないでab+b^2/2を満たす最大のbを脳内で求めます(ここはかなり暗算能力が必要になります)。以下は同様に順次下の桁を求めていきます。
原理こそ開平法とほぼ同じですが、算盤や暗算は筆算と違い同時に複数の数をキープするのが難しいので、できるだけキープする数を減らすためにこのような手順を取っています(動画でやっている手順の左側の筆算を省略しようという理屈です)
ルートの近似...ゴロで覚えるとかは苦手だったから問題で出たときいつも近似していたのが懐かしい
1
物理で開平法のやり方載ってたからやってたら共テで√の近似値出てきたから誘導無視してできたのが唯一良かった
連分数すき
累乗根は形によって
1. ある代数方程式の解に対してニュートン法を適用する
2. 指数関数とみなして対数の近似値を使う
の 2 種類を知ってます。
2^(1/3) は x^3 - 2 = 0 の解なのでニュートン法が楽。
2^(1/100) は x^100 - 2 = 0 の解ですが適当な数を 100 乗すると
オーバーフロー・アンダーフローが起きるので
プログラミングでも100 乗はしたくありません。
2^(1/100)=e^( 0.01 log 2 )
とみなせば log 2 がだいたいわかれば 2^(1/100) もわかります。
ニュートン法は、プログラミングでよくお世話になりますね。
二次試験の化学を解く際に、ルートの近似に開平法と同じ原理を用いてた。
バビロニアの方法は√(1+x)のテイラー展開の1次式(拡張2項定理)とも言えますね
√A
=(m^2+b)^(1/2)
=m(1+(b/m^2))^(1/2)
≒m(1+(b/(2m^2)))
=m+b/(2m)
物理の近似計算でよくやる
(1+x)^α≒1+αxみたいな
@@anasuit1111みたいというか普通にそれ
5次以上の方程式の解、楕円関数を使うのはかなり手間がかかりそうなのですが、複素数を含めた近似解を求める方法はありませんかね?10^-3,10^-6,10^-10の位、あるいは有効数字3,6,10桁まで、の6パターンを想定してます。
@@anasuit1111テイラー展開の結果として出た近似式が物理で使われてる(理論は説明されてない)だけ
2以上のオーダー(Ο)は無視するってことですね
最後のやつは物理のエッセンスにのってたなぁ
こういうのが知りたかったんだよ
開平法なんか見覚えあるな…って思ったら、小学生の時そろばん塾でやってたわ。
「無限に繰り返すと求めたい数値に収束する」
「極限をとると求めたい数値になる」
あたりは数学の世界では近似と呼ばれているんだっけ? うーん。
連分数法
共テの問題集でやった!
実は2分法は場合によっては2進数の開平法と同じですよね。例えば動画内ように
連分数は形を変えると簡単に左から計算できるようになるので、スペースが節約できる上に精度も失いません
ずんだもんかわいい
30年ほど前にEXCELで多倍長演算マクロ作ったとき、ルートの計算は最初は開平法でやって桁数増えると時間かかるからニュートン法に切り替えた
EXCELは長い数値扱えないから文字列で処理した
VBAなどの高級言語を使う場合、2進法の利点をほとんど使えないですね。アセンブラなどの低級言語が使えるなら圧倒的に開平法が早いです。2進法の利点が効いてきますから。
@@TIshida360 数千桁の計算になるとどっちにしても既存の演算関数使えないので
そろばんみたいに一桁づつ計算していくので2進とか関係なかったかも
元々がプログラムの検算用に16進の数十桁計算するプログラムを10進にして汎用化したものだったし
開平算はいい頭の体操になって楽しい
全部知らなかった😮
開平法はソロバンでも使用でき、江戸時代から手法が研究されています。
そして更にコンピュータで平方根を求めるには、開平法一択ですね。ものすごく桁数が巨大な整数はハードで計算する方法は使えず、ルートの計算もソフトで一々プログラミングしなければなりません。しかも、基本部分に高級言語は使えず大昔のアセンブラで組む必要があります。
開平法は実際に組めばわかりますが、驚くほど極めて2進法と相性がよく、多数桁の仮の引き算1回だけで、答えの1桁(1bit)を求めることができます。速度は早く、多数桁除法と同程度の速度でルートの計算ができます。
やっぱりニュートン法より2進数と相性がいい方法の方が速いんでしょうか?
@@sio-salt8979 ニュートン法は多数桁の場合、次の数列を求める時にいちいち多数桁除法をしなければいけないので、圧倒的に開平法の方が早いですね。
機械と10本指は、相性最悪!
せめて人類が4本指で数えていれば
開平方は高校のときに習ったけどなあ
二分法とはちょっと違うけど、小学生の時に親にルートの概念を教わった時√2を手探りで小数第3桁くらいまで求めたのはいい思い出
こういう時に気になるのは、プログラムで求める時、
その言語の浮動小数型変数の記憶できる桁数以上に求めたかったら、
どうすればよいかだよね。
…ライブラリを探せば一発かな?
精度で一番は分数を使うことですかね〜
分数で計算して、そのまま使うかそこからまた分数を計算するか…
浮動小数点は精度的な問題がありますし、こういう場合最後に使うくらいが良いと思います
pythonならdecimalで一発だったよ。
速度遅いと思われがちだけど中でcが動いてるから、アルゴリズム工夫すればノーパソでも2000万桁を三十秒くらいで計算できたよ
有理数は、整数のみで表す!
無理数は、整数と1未満の無限小数を組み合わせる!!
ニュートン法が至高なんだよ
僕はニュートン法が好きですね〜。
累乗根の求め方ってありますか?
あるとは思いますが、僕は知りません。円周率を求めるのに必要であれば、調べて動画にするかもしれません。
代数方程式の根なら全部ニュートン法でいけます!
たとえば2の三乗根なら、y=x^3-2のグラフにx=a_nでの接線を引き、接線とx軸との交点の座標をa_(n+1)として漸化式を作って、a_nの極限を取ればいいです。
半九九覚えたなあ
ざっくりな近似は二分法かバビロニアの相加相乗平均の方法、厳密な値は開平法を使うかなー
四大文明のうち少なくとも2つから平方根を求める方法が出てる点に人間の文明の強さを感じる
共テでルートの近似を求める問題で躓いてしまったから、これを知っていればあと10点ぐらい取れたのが悲しい…(´・ω・`)
そういえば昨日の共通テストでルートの近似でてましたね!
√13
開平法は中高でやらないのかな?
筆算での開平法は高校の理科で習います。
バビロニアのやつ導出難しいってあったけどそんなに?
特にしつこく言われてない、開平法のが10倍ムズい
そもそもなぜ平方根を思い付いた?
高位の微小量🥶
るんとうの近似?(すっとぼけ)
僕はこの中で知ってたのは連分数分解と開平法でした
正直実用で言うと解平法が一番かと思います
僕は工事の現場監督をしていますが、解平法やテイラー展開、加法定理等を使って好きな三角関数の値を四則計算しかできない電卓で求めて使っています。
有効数字2,3桁くらいなら結構簡単かつ正確に求まるので関数電卓を忘れたときでも計算できるので便利です
バビロニアの方法は物理とかでよく近似に使われるものの応用的な使い方ですね
(1+x)^n=1+nxみたいなやつ
ひとよひとよにひとみごろをいよいよ兄さん殺す(1.41421356)で覚えたのはいい思い出
連分数は近似より連分数そのものが目的になりがち
1.41421356(いよいよ兄さん◯す)って覚えた記憶
語呂合わせとしては間違っていませんね🤣
その発想好きです
連分数美しすぎる。
黄金比のやつは感動したわ。あ、この世界ってやっぱ意図的に作られてるんやなって。
なんでこんな変な喋り方なの…
そういうキャラだからでは?
四国めたんとずんだもんってキャラだよ