記号の世界ゟ

このブログでは, 数学書などの書評を書きます。また、受験などの勉強法をまとめます。

夏休みでゲーム作った

今年中(2021年)に一つはゲームを作ろうと思っていて、夏季休暇の間にちょっと頑張ることにしました。
ゲームを作るといっても、ゲームを作る流れをつかむのが目的です。

ゲームとしては
MVC
・UniTask/UniRx
・余裕があればテスト
の勉強が目的です。

最初はアクションゲームを作ろうと思いましたが、上記の技術を使うには遷移が面倒なジャンルがいいと思い、
ノベルゲームを作ることにしました。

結果

思った以上にゲーム制作に時間をとることができなかった。
体感としては普通の土日と同じで、昼間は全然作業ができなくて、
夜になってちょっとずつ動ける感じ。
ゲームを読んだり本を読んだり受動的なことはいくらでもできるんだけど。

手を動かすまでのハードルがゲームは非常に高い。
イラストだと、紙のうえでペンを持てばほぼやる気に関わらず作業ができる。
しかし、ゲームだとUnityを開いただけでは全然作業ができない。

ゲーム制作だと、タスクをかなり具体的なところまで整理しておく必要があると思った。
また、ゲームの動作に関わらないところもあまり作業ができない。
例えば、SEやログはゲームの質を上げる段階じゃないとやる気にならない。

成果

・アゼンブリ分け
思った以上にアゼンブリ分けは難しくなかった。
レイヤーを意識しながらもアゼンブリ分けしたフォルダ以外で作業して、
最後にアゼンブリしたフォルダに入れればいい。
このときに、不具合も分かる。
Visual Studioでときどきでるなぞの参照エラーだけ解決法が知りたい。

・オニオンアーキテクチャ
アゼンブリ分けをすると自然と何らかのアーキテクチャを使うことになるが、
以下で紹介されているオニオンアーキテクチャが使えた。
MonoBehaiviourにできるだけ依存しないようにできること、
Unityでオニオンアーキテクチャ

・テスト
テストも思ったより難しくなかった。
ただ、先にテストを書くのはけっこうハードルが高い

・UniTask/UniRxはつかう機会がなかった。

その他

休暇中にいろいろ消費ができたのはよかった
シェルノサージュ・アルノサージュ
パーフェクトブルー
アダプティブコード

ゲーム

あとテキストを追加すればゲームとしては動くので今週中(9/26~)には公開したい。

10/3公開できました。
全然テキストを練ることができなかったので、電波ゲームです。
会話をするゲーム | フリーゲーム投稿サイト unityroom

注意として、Unity2020.3以降でWebGLでアップロードするとき、Gzip圧縮が要求されますが、
拡張子に.gzをつけるのは手動でやらないといけないようです。

数列の和を計算する方法

