MENU
809,669

スレッドNo.3222

行列で素数の常用対数値を求める

備忘録で付けていたノートを見返していて
以前DD++さんがlog[10]2,log[10]3,log[10]5,log[10]7 (常用対数)
の近似値を行列Mを使って
M=
[5 -2 -2 1]

[5 1 2 -4]

[1 7 -4 -1]

[1 0 1 0]

に対し
M^(-1)*[0;0;0;1]
から
log[10]2≒72/239,log[10]3≒114/239,log[10]5≒167/239,log[10]7≒202/239
(小数第3位ほどまで一致する)

の方法がとても面白かったので、log[10]11
まで拡張できないか挑戦していたら
M=
[-1 4 0 -2 2]

[ 1 7 -4 -1 0]

[ 4 3 -2 1 -2]

[-3 -1 0 4 0]

[ 2 3 1 -2 -1]

に対し
M^(-1)*[2;0;0;2;0]
から
log[10]2≒72/239,log[10]3≒114/239,log[10]5≒167/239,log[10]7≒202/239,log[10]11≒249/239
までの値が一気に算出出来ることができました。

はてlog[10]13まで広げられるのか?

引用して返信編集・削除(未編集)

p=17まで拡張して調べていたら
M17=
[ 1 3 0 1 0 1 -3]

[ 1 1 0 3 -2 0 -1]

[-4 -2 0 1 2 0 1]

[ 3 6 0 -3 0 0 -1]

[-1 7 0 0 -1 -2 1]

[ 2 -1 -1 -1 -1 0 2]

[ 3 -2 -3 1 -1 1 1]

gp > matdet(M17)
%153 = -239
gp > M17^(-1)*[0;0;2;0;1;0;0]より
%154 =
[ 72/239]

[114/239]

[167/239]

[202/239]

[249/239]

[266/239]

[294/239]

で再び239の共通分母でp=2,3,5,7,11,13,17の常用対数の近似値を
上記の分数で示す結果が入手できた。
(p=13までは行列M13の行列式は-897で239は出現できなかったのだが、
ひょっとして他の組合せからは可能だったかも知れないが未確認)

そこでp=19を239の分母での常用対数を指定して近似分数を構成してみると
306/239が対応してくるが、そこまでの絶対誤差と相対誤差を数値化すると

素数p;絶対誤差;相対誤差
2;+0.000225;+0.0748%
3;-0.000134;-0.0280%
5;-0.000225;-0.0322%
7;+0.000090;+0.0107%
11;+0.000448;+0.0430%
13;-0.000973;-0.0873%
17;-0.000323;-0.0263%
19;+0.001581;+0.1236%
となりp=17までは共通分母239でかなりの精度で表示できることが判明出来た。
p=19ではそれまでの精度は一気に落ちてしまった。

結論:
p=17までの常用対数値の近似分数式では239の分母が大変有効な値であることがわかった。
ここまで広範囲で使えるとは全く予想できなかった。
(勿論もっといい精度の近似分数を考えれば、各素数で全て異なる分母系を用いることになるが・・・)

引用して返信編集・削除(未編集)

このスレッドに返信

ロケットBBS

Page Top