42 :
132人目の素数さん:03/05/04 23:31
>>40 atan(x) = x/(1+x^2/(3+2^2*x^2/(5+3^2*x^2/(7+...))))
43 :
132人目の素数さん:03/05/12 14:33
>>1 MS Excelで計算できる。
A1=cos(90°)=0
B1=sin(90°)=1
A[n+1]=cos(90°/(2^n))=√((1+An)/2)
B[n+1]=sin(90°/(2^n))=√((1-An)/2)
C[n+1]=tan(90°/(2^n))=B[n+1]/A[n+1]
D1=2
D[n+1]=2^(n+1)=2*Dn
E[n+1]=2*2^n*sin(90°/(2^n))=D[n+1]*B[n+1]
F[n+1]=2*2^n*tan(90°/(2^n))=D[n+1]*C[n+1]
2*2^n*sin(90°/(2^n))=E[n+1]<π<F[n+1]=2*2^n*tan(90°/(2^n))
44 :
132人目の素数さん:03/05/12 14:41
>>43の計算結果
4 2.828427125<π<4
8 3.061467459<π<3.313708499
16 3.121445152<π<3.182597878
32 3.136548491<π<3.151724907
64 3.140331157<π<3.144118385
128 3.141277251<π<3.14222363
256 3.141513801<π<3.141750369
512 3.14157294<π<3.141632081
1024 3.141587725<π<3.14160251
2048 3.141591422<π<3.141595118
4096 3.141592346<π<3.14159327
8192 3.141592577<π<3.141592808
16384 3.141592633<π<3.141592691
32768 3.141592655<π<3.141592669
45 :
132人目の素数さん:03/05/12 14:49
>>43の初期値を
A1=cos(60°)=1/2
B1=sin(60°)=(√3)/2
D1=3
とした場合の計算結果
6 3<π<3.464101615
12 3.105828541<π<3.215390309
24 3.132628613<π<3.159659942
48 3.139350203<π<3.146086215
96 3.141031951<π<3.1427146
192 3.141452472<π<3.14187305
384 3.141557608<π<3.141662747
768 3.141583892<π<3.141610177
1536 3.141590463<π<3.141597034
3072 3.141592106<π<3.141593749
6144 3.141592517<π<3.141592927
12288 3.141592619<π<3.141592721
24576 3.141592645<π<3.141592671
49152 3.141592645<π<3.141592652
46 :
132人目の素数さん:03/05/12 14:52
>>44 誤差が出てるみたいですね。最下行左辺がπより大きくなってます。
>>47 そうですね(^^;)
ところで「√計算が面倒」という方には、
自然数a,bについて
x=(a^2-b^2)/(a^2+b^2)
y=(2ab)/(a^2+b^2)
が円周の有理点となることを利用して
近似計算を行うことが可能です。
49 :
132人目の素数さん:03/05/12 15:43
50 :
132人目の素数さん:03/05/19 17:53
四角と円を書いて、その中にいっぱい点を打って数える。
51 :
132人目の素数さん:03/05/19 20:37
円柱にザーメンを溜めてその高さを測り、
続いて直方体にザーメンを流し込んでその高さを測る。
その比から円周率が算出される。
>>51 円柱にザーメンが粘りつくので誤差が大き過ぎてダメ。
粘性高いのは溜まってる証拠。普通にオナニーしていればそうはならない。
54 :
132人目の素数さん:03/05/19 22:02
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
test
729/729
59 :
132人目の素数さん:03/07/26 07:39
ちょんわ
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
61 :
132人目の素数さん:03/08/16 14:46
3.14でいいよ。
((0.5)!*2)^2
これってどういうことなん?
63 :
132人目の素数さん:03/08/16 15:35
結論。どこまでも可能
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
66 :
132人目の素数さん:03/08/17 18:56
#include <math.h>
#include <stdio.h>
#ifndef DBL_EPSILON
#define DBL_EPSILON 2.2204460492503131E-16
#endif
main() {
double a, h;
for(a = 355.0/113.0; (fabs(h = sin(a))) > DBL_EPSILON; a += h);
printf("%18.18g\n", a);
}
67 :
132人目の素数さん:03/08/17 21:33
$ gcc -W -Wall a.c -lm
a.c:8: warning: return-type defaults to `int'
a.c: In function `main':
a.c:13: warning: control reaches end of non-void function
$ ./a.out
3.14159265358979312
$
2646693125139304345/842468587426513207
/* 証明は高校数学レベルじゃ無理だが、計算は高校数学で十分。
* ガウス・ルジャンドルの2次収束の公式 */
#include <stdio.h>
#include <math.h>
#define ITER 3
int main() {
int i;
double a, b, t, x, y;
a = 1; b = 1 / sqrt(2); t = 1; x = 4;
for (i = 0; i < ITER; i++) {
y = a;
a = (a + b) / 2;
b = sqrt(y * b);
t -= x * (y - a) * (y - a);
x *= 2;
}
printf("%18.18g\n", (a + b) * (a + b) / t);
return 0;
}
70 :
132人目の素数さん:03/08/27 01:30
計算は高校数学で充分?
Π≒Σ(k=0,∞) (1/2)^(4k)・[4/(8k+1)−2/(8k+4)−1/(8k+5)−1/(8k+6)]
打ち切り誤差の推移なども調べられる。PPB程度ならワケない。
某ベイリー・ボルウェイン・プルーフェによるBBP公式。(1995)
計算だけなら高校レヴェル
>>70 mathematicaでFullSimplifyやったらπって出たからニアリィイコールじゃなくてイコールなんじゃない?
>>71 仰せのとおりです。(ただし証明は高校レヴェルを越えるかも)
>>70 この公式って収束速度はそれほどはやくないね。べきのとこが底が(1/16)なんで
計算機で計算するときは有利だろうけど計算機つかわないんならarctanで十分でわ?
理論も簡単だし。
>>73 BBPより速そうな公式では
・べき底が (1/396)^4 のもの [某ラマヌジャン]
・べき底が (1/640320)^3 のもの [某チュドノフスキー]
あたりでしょうか。
数億桁の計算に使われたようですが...
ここまで来ると、計算だけでも高校レヴェルを越えそう。
arctanつかえば一般項がべき×有理式の形でかつべきの部分の底がいくらでも
小さい級数で極限がπになるものが簡単につくれるのでわ?
pifast
77 :
132人目の素人さん:03/09/06 12:00
78 :
132人目の素人さん:03/09/09 01:46
チェビシェフもあります。
π=2・sqrt(2)[1+2・Σ(k=1,∞) {(-1)^(k-1)}・{α^(2k)}/{(2k)^2-1}]
α=sqrt(2)−1、ベースはα^2
79 :
132人目の素人さん:03/09/09 01:53
↑正 4*(2^k) 角形によるアルキメデス近似式と関係ある?
πの近似値を計算するにあたって単純に収束速度の話をしてもあんまり意味はないとおもう。
収束速度がはやけりゃいいんだったらAn=-4納k=1,n](-1)^k(1/(2k-1))として
Bn=A(((((n!)!)!)!)!とでもすればBnはめちゃめちゃはやくπに収束するけどあんまり意味はない。
結局評価としては第n項の誤差をR(n)、計算量をP(n)とでもしてR(n)<eとなる最小のnを
n(e)とでもしてP(n(e))とかを評価の基準にすべき。(計算に必要なメモリの量も評価基準になるけど
それはともかくとして。)そこまで考えると話は随分ややこしくなる気がする。
たとえば
>>62はかなり収束速度のはやい公式として有名だけど各項の計算にsqrtを要求されるので
単純に収束速度だけみたときよりは遅い。(それでもかなり高速にsqrtを計算するアルゴリズム
があるらしいので早いのは早いらしい。)
実際、上であげたようなP(n(e))を評価基準としてみた場合の現在しられてるπの計算アルゴリズム
の中で最速のものってなんなんだろ?あの超幾何関数の連分数展開とか使ったやつと
>>62とどっちが早いんだろう?だれか知らん?
金田先生に訊いてください。
そもそもπという定数が「円周率」であることはどのレベルまで上がれば証明できるのだろう?
円周÷直径=面積÷半径÷半径が常に一定の数であり、それがπ=3.14159…であるということは。
あの金田研のアルゴリズムはどの公式を採用してるんだろ?HPで探したけどみつからんかった。
84 :
132人目の素数さん:03/09/09 23:41
85 :
132人目の素数さん:03/09/09 23:55
高野さんご本人のHPが詳しい・・・
無断引用スンマソン
http://www.asahi-net.or.jp/~yp5k-tkn/news.html 金田教授は今回の円周率の主計算に、1982年に高野喜久雄氏が発見した逆正接関数(Arctangent)を使う方法を用い、この方法に対してDRM法を適用した。
一方、検証用の計算には1896年にF.C.M. Stoemerが発見した別の逆正接関数に基づく方法を利用。主計算結果と検証用の計算結果を比較して、
計算結果の正しさを確認した。また、DRM法を適用することで、従来Nの2乗オーダーだった演算量をN×(log(N))の2乗〜N×(log(N))の3乗の対数オーダーへ
削減することができた。計算はコンピュータが得意とする16進数で行い、その結果を10進数へ変換した。
86 :
132人目の素数さん:03/09/10 00:22
22/7
87 :
132人目の素数さん:03/09/10 02:03
88 :
132人目の素数さん:03/09/14 09:13
「高校数学を用いて円周率を求める」
某「数学ブン蚊」創刊第1号
特集=円周率π
某「数蝉」と同じ出版社だが競合しないか?
89 :
132人目の素数さん:03/09/14 20:52
>>87 その資料によると随分初等的な公式をつかってるってわかった。これたぶん
誤差/計算量って尺度でえらばれたとは思えないネ。たぶんその尺度でえらべば
もっとはやい方法はありそうな。結局πを純粋になるべく早く計算したいという目的じゃ
ないのかもネ。
純粋になるべく早く計算したいという目的だよ