0

フォロワー2900人突破記念問題の答え&ガンマ関数・ディガンマ関数との関係

90
1

はじめに

 この記事では、私のTwitterアカウントのフォロワー 2900 人突破記念で作った次の問題の解説をします。数式ばかりでちょっとイカツイかもしれませんが、同じタイプの積分を一般化して公式したものもありますので、時間のある方はご覧いただければと思います。

フォロワー2900人突破記念問題

0x14491+x2900dx=?

01x29001+x2901dx=?

作問の背景

 少し古い話になりますが、2019年10月ごろ、次のような公式を作ったことがあります。

(公式1)
mN,nN,m<n

0xm1+xndx={πnsin(m+1)πn(m<n1)(m=n1)

(公式2)
mN,nN,m<n

01xm1+xndx={π2nsin(m+1)πn2nk=0n21cos(2k+1)(m+1)πnlog(sin(2k+1)π2n)(m<n1)log2n(m=n1)

(公式3)
0<m<n1

01xm1xndx=πsinmπnnsinπnsin(m+1)πn

(公式4)
mN,nN,m<n,3n

011xm1xndx={πsinmπn2sinπnsin(m+1)πn1nk=1n1(log(2sinkπn))(2sinkmπnsink(m+2)πn)(m<n1)π2ntanπn+1nk=1n1(log(2sinkπn))(2sin2kπn)(m=n1)

今回の問題は、この(公式1)を使ったものでした。
この(公式1)を使うと、答えはこうなります。

0x14491+x2900dx=π2900

01x29001+x2901dx=log22900

12900に関連する解答というわけでした。

公式の導出

これらの公式の導出過程を紹介します。

(公式 1) の導出

まず次の補題を考えます。

0xa1+xdx=πsin(aπ)

補題の証明についてはTwitterでいろいろ教えてもらいました。

(参考ツイート)

まとめるとこんな感じに証明できます。

まず、次のような級数展開が成り立ちます。(証明は上記@toyo9さんのツイート参照)

1sinx=+1x2π1xπ+1x1x+π+1x+2π

この級数の両辺に π を乗じてから x=aπ を代入し、さらに次のように変形することで補題1の式が得られます。。
(極限と積分の交換は本当は厳密な議論が必要ですがここでは省略します。)

πsin(aπ)=n=0(1)n(πaπ(n+1)π+πaπ+nπ)=n=0(1)n(1a+n+1+1a+n)=n=0(1)n01(xa+xa1)xndx=01n=0(x)n(xa+xa1)dx=01xa+xa11+xdx=01xa1+xdx+01xa11+xdx=01xa1+xdx+1ua+11+u1(u2du)(x=u1)=01xa1+xdx+1uau+1du=01xa1+xdx+1xa1+xdx=0xa1+xdx

 0xm1+xndx の積分について、t=xn に置換してから補題1を使ってみましょう。

dt=nxn2xdx より xdx=tn2nndt なので

0xm1+xndx=0tm1n1+ttn2nndt=1n0tnm1n1+tdt=1nπsin(nm1nπ)=πnsin(πm+1nπ)=πnsin(m+1nπ)

厳密な議論ではないですが、(公式1)が導出できました。
なお、🐟🍊みかん🍊🐟 (@_MIKAN_kankitsu) さんのツイートのように、ベータ関数・ガンマ関数の相反公式を使って導出することもできます。

ベータ関数・ガンマ関数の相反公式を使う別解

0xm1+xndx=0xmn+11+xnxn1dx=10t(1t1)(mn+1)/nt2ndt(11+xnt)=1n01t(m+1)/n(1t)(m+1)/n1dt=1nB(1m+1n,m+1n)=Γ(1m+1n)Γ(m+1n)nΓ(1)=πnsin(m+1nπ)

(公式 2) の導出

(公式 2) は (公式 1) の積分区間を(0,1)に変更しただけのものなので簡単に導出できそうに見えます。しかし、私にとっては簡単ではなくかなり試行錯誤しました。

導出に使う補題をまず掲げます。

数列の飛び飛びの値の和

数列の母関数と1の原始a乗根を使って、数列の飛び飛びの項(各項番号が等差数列)の無限級数の和を求めることができる。

数列fn の母関数を F(x) とする。

F(x)=f0+f1x+f2x2+f3x3+

1a 乗根を ζa で表す。

ζa:=e2iπ/a

このとき次が成り立つ。

k=0fak+bzak+b=1al=0a1ζalbF(ζalz)

また、次も成り立つ。

k=0(1)kfak+bzak+b=1al=0a1ζ2a(2l+1)bF(ζ2a2l+1z)

これらの式にz=1を代入することで、母関数が既知の数列について飛び飛びの項(各項番号が等差数列)の和(及び交代和)を機械的に計算することができる。

自然数の逆数列の母関数

自然数の逆数からなる数列 {1,12,13,14,} の母関数は log(1x)

n=1znn=Log(1z)

Log は対数関数 log の定義域を複素数に拡張したものです。

Logz:=log|z|+iArgz

単純に定義域を拡張すると虚部が多価となるため、偏角として適切な値を選択する必要がある点に注意が必要です。

ガンマ関数の相反公式

Γ(z)Γ(1z)=πsinπz

ガウスの乗法公式

Γ(nz)=nnz1/2(2π)(n1)/2k=0n1Γ(z+kn)

それでは導出を始めましょう。

先ほどと同じように 01xm1+xndx の積分について、t=xn に置換すると無限級数表示が得られます。

01xm1+xndx=1n01tnm1n1+tdt=1nk=0(1)k01tnm1ntkdt=1nk=0(1)k1m+1n+k=k=0(1)k1nk+(m+1) 

この交代和を(補題2)(補題3)を使って求めると

k=0(1)kxnk+(m+1)nk+(m+1)=1nk=0n1ζ2n(2k+1)(m+1)Log(1ζ2n2k+1x) 

01xm1+xndx=1nk=0n1ζ2n(2k+1)(m+1)Log(1ζ2n2k+1)=1nk=0n1ζ2n(2k+1)(m+1)(log|1ζ2n2k+1|+iArg(1ζ2n2k+1))=1nk=0n1ζ2n(2k+1)(m+1)(log(2sin(2k+1)π2n)+i((2k+1)π2nπ2))=1nk=0n1(cos(2k+1)(m+1)πnisin(2k+1)(m+1)πn)(log(2sin(2k+1)π2n)+i((2k+1)π2nπ2)) 

虚部の合計が 0 になることに注意して整理すると

1nk=0n1(cos(2k+1)(m+1)πnisin(2k+1)(m+1)πn)(log(2sin(2k+1)π2n)+i((2k+1)π2nπ2))=1nk=0n1(cos(2k+1)(m+1)πnlog(2sin(2k+1)π2n)+sin(2k+1)(m+1)πn((2k+1)π2nπ2))=1nk=0n1(cos(2k+1)(m+1)πnlog(2sin(2k+1)π2n)+sin(2k+1)(m+1)πn((2k+1)π2n)) 

最後の式のカッコ内の第1項の和をSと、第2項の和をTとおくと、次のようになります。

01xm1+xndx=1n(S+T)

S:=k=0n1cos(2k+1)(m+1)πnlog(2sin(2k+1)π2n)

T:=k=0n1sin(2k+1)(m+1)πn((2k+1)π2n)

T は次のように簡単にすることができます。

T=1sin(m+1)πnk=0n1((2k+1)π2n)sin(2k+1)(m+1)πnsin(m+1)πn=12sin(m+1)πnk=0n1((2k+1)π2n)(cos2(k+1)(m+1)πncos2k(m+1)πn)=12sin(m+1)πn((2n+1)π2nπ2nπnk=0n1cos2(k+1)(m+1)πn)=12sin(m+1)πn(ππnk=0n1cos2(k+1)(m+1)πn)={π2sin(m+1)πn(m<n1)0(m=n1) 

ここまでで次の式が得られました。

01xm1+xndx={π2nsin(m+1)πnSn(m<n1)Sn(m=n1) 

実は、m=n1 のときは、S をとても簡単にすることができます。

m=n1 のとき

S=k=0n1cos(2k+1)((n1)+1)πnlog(2sin(2k+1)π2n)=k=0n1log(2sin(2k+1)π2n)=logk=0n12sin(2k+1)π2n=logk=0n12πΓ(2k+12n)Γ(12k+12n)=log(2π)n(k=0n1Γ(2k+12n))2=log(2π)n(k=0n1Γ(12n+kn))2=log(2π)n((2π)(n1)/2nn1/2n1/2Γ(n12n))2=log(2π)n(2π)n1Γ(12)2=log2

m<n1 のときは、対称性を利用して S を少しだけ簡単にすることができます。

m<n1 のとき

S=k=0n1cos(2k+1)(m+1)πnlog(2sin(2k+1)π2n)=k=0n1cos(2k+1)(m+1)πn(log2+log(sin(2k+1)π2n))=k=0n1cos(2k+1)(m+1)πnlog(sin(2k+1)π2n)=2k=0n21cos(2k+1)(m+1)πnlog(sin(2k+1)π2n)

まとめるとこうなります。

01xm1+xndx={π2nsin(m+1)πn2nk=0n21cos(2k+1)(m+1)πnlog(sin(2k+1)π2n)(m<n1)log2n(m=n1)

おそらくもっと簡単な導出方法があると思いますが、試行錯誤の末にトリッキーな変形を多用してたどり着いた式なので気に入っています。

(公式 3) の導出

 (公式 3)を作ろうと思ったきっかけは、Wolfram Alpha でこれらの積分の特殊値を見つけたことでした。

011+x2dx=π2
011+x+x2dx=2π33
011+x+x2+x3dx=π4
011+x+x2+x3+x4dx=π5225
011+x+x2+x3+x4+x5dx=π33
011+x+x2+x3+x4+x5+x6dx=4π49(2sinπ7+3sin2π7sin3π7)
011+x+x2+x3+x4+x5+x6+x7dx=π42

これらの特殊値をみて、「一般化できそう」と思いました。
しかし、試行錯誤はなかなかうまくいかなかった……のですが、最終的にディガンマ関数を使うことで一般化に成功しました!

ψ(z):=γ+1sz11sz(s1)ds
次の補題を使います。

ディガンマ関数同士の差

  ψ(y)ψ(x)=01ux1uy11udu

ディガンマ関数の相反公式

  ψ(1z)ψ(z)=πtan(πz)

01xm1xndx=011xm1xndx+11xm1xndx=011xm1xndx+101um1un(u2du)=011xm1xndx+01unm2un21undu=1n(01(1xm/n)x1/n11xdx+01(x1(m+2)/nx12/n)x1/n11xdx)=1n(01x1/n1x(m+1)/n11xdx+01(x(1(m+1)/n)1x(11/n)11xdx)=ψ(m+1n)ψ(1n)+ψ(11n)ψ(1m+1n)n=ψ(11n)ψ(1n)(ψ(1m+1n)+ψ(m+1n))n=πn(1tanπn1tan(m+1)πn)=πsinmπnnsinπnsin(m+1)πn

(公式 4) の導出

この公式の導出には大変苦労しました。
途中、厳密でない部分がいろいろあると思いますが、検算結果は合っているので、一応は正しいものと思っています。

まず次の補題を示します。

k=1n1πkn(sin2πk(m+1)nsin2πkn)={πsinπmn2sinπnsinπ(m+1)n(m<n1)π2tanπn(m=n1)

 以前導出したときのメモがゴリ押し過ぎて自分でもよくわからなかったのでTwtterでヘルプを求めたところ、綺麗な証明を考えていただきました。ありがとうございます!

以下で教えてもらった方法で証明します。(少しアレンジしています。)

k=1n1ksin2πkn=1sinπnk=1n1ksinπnsin2πkn=12sinπnk=1n1k(cosπ(2k1)ncosπ(2k+1)n)=12sinπnk=1nk(cosπ(2k1)ncosπ(2k+1)n)=12sinπn(k=1ncosπ(2k1)nncosπ(2n+1)n)=12sinπn(k=1ncosπ(2k1)nncosπn)=12sinπn(0ncosπn)

k=1n1πknsin2πkn=πcosπn2sinπn

m<n1 のときは同様にして

k=1n1ksin2πk(m+1)n=1sinπ(m+1)nk=1n1ksinπ(m+1)nsin2πk(m+1)n=12sinπ(m+1)nk=1n1k(cosπ(m+1)(2k1)ncosπ(m+1)(2k+1)n)=12sinπ(m+1)n(k=1ncosπ(m+1)(2k1)nncosπ(m+1)(2n+1)n)=12sinπ(m+1)n(0ncosπ(m+1)n)=ncosπ(m+1)n2sinπ(m+1)n

m=n1 のときは

k=1n1ksin2πk(m+1)n=0

k=1n1πknsin2πk(m+1)n={πcosπ(m+1)n2sinπ(m+1)n(m<n1)0(m=n1)

以上より

k=1n1πkn(sin2πk(m+1)nsin2πkn)={πcosπn2sinπnπcosπ(m+1)n2sinπ(m+1)n(m<n1)πcosπn2sinπn(m=n1)

ここで
πcosπn2sinπnπcosπ(m+1)n2sinπ(m+1)n=π2sinπ(m+1)ncosπncosπ(m+1)nsinπnsinπnsinπ(m+1)n=π2sinπmnsinπnsinπ(m+1)n

と変形すると

k=1n1πkn(sin2πk(m+1)nsin2πkn)={π2sinπmnsinπnsinπ(m+1)n(m<n1)π21tanπn(m=n1)

それでは計算を始めましょう。

011xm1xndx=1m011u1un/mu1/m1du=1mk=001(1u)u1/m1ukn/mdu=1mk=001(u(kn+1)/m1u(kn+1)/m)du=1mk=0(mkn+1mkn+1+m)=k=0(1kn+11kn+m+1)

(補題2)(補題3)を使うと

k=0(1kn+11kn+1+m)=limz1(1nk=0n1ζnk(Log(1ζnkz))1nk=0n1ζnk(m+1)(Log(1ζnkz)))=limz1(1nk=0n1(ζnk(m+1)ζnk)(Log(1ζnkz)))=limz1(1nk=1n1(ζnk(m+1)ζnk)(Log(1ζnkz)))=1nk=1n1(ζnk(m+1)ζnk)(Log(1ζnk))=1nk=1n1(cos2πk(m+1)ncos2πkn+i(sin2πk(m+1)nsin2πkn))(log|1ζnk|+iArg(1ζnk))=1nk=1n1(2sinπk(m+2)nsinπkmni(sin2πk(m+1)nsin2πkn))(log(2sinπkn)+i(πknπ2))

虚部の和がゼロになることから

1nk=1n1(2sinπk(m+2)nsinπkmni(sin2πk(m+1)nsin2πkn))(log(2sinπkn)+i(πknπ2))=1nk=1n1(2sinπk(m+2)nsinπkmnlog(2sinπkn)+(πknπ2)(sin2πk(m+1)nsin2πkn))

m<n1 のときと m=n1 のときで場合分けします。

m<n1 のとき

m<n1 のときは

k=1n1(πknπ2)(sin2πk(m+1)nsin2πkn)=k=1n1πkn(sin2πk(m+1)nsin2πkn)=π2sinπmnsinπnsinπ(m+1)n

011xm1xndx=πsinmπn2nsinπnsin(m+1)πn1nk=1n1(log(2sinkπn))(2sinkmπnsink(m+2)πn)(m<n1)

m=n1 のとき

m=n1 のときは

k=1n1(πknπ2)(sin2πk(m+1)nsin2πkn)=k=1n1πkn(sin2πk(m+1)nsin2πkn)k=1n1π2(sin2πk(m+1)nsin2πkn)=π21tanπn0=π21tanπn

また、

sinπk(m+2)nsinπkmn=sinπk(n+1)nsinπk(n1))n=sin2πkn

011xm1xndx=π2ntanπn+1nk=1n1(log(2sinkπn))(2sin2kπn)(m=n1)

まとめると

011xm1xndx={πsinmπn2sinπnsin(m+1)πn1nk=1n1(log(2sinkπn))(2sinkmπnsink(m+2)πn)(m<n1)π2ntanπn+1nk=1n1(log(2sinkπn))(2sin2kπn)(m=n1)

おわりに

2019年10月ごろはこれらの積分を計算して遊んでいました。
当時のツイートには関連するものや証明などがありますね。

https://twitter.com/search?q=from%3A%40apu_yokai%20until%3A2019-11-01%20since%3A2019-10-01&src=typed_query&f=live

 ところで、特殊値を並べたものは不思議で面白く見えたのに、公式化するとなんだかつまらなく見えてしまうような気がします。

 とはいえ、一般化にあたってガンマ関数やらディガンマ関数やら相反公式やら、今まで見たことのない公式をたくさん使って、正直なところかなり背伸びして公式を作りましたので、成功した瞬間はとても達成感が得られました!

 皆さんも是非いろいろな一般化で遊んでみてください!

投稿日:2022918
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

apu_yokai
apu_yokai
486
66105

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 作問の背景
  3. 公式の導出
  4. (公式 1) の導出
  5. (公式 2) の導出
  6. (公式 3) の導出
  7. (公式 4) の導出
  8. おわりに