流れる空の中で数学を。

とある数学好きの「手作りすうがく」と「気ままな雑記」。

【mod】n桁の数の各位を足し続けた結果が最高の位に一致する確率【Python】

Amazon.co.jp: Yoshiki Ueoka:作品一覧、著者略歴

数学関連の絶版本・品切れ本をコチラから購入できます!

問題

実はこの算数の問題は、現時点での正答率が50%程度なので、割と良問だったのではないかと満足しています。

一般化

これをn桁にした場合いくつ条件を満たすものがあるか考えてみます。

これはPythonでプログラミングすると、以下のようになります(面倒なのでjupyter notebookのコードを直貼りします)。

for n in range(2,8):
 count=0
 for N in range(10**(n-1),10**n):
  M=(N-N%(10**(n-1)))/(10**(n-1))
  if N%9==M%9:
   count+=1
 print('n=',n,'count=',count)
 print(count/(10**n-10**(n-1))*100,'%')

全角スペースが入っていますが、使用する場合、タブのスペースに置き換えてください。

実行結果

n=7桁までの結果を計算した。

n= 2 count= 18
20.0 %
n= 3 count= 108
12.0 %
n= 4 count= 1008
11.200000000000001 %
n= 5 count= 10008
11.12 %
n= 6 count= 100008
11.112 %
n= 7 count= 1000008
11.1112 %

このように、題意を満たす確率P_nは、

P_n=\frac{10^{n-1}+8}{10^n-10^{n-1}}

となると考えられる。n\rightarrow \inftyの極限を考えると、

\lim_{n\rightarrow \infty} P_n=\frac{1}{10-1}=\frac{1}{9}

となることが分かる。

 

 

【多点総和法】とある定積分を不定積分まで近似的に求めてみた【不定積分】

Amazon.co.jp: Yoshiki Ueoka:作品一覧、著者略歴

数学関連の絶版本・品切れ本をコチラから購入できます!

問題

twitterでサイトーさん(@saitory_study)経由で見かけた無限区間の定積分を2点パデ近似できそうだったので、やってみることにした。問題は下のもので、今回は不定積分を近似します。

 

yujitomo.hatenablog.com

不定積分の2点パデ近似

結果だけ、有効数字四桁で貼っておきます。

\int_0^x \frac{\arctan(x^3)}{e^{2\pi x}-1} dx

≒0.003857 + \frac{-0.003857 - 0.01427x - 0.03189x^2}{1 + 3.699x + 8.267x^2 + 13.75x^3 + 18.47x^4 + 20.99x^5 + 21.66x^6 + 19.97x^7 + 16.41x^8 + 21.52x^9}

これを数値積分の結果と共にプロットすると、

f:id:FoxQ:20210504200426j:plain

数値積分と2点パデ近似による不定積分

このように、不定積分がよく2点パデ近似で近似できていることがわかる。また、x→∞での極限で得られる定積分は、2点パデ近似の性質により区間[0,∞]での厳密な定積分と一致する。

 

もっと知りたい方へ

多点総和法の入門書は、以下の本を読んでみてください。多点総和法の考案者である僕自身が書いた世界で唯一の入門書です。

 また、多点総和法の積分や特殊関数への応用は、以下の本にまとめました。

 

 

【中高生向け】関数とパデ近似、多点総和法【解説記事】

Amazon.co.jp: Yoshiki Ueoka:作品一覧、著者略歴

中学生、高校生に向けて

この記事では、パデ近似と多点総和法の入門的なことについて、中高生向けの解説を試みる。

関数とは

関数fは、入力の変数xが与えられると、出力yをある規則fに従って返す機能のことである。数式で書くと、

y=f(x)

である。例えば、

y=f(x)=2x

が関数の例である。これは、入力の変数xに2をかけて(2倍して)、出力する関数である。例えば値3を入力すると、2倍されて、出力として値6が返ってくる。

他にも、xをなんどもかけるべき乗x^n=x\times x \times \cdots \times xや指数関数\exp(x)、対数関数\ln(x)三角関数\sin(x),\cos(x),\tan(x)などがある。いろんな関数があるが、どの関数にも共通していることは、1つの値を入力すると、1つの値が出力として返ってくる機能にすぎないということだ。

どんなに複雑な難しい関数でも、このことは変わらない。

関数のグラフ