突然ですが、なぜ(不定積分は便利なのでしょうか?
それは定積分が計算できるからです。

 F(x) f(x) の原始関数であるとしましょう。つまり、
 
\quad F'(x) = f(x)
としましょう。すると、 f(x) の定積分

\quad \int_a^b f(x) = F(b) - F(a)
と計算できるのでした。これは高校では定積分の定義であって役に立つもなにもないのですが、そういう立場だとしても積分で面積が求まるわけだから役に立つわけです。

こんなわけで、(不定積分が計算できるようにしておくと定積分が簡単に計算できるから、みんな勉強させられるわけです。

実は数列の和も同じ考え方ができるのです。

差分

微分の代わりに差分という作用素を定義します。
関数  f(x) の差分  \Delta f(x)

\quad \Delta f(x) = f(x + 1) - f(x)
と定めます。

例えば、
 
\quad \Delta x^2 = 2x + 1
となります。多項式の差分を取ると次数が下がるのは微分と同じですが、微分と違ってゴミの項が残ってしまいます。

そこで、差分と相性のいい関数を定義します。
階乗関数  x^{[n]}
 
\quad x^{[n]} =
\begin{cases} x (x - 1) \cdots (x - n + 1) &(n > 0)\\1&(n =0)\\ \frac{1}{(x + 1) (x + 2) \cdots (x  + (- n) )} &( n < 0)\end{cases}
と定める。

例えば、
 
\quad x^{[1]} = x\\
\quad x^{[2]} = x(x - 1)\\
\quad x^{[-1]} = \frac{1}{(x - 1)}\\
\quad x^{[-2]} = \frac{1}{(x - 1)(x-2)}
のようになっています。

階乗関数に対しては、
 
\quad \Delta x^{[n]} =n x^{[n - 1]}
となっていることが分かります。多項式は階乗関数の一次結合で書けるので、多項式の計算でも階乗関数の計算に言い換えることができます。

また、指数関数の差分は
 
\quad \Delta a^x =(a-1) a^x
となっている。特に、 a = 2 のとき、 \Delta 2^x =2^x となっています。
(指数関数は差分の固有ベクトルと覚えておくと分かりやすい)

ちなみに、 \Delta f(x) = 0 とは  f(x+1) = f(x) のことなので、周期関数のことになります。
つまり、差分でゼロになるのは定数だけではないことに注意してください。

和分

さて、微分における原始関数と同じものを和分に対しても考えましょう。
 
\quad \Delta F(x) = f(x)
となる関数  F(x) f(x)和分といい、F(x) \sum f(x) と表すことにします。
不定積分積分定数と同様  \sum f(x) は周期関数分の不定性がありますが、以下では重要ではないですし、抜けた議論は個人で簡単に補完できるできると思うので気にしないことにします。

上で見た差分の式により、 n \neq -1 のとき
 
\quad \sum x^{[n]}  = \frac{1}{n+1} x^{[n + 1]}
 a \neq 1 のとき
 
\quad \sum a^x  = \frac{1}{a-1}  a^x
であることが分かる。
ここはややこしいので、和分  \Delta f(x) の差分をとると  f(x) に戻ることを確認するようにするとミスが少ないです。
これは、積分  \int f(x) dx の確認するときには余計なことを考えず、微分して  f(x) に戻ることを考えた方がいいのと同じです。

数列の和を和分で求める

さて、準備が終わりました。数列の和を求める方法を考えます。
 \sum_{k=m}^n f(x) を求めたいとします。このとき、 f(x) の和分が  F(x) だと分かっているとします。
つまり、 \Delta F(x) = f(x) であるとします。すると、
 
\quad \sum_{k=m}^n f(x) = \sum_{k=m}^n (F(x+1) - F(x)) = F(n+1) - F(m)
と計算ができます。


 \sum_{k=1}^n k = 1 + 2 + \dots + n を求める。 k = k^{[ 1 ]} なので、
 
\quad \sum_{k=1}^n k  = \sum_{k=1}^n k^{[ 1 ]} = \frac{1}{2} (n+1)^{[ 2 ]} - \frac{1}{2} (1)^{[ 2 ]}  = \frac{1}{2} ( (n+1) n - 0) =  \frac{1}{2}n (n+1)
となる。

 a \neq 1 に対して、  \sum_{k=1}^n a^k を求める。
 
\quad \sum_{k=1}^n a^k = \sum_{k=1}^n \frac{1}{a-1} \Delta a^k = \frac{1}{a-1} (a^{n+1} - a)
と分かる。
 a = 2 のときは2進数の特殊性を表している気がする。。。)

参考文献

西岡斉治『代数的差分方程式』
この本を読むと、三角関数などもっと多くの例も知ることができます。

AならばBの論理は論理的に難しいのか?


「AならばB」という論理は高校数学で学びますが、具体的な内容になると「BならばA」との混同や対偶との同値性が分からないなど、けっこう難しいものです。
今回は、「AならばB」に関する心理学の話題を紹介します。


数学教育に興味がある人にはぜひ読んでほしいです。


途中で紹介している結果は『進化心理学を学びたいあなたへ』3.2節で論文が引用されているので、気になった方は確認してください。

ウェイソンの選択問題


さっそくですが、ウェイソンの選択課題と呼ばれる以下の問題を考えてみてください。

問題A
カードがあり、片面にアルファベット、片面に数字が書いてるとする。
 ルール: 片面に母音が書かれているならば、もう片面の数字は偶数である
このルールが成り立っているかどうかを確認するには、以下のカードのうちどのカードの裏面を見る必要があるか?
f:id:tetobourbaki:20210220173836j:plain

下に正解を書くので考えてみてください。













正解は
「A」「1」です。
「A」「6」だと思った方も多いと思いますが、これは間違いです。
この正誤に関する解説は、調べれば出るのでここでは説明しません。


実験によると、この問いはだいたい10%程度しか正解する人がいないということが明らかにされています。
これを聞くと、「AならばB」の推論は人間には難しいものであると思われるかもしれません。
しかし、事情はもう少し複雑なのです。

主題内容効果


同じ形式の問題を、2つ連続してお見せします。考えてみてください。
(同じ形式にするため、無理やりカードで問題を作っています。)

問題B
カードがあり、片面にお酒を飲むかどうか、片面に年齢が書いてるとする。
 ルール: お酒を飲むならば、成人でなければいけない
このルールが成り立っているかどうかを確認するには、以下のカードのうちどのカードの裏面を見る必要があるか?
f:id:tetobourbaki:20210220173844j:plain


問題B
カードがあり、噛まれた犬の種類、片面に狂犬病ワクチンをうつかどうかを書いてるとする。
 ルール: 野犬に噛まれたら、ワクチンをうたなければいけない
このルールが成り立っているかどうかを確認するには、以下のカードのうちどのカードの裏面を見る必要があるか?
f:id:tetobourbaki:20210220173915j:plain


問題Bと問題Cは、問題Aと同じ位置のカードが正解のカードです。


問題Aに比べて、問題Bや問題Cの方が分かりやすかったのではないでしょうか?
(問題Aの後なので、分かりやすいのは当たり前ですが、もう一度見返して読み返しても、問題Aより問題Bや問題Cが分かりやすいと感じる方が多いと思います。)


「身近な題材の場合、正答率が上がる」という効果を「主題内容効果」と呼びます。
主題内容効果が生じるとき、正答率は50%~80%になると言われています。
これは、分かりやすさを説明する一つの仮説ですが、身近な話題にも関わらず、正答率が上がらないことがあることも知られています。


今回は別の理由を説明します。

「社会契約」と「予防措置」


問題Bのように、「もし利益を得るならば、そのための必要条件を満たしていなければいけない」という形のルールを「社会契約」と呼びます。
社会契約の選択問題を解くことは、「ルールが破られることを見抜く」=「裏切り者を検知するアルゴリズム」に対応するため、正答率が上がるという仮説があります。
実験により、たしかに社会契約問題は正答率が上がりますが、そうでない問題でも正答率が上がることも知られていました。


問題Cのように、「もし危険が迫ったら、身を守る行動をとらなければいけない」という形のルールを「予防措置」といいます。
予防措置の選択問題を解くことは、身の危険を守ることを意味するため、正答率が上がるという仮説があります。


この社会契約と予防措置が選択問題の正答率が上がる基本的な理由であるという研究があります。
この二つは、恣意的な分類ではありません。


まず、社会契約と予防措置では問題を解くときに働く脳の部位が違うことが知られています。


次に、社会契約が裏切り者を見破る能力に対応し、予防措置が危険予知能力に対応するならば、人の性格によって正答率も変わりそうです。
実際、6因子モデル(HEXACO)による性格分類によって、社会契約と予防措置のルールを違反する傾向の個人差を予測できるそうです。


このように、「AならばB」の推論であっても、その問いの形式によって脳の働き方が違うことが明らかになっているのです。

まとめ


社会契約と予防措置というのは、人間が生き残るうえで有利な思考だからこそ、進化の過程で身についた本能的なものだと考えられています。
よって、「AならばB」の論理であっても、後天的に身につく論理的なものとして捉えては、あまりにも見落としが大きいと思います。
例えば、数学教育でこの視点は大事だと思っています。


今回は、社会契約と予防措置の観点での説明をしました。
心理学の実験として正当なものかどうかを考えるには、もっと細かい表現の問題、例えばルールに「must」が使われているかなど注意しなければいけません。
認知バイアス』という本では、確証バイアスの観点で説明しているので興味があれば読んでみてください。


また、最近のコロナで言えば、「飲食店は20時までしか営業できない」というルールから、「20時前なら飲食店に行っても安全」のように解釈してしまう人がいるようですが、これは社会契約の認知に関する一つの研究になる気がします。

参考文献

進化心理学を学びたいあなたへ』東京大学出版
鈴木宏昭『認知バイアス』Blue Backs

『TIS-100』オリジナルプログラム言語によるパズル

これは以下のアドカレ12/15用の記事です。

adventar.org

今回は『TIS-100』を紹介します。
このゲームはオリジナルプログラミング言語で問題を解くゲームです。
store.steampowered.com

問題例を貼っておきます。
左の数列が上から流れて来るので、ノードで加工しながら下のノードに数列を返します。
この問題の場合は、数字をそれぞれ二倍したものを返すことが出来れば成功です。
f:id:tetobourbaki:20201215195921p:plain

ここで使われるオリジナル言語の仕様を簡単に言えば、「ノードベースのアセンブラ」です。
これが良くできていて、以下の点が特に面白いところです。

  • 一つのノードは、「コードを記述するスペース」と「データを受け渡す経路」の二つの役割がある
  • データは隣接するノードにしか送受信できない(ランダムアクセスメモリがない)
  • ノードに書けるコード量が決まっている


普通の言語にある機能が全然ないので、一から自力で考える必要があるのがこのゲームの面白いところです。
一見むずかしそうに見えますが、実際に難しくて、簡単そうな問題を一問解くのに数時間使ったりします。
逆に言えば、プログラミングの常識が通用しないので、最初のルールさえ覚えてしまえば誰でも楽しめます。


最初は、アルゴリズムをデータを受け渡すという仕組みで実現するところで引っかかると思います。
最後の方になると、一つのノードに書けるノード量の限界で困るようになります。


クリアした結果はランキングが出るのも面白いところです。
使ったノード数や処理実行回数などいろんな指標でランキングが付くので、やり込み要素も豊富です。
f:id:tetobourbaki:20201215200416p:plain


最後に、このゲームにはストーリーがあるのですが、これがどこで判明するのか全然わかりませんでした。
各問題に使えないノードがあるのですが、ここのDEBUGボタンを押すと、変な文字列が表示されます。
実は、問題を解いていくとこの文字列が正しい文章に修正されていきます。
f:id:tetobourbaki:20201215200829p:plain

『SOFT SKILLS ソフトウェア開発者の人生マニュアル』備忘録

『SOFT SKILLS ソフトウェア開発者の人生マニュアル』はすごくいい本なのですが、久しぶりに読み直すと忘れてしまってる内容が多いです。
分量も多いので、特に読み返したい章をメモっておきます。
「ソフトウェア開発者」をターゲットにした本ではあるものの、独立や自分の売り出し方も詳しく書かれているため、イラストや学術系の「クリエイター」も得るところが多い本だと思います。
興味がある人は是非読んでください。


以下、「当たり前だけど忘れがち」「言われるまで気が付かなかった納得できる」事柄が書かれている章のまとめ。
(逆に、自分的には当たり前で身についているものはスキップします。)

第一部 キャリアを築こう

  • 4章 社交術:考えている以上のものが必要だ
  • 6章 雇用形態:三つの選択肢を理解する
  • 7章 あなたはどのタイプのソフトウェア開発者か
  • 11章 自由を得る:仕事の辞め方
  • 18章 テクノロジーに対して頑なな態度を取るな

第二部 自分を売り込め!

  • 19章 コードモンキーのためのマーケティング基礎講座
  • 20章 自分だと気づいてもらえるブランドを確立しよう
  • 22章 最大の目標:他人のために価値を生み出せ!

第三部 学ぶことを学ぼう

  • 31章 メンターを探す:あなたのヨーダを見つける
  • 35章 知識の中の隙間を見つける

第四部 生産力を高めよう

第五部 お金に強くなろう

  • 49章 給料をどのように運用するか

第七部 負けない心を鍛えよう

  • 68章 恋愛と人間関係:コンピュータはあなたの手を握れない

解けるの三様~可積分系を学ぶ際の注意点~

数学において、「~は解ける」「~は解けないと証明されている」などと気軽に言われます。例えば、「三体問題は解けないと証明されている」などです。しかし、「解ける」はいろんな意味で使われることが多く、定義を確認しておかないと、ほぼ情報のない文章になりがちです。

今回は可積分系の分野での「解ける」についてまとめます。根拠がある話ではなく、単に自分の感覚に基づいた説明なので、勉強や研究で使う際には鵜呑みにせず自分なりに考えながら参考にしてください。違和感を感じた場合、逆に、この分類にない考え方を発明してみていただけると面白いかと思います。

「解ける」の三様

今回は微分方程式を扱います。(広い意味での)可積分系あるいは力学系の文脈において、「解ける」は以下の三つのうちいずれかを意味していることが多いです。

(I) 微分方程式自体がいい構造を持つ
(対称性、ラックス形式など)
(II) 解自体がいい性質を持つ
(運動が単純、パンルヴェ性を持つなど)
(III) 解の形が陽に書ける
(初等関数で書けるなど)

可積分系とはこの三つの意味の関係性を調べる分野と捉えてもいいと思います。また、これら三つを混同すると、定理を間違えて解釈してしまうことがあります。これらについて、一つずつ説明していきます。注意として、(I) (II) (III)についても、それぞれで具体的に何を意味するかは状況に応じて定義が必要であることを覚えておいてください。(I) (II) (III)は考え方の分類なのです。

(I) 微分方程式自体がいい構造を持つ

強烈にいい構造を持つ微分方程式は「解ける」と言うことがあります。現在の可積分系の分野は主にここに属していると言っていいでしょう。例えば、「解ける」方程式は背後にある構造を使うことで、線形の方程式に帰着できることが多いです。『可積分系の数理』の中では、中村先生が可積分系の本質を「ビルトインされた線形性」と呼んでいます。詳しく知りたい人にはこの本がオススメです。

具体例として、ハミルトン系の完全可積分性を挙げましょう。ハミルトニアン  H を持つ自由度  m のハミルトン系が完全可積分であるとは、 H を含めた  m 個の関数の組  H_1 (= H), H_2, \dots, H_m が存在して、それぞれがポアソン可換、つまり、 \{ H_i, H_j \} = 0 が成り立つことを言います。 ざっくり言えば、十分な個数のハミルトン系による対称性を持つ、ということができます。

「三体問題が解けない」というポアンカレの証明は、この意味での解けないです。(しかも、細かく言えば、  H_1, H_2, \dots, H_m にもかなり特殊な仮定をおいたものであり、けっこうややこしい。)つまり、「対称性が十分にない」ということを証明しただけであり、「解が複雑」とか「解が書けない」ことを証明したわけではありません。ここを勘違いしている人が多いのですが、まさに三様の混同が原因なんだと思います。残りの概念も見てみましょう。

(II) 解自体がいい性質を持つ

具体例として「解が単純」であることを「解ける」と言うことがあります。逆に、「解が複雑である(カオス)」ことを「解けない」と言うことがある、の方がピンとくるのではないでしょうか?カオスも様々な定義があることに注意してください。

力学系におけるLiouville-Arnoldの定理は、(I)の意味で「解ける」なら(II)の意味で「可積分」であることを主張するものだと捉えることができます。Liouville-Arnoldの定理は、ざっくり言うと、完全可積分なハミルトン系は、トーラス上の線形運動に帰着される、という定理です。線形運動は非常に単純なので(II)の意味で解けることを意味します。(とはいえ、異なるトーラスとの関係は自明ではなく、運動の考察が終わるわけではない。)

三体問題で言えば、(I)の意味で解けないことの証明がされていますが、Liouville-Arnoldの定理を用いても(II)の意味で解けないこと、つまり、解が簡単ではないことを意味するわけではないことに注意してください。しかし、Liouville-Arnoldの定理の対偶を用いれば、解が複雑(カオス)であれば(I)の意味で解けないことが導かれることになります。このように、(I)と(II)の関係だけでもけっこう面白いことが言えるのです。

パンルヴェ方程式の解がパンルヴェ性を持つ」も(I)と(II)の関係を主張するものだと思えます。パンルヴェ方程式について詳しく説明しません。一から勉強するなら岡本和夫『パンルヴェ方程式』がオススメです。他にも新しい本があるのですが、問題意識とか考え方が納得できるように書かれた本は岡本先生の本を除いてないと感じています。(今後に期待!)

(III) 解の形が陽に書ける

たとえば、 \int e^{-x^2} dx は初等関数で書けない、というのは有名だと思います。(この事実については過去の記事で何度も触れています。)このように、解自体が知っている関数で書けるときに、「解ける」と表現することがあります。解の存在定理により、(普通の)微分方程式は局所的には解が存在します。しかも、局所的には微分方程式は線形方程式に帰着することもできます(flow box theorem)。なので、解が「どのような形で書けるか」が常に重要な問題となります。しかし、初等関数や既知関数はかなり人間の捉え方に依存しており、数学として綺麗ではなく、あまり発展していない分野だと思います。

とはいえ、(I)と(III)の関係を研究する分野として「微分ガロア理論」が存在します。微分ガロア群は微分方程式の対称性を表すものであり、(I)に位置するものだと言えます。線形微分ガロア理論の有名な定理として、微分ガロア群(の単位成分)が可換なら、解は初等関数で書ける、という定理があります。つまり、(I)ならば(III)を表す定理です。この定理を応用することで、「 \int e^{-x^2} dx は初等関数で書けない」も証明できます。(実は微分ガロア理論を使わない証明の方が普通。)

最後に

この記事の目的は、「解ける」にまつわる勘違いの原因を解明し、今後間違えないように分かりやすい視点を提供することでした。また、上の説明を読むだけでも、さまざまな数学の研究が(I)(II)(III)の関係を調べているものであることも知ることができるでしょう。今回の捉え方で理解できる他の具体例があればぜひ教えておしいです(できればTwitterで)。また、読者の誰かが(I)(II)(III)の新たな関係を発見し、新たな結果を出していただけると嬉しいです。あるいは、今回の記事を否定し、(I)(II)(III)の関係性に囚われない新しい視点を提示し、新しい数学の分野を開拓してもらえるともっと嬉しいです。

超幾何方程式の特性指数の差をずらす操作について

ガウスの超幾何方程式が代数解を持つものは、シュワルツによりリスト化されています.ここで、リストの右の付加条件が気になります.実はこの条件は方程式を簡単なものに変換するための条件と関係するのです.つまり,整数の差はおおむね無視することができるのです.今回はこの変換について簡単に説明します.

f:id:tetobourbaki:20200329191632p:plain
代数解を持つ方程式のリスト
参考文献 河野実彦『微分方程式と数式処理』(図もこの本から引用したものです)

前提知識


リーマンのぺー関数  \wp (t) は特性指数をもちいて

\displaystyle \quad \wp\left\{
\begin{matrix}
0 & 1 & \infty & \\
\lambda & \mu & \nu &; t\\
\lambda' & \mu' & \nu' &\\
\end{matrix}
\right\}
のように書かれるが,ブログでこれを書くのは大変なので簡略化して

\displaystyle \quad \wp\left\{
\begin{matrix}
\lambda & \mu & \nu\\
\lambda' & \mu' & \nu\\
\end{matrix}
\right\}
と表すことにする. t^{-\lambda} (t-1)^{-\mu} をかけると、
 
\displaystyle \quad t^{-\lambda} (t-1)^{-\mu} \wp\left\{
\begin{matrix}
\lambda & \mu & \nu\\
\lambda' & \mu' & \nu'\\
\end{matrix}
\right\}
=
\wp\left\{
\begin{matrix}
0 & 0 & \nu + \lambda + \mu\\
\lambda' - \lambda & \mu' - \mu & \nu' + \lambda + \mu\\
\end{matrix}
\right\}
となる.そこで,特性指数の差  \alpha = \lambda' - \lambda, \beta = \beta' - \beta, \gamma = \nu' -\nu とおくと、

\displaystyle \quad
\wp\left\{
\begin{matrix}
0 & 0 & \rho\\
\alpha & \beta &\rho +  \gamma\\
\end{matrix}
\right\}
と書ける.ここで、フックスの関係式より, \rho = (1 - \alpha -\beta -\gamma)/2 と定まる.この形の解(つまり、 t = 0,1 の特性指数のうち一つは 0 となるもの)を持つ方程式はガウスの超幾何方程式である.また,特性指数の差  (\alpha, \beta, \gamma) で完全に特徴づけることができることも分かる.ただし,差を取るときの順序はどちらでもいいので, \alpha, \beta, \gamma のどれかに  (-1) を書けても同じ方程式を表してると思える.


さて,独立変数に一次分数変換をほどこすことで,特異点  0, 1, \infty は別の3点に移すことができる.特に, 0,1, \infty を位置を入れ替えてもよく,それは特性指数の差を入れ替えてもいいことを意味する.

基本操作

主結果の証明で使う性質を紹介する.証明は面倒であるが、特性指数が解の先頭項のべきを表していることを思い出せば,成り立つことは納得ができるものばかりである.

(命題)
 
\displaystyle \quad t^{s} \wp\left\{
\begin{matrix}
\lambda & \mu & \nu\\
\lambda' & \mu' & \nu'\\
\end{matrix}
\right\}
=
\wp\left\{
\begin{matrix}
\lambda +s& \mu & \nu -s\\
\lambda' +s& \mu' & \nu' -s\\
\end{matrix}
\right\} \\
\displaystyle \quad (t-1)^{s} \wp\left\{
\begin{matrix}
\lambda & \mu & \nu\\
\lambda' & \mu' & \nu'\\
\end{matrix}
\right\}
=
\wp\left\{
\begin{matrix}
\lambda & \mu +s& \nu -s\\
\lambda' & \mu' +s& \nu' -s\\
\end{matrix}
\right\} \\

この操作を
 
\displaystyle \quad \wp\left\{
\begin{matrix}
\lambda & \mu & \nu\\
\lambda' & \mu' & \nu'\\
\end{matrix}
\right\}
\left(\rightarrow^{\times t^{s} } \right)
\wp\left\{
\begin{matrix}
\lambda +s& \mu & \nu -s\\
\lambda' +s& \mu' & \nu' -s\\
\end{matrix}
\right\} \\
\displaystyle  \quad \wp\left\{
\begin{matrix}
\lambda & \mu & \nu\\
\lambda' & \mu' & \nu'\\
\end{matrix}
\right\}
\left( \rightarrow^{\times (t-1)^{s} }\right)
\wp\left\{
\begin{matrix}
\lambda & \mu +s& \nu -s\\
\lambda' & \mu' +s& \nu' -s\\
\end{matrix}
\right\} \\
のように書くことにする.

(命題)
 
\displaystyle \quad \frac{d}{dt} \wp\left\{
\begin{matrix}
0 & 0 & \rho\\
\alpha & \beta & \rho + \gamma\\
\end{matrix}
\right\}
=
 \wp\left\{
\begin{matrix}
0 & 0 & \rho + 1\\
\alpha - 1 & \beta - 1 & \rho + \gamma + 1\\
\end{matrix}
\right\}\\
\displaystyle \quad - t^2 \frac{d}{dt} \wp\left\{
\begin{matrix}
\rho & 0 & 0\\
\rho + \alpha & \beta & \gamma\\
\end{matrix}
\right\}
=
\wp\left\{
\begin{matrix}
\rho + 1 & 0 & 0\\
\rho + \alpha + 1 & \beta - 1 & \gamma - 1\\
\end{matrix}
\right\}

後者の公式は, t = 1/\tau とおいて  \displaystyle -t^2 \frac{d}{dt} = \frac{d}{d\tau} を思い出せば, 0, \infty を入れ替えて前者の公式を使ったものだと思える.

証明

(主結果)
特性指数の差が  (\alpha, \beta, \gamma) = (\alpha_1 + p, \beta_1 + q, \gamma_1 +r), p,q,r \in \mathbb{Z} と書けるとする.
 p+q+r が偶数ならば,特性指数の差が  (\alpha_1, \beta_1, \gamma_1) となる方程式に変換することができる.
さらに, \alpha_1, \beta_1, \gamma_1 のいずれかが  \frac{1}{2} ならば  p+q+r が奇数でも変換することができる.

(証明)
まず、特性指数の差に  (-1) をかけてもいいことから, p \geq 0 , q \geq 0, r \geq 0 としてもよい.また,特異点の位置を交換することで, p \geq q \geq r \geq 0 としてよい.
 
\displaystyle \qquad \wp\left\{
\begin{matrix}
0 & 0 & \rho\\
\alpha & \beta & \rho + \gamma\\
\end{matrix}
\right\} \\
\displaystyle \quad \left(\rightarrow^{\times t^{- \rho}} \right) \wp\left\{
\begin{matrix}
\rho & 0 & 0\\
\alpha + \rho & \beta & \gamma\\
\end{matrix}
\right\} \\
\displaystyle \quad
\left( \rightarrow^{\frac{d^r}{d \tau^r} } \right)
\wp\left\{
\begin{matrix}
\rho + r & 0 & 0\\
\alpha + \rho + r & \beta - r & \gamma - r\\
\end{matrix}
\right\} \\
\displaystyle \quad 
\left(\rightarrow^{ t^{-\rho - r} }\right)
 \wp\left\{
\begin{matrix}
0 & 0 & \rho + r\\
\alpha  & \beta - r & \gamma + \rho\\
\end{matrix}
\right\} \\
\displaystyle \quad
\left( \rightarrow^{\frac{d^m}{dt^m} } \right)
\wp\left\{
\begin{matrix}
0 & 0 & \rho + r + m\\
\alpha -m & \beta - r - m & \gamma + \rho + m\\
\end{matrix}
\right\} \\
\displaystyle \quad 
\left(\rightarrow^{ \times (t-1)^{-\beta + r + m } } \right)
\wp\left\{
\begin{matrix}
0 & -\beta + r + m & \rho + \beta\\
\alpha -m & 0 & \gamma + \rho + \beta - r\\
\end{matrix}
\right\} \\
\displaystyle \quad 
\left(\rightarrow^{\frac{d^n}{dt^n} } \right)
 \wp\left\{
\begin{matrix}
0 & 0 & \rho + \beta + n\\
\alpha -m - n & -\beta + r + m - n & \gamma + \rho + \beta - r + n\\
\end{matrix}
\right\} \\
\displaystyle \quad 
\left(\rightarrow^{\times (t-1)^{\beta - r - m + n} } \right)
 \wp\left\{
\begin{matrix}
0 & \beta - r - m + n & \rho +r + m\\
\alpha -m - n & 0 & \gamma + m + \rho\\
\end{matrix}
\right\}
以上により特性指数の差が  (\alpha, \beta, \gamma) から  (\alpha - m - n, \beta - r - m - n, \gamma - r) に移る.そこで,

\displaystyle \quad m = \frac{1}{2} (p + q - r) \\
\displaystyle \quad n = \frac{1}{2} (p- q + r)
とおけばいいが, m, n微分の回数だったので非負の整数でなければならない.まず, p \geq 0 , q \geq 0, r \geq 0 より非負であることが分かる.また, p + q+ r が偶数だったので,m,n が整数であることが分かる.以上により, (\alpha, \beta, \gamma) から  (\alpha_1, \beta_1, \gamma_1) へ変換できた.まとめるとここで行った変換は,
 \displaystyle
\quad \frac{d^n}{dt^n} (t-1)^{-\beta + r + m} \frac{d^m}{dt^m} t^{-\rho - r} \frac{d^r}{d\tau^r} t^\rho \wp\left\{
\begin{matrix}
0 & 0 & \rho\\
\alpha & \beta & \rho + \gamma\\
\end{matrix}
\right\} \\
\displaystyle \quad=  \wp\left\{
\begin{matrix}
0 & 0 & \rho +r + m\\
\alpha -m - n & \beta - r - m + n & \gamma + m + \rho\\
\end{matrix}
\right\}
という変換を行っている.

最後に, \alpha = 1/2 の場合で  p+q+r が奇数の場合を考える.
 
\displaystyle \qquad \wp\left\{
\begin{matrix}
0 & 0 & \rho\\
\frac{1}{2} & \beta & \rho + \gamma\\
\end{matrix}
\right\} \\
\displaystyle \quad \left( \rightarrow^{ \frac{d}{dt} } \right)
 \wp\left\{
\begin{matrix}
0 & 0 & \rho + 1\\
 - \frac{1}{2} & \beta - 1 & \rho + \gamma + 1\\
\end{matrix}
\right\} \\
\displaystyle \quad \left(\rightarrow^{\times t^{1/2} }\right) 
 \wp\left\{
\begin{matrix}
\frac{1}{2} & 0 & \rho + \frac{1}{2}\\
0 & \beta - 1 & \rho + \gamma + \frac{1}{2}\\
\end{matrix}
\right\}
すると特性指数の差は,(\alpha, \beta, \gamma) から  (\alpha, \beta - 1, \gamma) と移るので,これから見れば  p+q+r は偶数となり、同じ変換を行うことができる.\square