分割したTeX文書を分割された側からコンパイルするときの設定

規模が大きい文書をTeXで作成するとき, 更新の都度, 文章全体をコンパイルしているのでは待ち時間が著しく増えていく. 特に, 最近の Unicode 対応の関係で LuaLaTeX を使っていると顕著で, ただでさえ時間がかかるコンパイル時間が目に見えて伸びてくるのがわかる.

そこで, 例えば節単位で分割を行って, 必要な節だけをコンパイルするように設定すれば, 他の賞をコンパイルする時間を削減できる.

分割する手順については検索すればすぐに見つかるので, ここではテキストエディタから親となるファイルをコンパイルする命令を送るときの記法を書いておく.

  • YaTeX on Emacsen: 子ファイルに !#%(親ファイルをコンパイルするコマンド)という行を記述する.
  • LaTeX Workshop on Visual Studio Code: 子ファイルの1行目に% !TEX root = (親ファイル名の相対パス) と記述する.

数学夏祭り

数学夏祭りというものが開催されているということで, 2020年8月31日から14日間連続で17:00に出題されるということ。回答の投稿には Twitter のアカウントが必要ということで小職は直接の参加ができない状況だが, これのために Twitter のアカウントを開設する気にもならないので個人的にこのブログに投稿できればと思う.

なお, 出題は Twitter のアカウントにて行われるとのこと.

ベイズの定理(もっとも単純な例)

ベイズの定理とは事後確率と事前確率の変換を表したものである. ここでは最も簡単なモデルを取り扱ってみよう.

ここでは以下の仮定をする.

  • 日本人全体のうち, あるものMをもっているという比率を π とする.
  • あるものをもっている日本人に対し質問Qを行ったときに期待した回答(私は確かにMをもっている)が得られる確率をπAとする.
  • あるものをもっていない日本人に対し質問Qを行ったときに期待した回答(私は確かにMをもっていない)が得られる確率をπSとする.

これらの仮定のもとである日本人に対し質問Qを行ったところ, 私は確かにMをもっているという回答を得た. その人が本当に M をもっている確率を求めてみよう.

結論から言うと, これはベイズの定理によって計算できる.

実際に M をもっているという事象を H, 質問Qにより私は確かにMをもっているという回答を得るという事象をAとする.

求める確率は Pr(H|A) であり, これはベイズの定理により Pr(A|H)Pr(H)/(Pr(A|H)Pr(H)+Pr(A|¬H)Pr(¬H)) に等しい.

これに仮定で設定した値を代入すると (πAπ)/(πAπ+(1-πS)(1-π)) を得る.

最近話題になっている例の奴について当てはめると...

角度の評価

某所にて, (要約すると)ArcTan(5/12) および ArcTan(3/4) を度数法で表せ(小数以下切り捨て) なる問題を出題した. そのときは円周率 π が 333/106<π<355/113 と近似できるというヒントを付けた.

これと, sin(x)<x<tan(x) (第1象限の角に限る) という大小関係をうまく用いてもらい, 適当な評価をしてもらう算段でいた.

実際に, sin(x)=S, tan(x)=T は正確に求められる状況であり, π1<π<π2 という条件を与えれば, x [rad]= θ [deg] という関係においては 180S/π2<θ<180T/π1 という関係が成り立つ.

ただ, この評価方法は0°<θ<15° 程度でないと大雑把すぎるので, 4倍角や5倍角の正弦や正接を計算させる必要があった。

ところが, 必要であれば2倍角の計算をすればいいようなもっといい近似方法があったようだ. 屈折率の式でおなじみのヴィレブロルト・スネルが見出した式である, 3sin(x)/(2+cos(x))<x<(2sin(x)+tan(x))/3 である (以降, この不等式の左辺をL, 右辺をUとする).

これにより、角度の評価は 180L/π2<θ<180U/π1 となる.

何といっても, その誤差は x5に比例するということが大きいし係数も小さい.

下限の比較では sin(x)=x-x3/6+Ο(x5) に対し, 3sin(x)/(2+cos(x))=x-x5/180+Ο(x7) となり, 上限の比較では tan(x)=x+x3/3+Ο(x5) に対し, (2sin(x)+tan(x))/3=x+x5/20+Ο(x7) となる。

この方法で当初の問題を解いてみると...

θ=ArcTan(5/12) のとき, 15/38<ArcTan(5/12)<185/468 は度数法ではこの時点で15900/703<θ<20905/923 と評価できる. この時点で小数第1位まで確定する. (θ=22.6...°)

θ=ArcTan(3/4) のとき, 9/14<θ<13/20 は度数法ではこの時点で9540/259<θ<13221/355 と評価できる. ざっと, θ=37°±0.1° といったところか.

さらに2倍角の公式で得た角と直角との差を評価すると 21/74<π/2-2Arctan(3/4)<511/1800 となり, 122767/3330<θ<50475/1369 を得る. なんと, これで小数第2位まで確定する (θ=36.86...°)

DanceDanceRevolution A20 段位認定進捗状況

段位認定モードといえば beatmaniaIIDX がその走りであるが, 現在稼働している DanceDanceRevolution A20にも実装されている. もっとも, 私にとっては皆伝はおろか六段すら相当に遠い存在ではあるのだが...

稼働時から少しずつ実力を伸ばしていき, 漸くSingle Play の五段合格にこぎつけることができた. もっとも, いわゆる捨てノーツがそれなりにあるのでスコアはひどいことになっているが.

Double Play についてはもっと体力をつけてから挑戦したい. 四段を取れたのも正直に言って奇跡的なもので, 意識した捨てノーツがないにもかかわらずこの結果なのでより精進したい.

DanceDanceRevolution A20 SP五段 747680
DanceDanceRevolution A20 DP四段 749820

実用数学技能検定1級合格!

9回目の受験にして漸く実用数学技能検定1級に合格することができました!

初めて挑戦したのは6年前. 直前に受験した準1級を満点で合格したのだから1級も何とかなるだろうと思ってチャレンジして, その結果が惨敗だったときの悔しさを胸に, 続けて2回受験するもまるで歯が立たず...

転居で環境が変わったところで気軽に受験できなくなった(個人受験会場が近くになかった)ために諦めていたところ, 次の転居ではまた個人受験会場が近くなったことから再起を決意.

昨年から受験をしたもののやはり合格には届かなかったが, 解法が全く思い浮かばないということがなくなったので、もう少しで手が届くという感触は得ていた。

それでも, 前回の結果が逆ボーダー (1次が4.5/7 (合格ライン 5/7), 2次が (2.3/4 (合格ライン 2.5/4)) だったときは心が折れかけた...

が, ここまでできているのだから何とかなると気合を入れ直したところ, 今度こそ合格ラインを超えることができたのである.

実用数学技能検定1級合格証
2019年10月27日実施第344回実用数学技能検定1級の合格証