関数の入力値を横軸、出力値を縦軸にとると、1つの入力と1つの出力は2つの数直線のある平面内の点として表される。入力する値は変数なので数直線全体になることもあり、それに対応して、関数が表す点の集まりも曲線になる。これを関数のグラフという。関数のグラフは途切れていることもあれば、連続的につながっていることもある。ここでは、ひとまず適当な線を一つ頭の中でイメージしておけば大丈夫だ。

 

関数を関数で近似するということ

例えば、三角関数f(x)=\sin(x)をまだよく知らない人に、三角関数を伝える一つの方法を考えてみよう。

ひとつの方法はx=0の近くのグラフだけでも伝えようというアイデアだ。詳しくは大学で習うことになるが、

f(x)=x-x^3/6

というxの四則演算だけで表された簡単な関数をsin(x)と一緒にプロットすると、次のようになる。

f:id:FoxQ:20210427153056p:plain

x=0の近くで三角関数を「近似」する関数

この図をみてみると、三角関数を知らなくても、四則演算だけ知っていれば、x=0に近い入力の値に対しては、三角関数とほとんど同じ値を返すことが分かるだろう。このように、ある点の近くだけで関数をより簡単な関数で表すことを「近似」するといい、f(x)=x-x^3/6三角関数の「近似関数」と呼ぶ。

これは、三角関数の例だが、一般に複雑な難しい関数を理解するためには、より簡単な関数で近似するとべんりだということが分かる。

x=0だけでなく、より広範囲に近似したければ、例えば、次のような関数を考えることもできる。これは出力y=0になるように調整した関数である。

f:id:FoxQ:20210427153918p:plain

三角関数の近似関数のその他の例

 

このように、「近似関数」といっても、いろいろなものが考えられる。

 

パデ近似とは

それでは、パデ近似について解説することとしよう。パデ近似は、xの四則演算だけで関数を近似する方法のことである。パデ近似は分母分子でxの掛け算を何回行うかで、自由度があるので、いろいろなものが考えられる。具体的なパデ近似の関数形の決定方法は、中高生向けという趣旨をこえてしまうので省くことにする。

例えば、対数関数

f(x)=\ln(1+x)

をパデ近似した結果だけ書くとと、

f(x)=\frac{2x}{x+2}

f:id:FoxQ:20210427154633p:plain

ln(x)のパデ近似の一例

のようになり、非常によく対数関数を近似していることがわかる。この例からもわかるように、パデ近似は近似関数を作るやり方として優秀であり、実は最も優秀な方法の1つだと考えられている。

ところが、このパデ近似をみるとわかるように、x=0の近くだけで近似がうまくいき、そこから離れるにつれて本当の関数の値からずれていくことがわかるだろう。そして、最終的には、xが無限大に離れたところでは、無限大の値のずれがでてきてしまう。

つまり、問題は、通常のパデ近似がある1点の近くで関数を近似しようとしていたために発生しているのである。

 

2点パデ近似と多点総和法

1点でダメなら2点の近くで同次に近似がよくなる近似関数を考えてみてはどうだろうかと考えるのが、2点パデ近似のアイデアである。特に、x=0だけでなく、同時に、無限遠点での関数のグラフを漸近的に再現するように、近似関数を作る手法を2点パデ近似という。

実際に2点パデ近似を行うのは複雑になるので、ここでは例とグラフだけを見て、その性能を確認してみよう。

f(x)=\sqrt{\frac{x^3+4x+1}{x+1}}

という関数の2点パデ近似は次のようになる。ルートが使われていなくて、四則演算だけで表されていることに注意しよう。

f(x)= (1115 x + 402)/(251 x^2 + 654 x + 268) + x - 1/2

グラフにすると、

f:id:FoxQ:20210427161314p:plain

2点パデ近似の例

このように、x=0とxが大きなところで値が目的の関数に近くずいていくことがわかる。このように、2点でのグラフのおおよその形を同時に近似するのが2点パデ近似の特徴だ。

2点パデ近似には更なる応用がいろいろあって、四則演算だけではなく、指数関数や対数関数、三角関数やルートなどを使って、更に複雑な関数を近似するということが可能になる。

2点だけでなく、より多くの点でのグラフを再現するように、近似関数を作る手法を多点総和法というが、これ以上は話が複雑になり過ぎてしまうので、いったんこの記事はここでしめようと思う。

 

ここまで読んでいただきありがとうございました。

 

参考文献

テイラー展開や通常のパデ近似についてもっと知りたい読者は、僕の書いた以下の数学入門書を読んでいただきたい。前提知識は四則演算だけとなっている数と関数に焦点を当てた数学入門書です。

 

そのうえで2点パデ近似や多点総和法について関心を持たれた方には、次の本をお勧めしておく。ちなみに、多点総和法は僕が大阪大学の博士課程に在籍時に発明した手法である。

 

 多点総和法を更に知りたくなった読者は、こちらもオススメしておきます。この本では、多点総和法を積分と特殊関数に応用する話が書かれています。

 

 

 

 

【Kindle】多点総和法入門【無料キャンペーン】

新刊の発売を記念して、入門書にあたる「多点総和法入門」の無料キャンペーンを行います。

 

 

期間は4月28日の17:00 に開始し、終了は翌日の 16:59 です。

よろしくお願いします。

 

新刊はコチラ!!

 

sky-time-math.hatenablog.jp

 

【Kindle】『積分と特殊関数』を出版しました!!【多点総和法】

Amazon.co.jp: Yoshiki Ueoka:作品一覧、著者略歴

多点総和法の積分と特殊関数への適用についての本を出版しました!!

 漸近解析と多点総和法を使って、積分や特殊関数を扱う本です。

前に書いた多点総和法入門のシリーズになります。

積分表示を持つほぼすべての特殊関数に対して、多点総和法を適用した例が載っています。具体的には、Γ関数、指数積分、対数積分、誤差関数、余弦積分、正弦積分、フレネル積分、エアリー関数、楕円積分を取り扱っています。

また、不定積分を多点総和法を用いて近似的に計算する方法も紹介しています。

価格は入門書ではないことを考慮して、ワンコイン500円にしました。

それではよろしくお願いします。

 

 多点総和法入門はこちらから。

 

とあるえぐい不定積分への多点総和法の応用

Amazon.co.jp: Yoshiki Ueoka:作品一覧、著者略歴

数学関連の絶版本・品切れ本をコチラから購入できます!

とある不定積分

 こんなやたらめったらごちゃごちゃした不定積分を見かけたので、多点総和法をテクニカルに使って初等関数で近似してみた。

 

近似関数

真数条件から0\lt x \lt 2で考える。

今回の導出課程は、非常に複雑になってしまったため、結果だけ載せる。考えすぎて、胃がやられたから勘弁してください。おそらく近似式の形から何をやったのかは想像つく人もごくわずかにいるはず……

 

0\lt x \le 1のとき、

f(x)\approx 0.2402(-1/4 \ln(18.01(1 - x)^2/x^2 + 21.84(1 - x)/x + 8.829)

- 0.2887\arctan(2.857(1 - x)/x + 1.732) - 1/4 \ln(18.01(1 - x)^2/x^2

- 21.84(1 - x)/x + 8.829) + 0.2887 \arctan(2.857(1 - x)/x - 1.732) + 1.694)^2

 タイプミスしてるかもしれないので、関数のスクショも貼っとく。

f:id:FoxQ:20210421004058p:plain

0<x≦1での2点パデ近似

 

1\le x \lt 2のとき、

 f(x)\approx - \ln(2) \ln(1 + u)^2/2 - \ln(2) \ln(1 - 1/2u^2 + 1/2u^3 - 0.694u^4)

u\equiv \frac{x-1}{2-x} 

 こっちもスクショ貼っときます。

f:id:FoxQ:20210421004231p:plain

1≦x<2での2点パデ近似

近似関数と数値積分の比較

近似関数を緑線、数値積分を赤線でプロットすると、次の図のようになる。

0\lt x \le 1のとき、

f:id:FoxQ:20210421000751j:plain

区間[0,1]の2点パデ近似

1\le x \lt 2のとき、

 

f:id:FoxQ:20210421000819j:plain

区間[1,2]の2点パデ近似の亜種

積分と特殊関数と多点総和法

今回やったような近似のやり方については、近々Kindleで本を出版する予定なので、

こうご期待ください。本のタイトルは、『積分と特殊関数~入門から漸近級数、多点総和法まで~』の予定です。

 

追記:出版されました!!

 

sky-time-math.hatenablog.jp

 

【Kindle】素因数分解本【無料キャンペーン】

僕の素因数分解本2冊を今日から5日間無料キャンペーンしています。どちらもオリジナルの素因数分解のアイデアをまとめたものです。少しでも興味が湧いたなら、今のうちにダウンロードしていってくださいね!!