Rumpの例題のやらしさ

qiita.com
この記事を読んで,ちょっと計算してみようかとRumpの例題を計算し始めてしまったのが運の尽き。全然真値が計算できないと泣きそうになって夜を明かす羽目に。

Rumpの例題はこのページにもあるけど
a=77617.0, b=33096.0で,
f(a,b) = 333.75 b^{6}+a^{2}(11a^{2}b ^{2}-b^{6}-121b^{4}-2)+5.5b^{8}+ \displaystyle \frac{a}{2b}
を計算すると言うだけの話。

これをただ単にrubyに打ち込むと一見して巨大数と巨大数を足したあとにa/2bという小さい数を足してるから失敗するだろうなというのはわかる。ただ,その直感と違って,ruby(2.6.3p62)にこの計算をそのまま打ち込んでさせると以下の結果になる

$ ruby -e 'a=77617.0;b=33096; puts 333.75*b**6+a**2*(11*a**2*b**2-b**6-121*b**4-2)+5.5*b**8+a/2/b'
-1.1805916207174113e+21

元々の論文(https://tore.tuhh.de/bitstream/11420/318/1/Ru88a.pdf)や,直感的な狙い(手前の3項の足し算が打ち消し合って0になるので,a/2bだけが残る)と異なり,10^21の巨大な数字が残る。ここまで清々しく違うと逆に異常だと分かるので親切かもしれない。*1

で,これを高等で洗練された精度保証付き計算の技法ではなく, 1970年代から連綿と伝わる本当のプログラマの手法で解決しようと考える。まずは巨大数と巨大数の引き算を解析的な変形により除去することを考える。
特に,5.5b^2-a^2 = -1.0であることに気づいた上で,斉次の項をまとめるのを優先して変形すると以下のように変形できる事に気づく。
\left[ 333.75 + 5.5b^2-a^2 +  11  ( \frac{a}{b} )^2 \left(  ( \frac{a}{b} )^2-11 \right) \right] b^6-2a^2 +  \frac{a}{2b}
この内側の
 333.75 + 5.5b^2-a^2 +  11  ( \frac{a}{b} )^2 \left(  ( \frac{a}{b} )^2-11 \right)がぴったり0になるように見えるのがトラップで,別に巨大な数が出てきてないから問題ないじゃないかと,楽観的に思うと,
f(a,b) = -12048797376.827396
という謎の数字にたどり着いてしまう。
実際にrubyで単純に計算するとそうなる

$ ruby -e 'a=77617.0;b=33096.0; puts 333.75+5.5*b**2-a**2+11*(a/b)**2*((a/b)**2-11);'
0.0

ただ,これを細かく見てみるとa/bが絡む項は整数でないわけで,きっちり0になるのは不自然だと気づく。b^6はかなりの巨大数なのでものすごい小さい数(それこそ,10^-13とかでも)が残っても最終結果を崩壊させるくらいの巨大な数として残ってくるので,もっと精緻な取り扱いをしないと死ぬ。

ということで,色々と諦めてこれをすべて有理数として多倍長整数で計算することを考える。5.5b^2-a^2 = -1は整数の範囲で成立する式だから,これを前提として式を変形すると,以下のようになる。
 f(a,b) = \displaystyle \frac{(1335-4)b^6 + 44a^4b^2 - 4\cdot 121 a^2b^4 - 8a^2}{4} + \frac{a}{2b}

この1項目の分数の分子を構成する項をそれぞれ多倍長整数で計算すると以下のようになる。

$ ruby -e 'a=77617;b=33096; puts (1335-4)*b**6; puts 44*a**4*b**2 - 4*121*a**2*b**4; puts -8*a**2'
 1749166305248087785856979173376
-1749166305248087785808783983872
-48195189512

上で足したらピッタリ0になると喜んだのがこの最初の二つの項の和を4b^6で割った数字で,この二つは21桁目まで全部同じという悪魔的な数字なので,普通にfloatで足したらそりゃピッタリ0になって地獄を見る数字であることがわかる。
ということで,分子を計算すると,

$ ruby -e 'a=77617;b=33096; puts ((1335-4)*b**6+44*a**4*b**2 - 4*121*a**2*b**4-8*a**2)'
-8

なので,結果,

$ ruby -e 'a=77617;b=33096; puts -8/4.0 + a/2.0/b'
-0.8273960599468213

f(a,b) = \displaystyle \frac{-8}{4}+ \frac{a}{2b} = -0.827396
となる。

Rumpさん悪魔的にすごいというのが計算してみた感想。どうやったら,一見して同じに見えないに22桁目まで同じ値になる式を作れるのか全くわからない。

*1:ちなみに,python3でも似たような結果が出てきた

山田城訪問(2019-8-21)

ということで,黒瀬城で久しぶりに山城に登って,やっぱ楽しいよねと思ったので,昔登ろうとしたけど断念した山田城(楠目城)に向かう。

例のごとく,以下のページを参考に向かう
土佐・山田城(香美市)(城郭放浪記)
土佐山田城
楠目城 - お城散歩

しかし,この手の山城巡りのサイトって結構たくさんあるのが謎すぎる。近世城郭ならともかく,戦国時代の山城遺構とか,藪だらけのただの山に戻ってることも多く,そうなってると道なき道を突き進まないと行けないわけで,安易に記事を作れるとは思えない題材なのだが,結構あるということは藪山になってしまった山城巡りをしている人はそこそこいるということなんだろうか?謎だ。

ということで,GPSで登ったときの地図


当初どのサイトも南側からアクセスしてるみたいなので,私もそれに倣って行くのだが,看板があるという場所に看板が見当たらない。
このサイトには往時の看板が残っている。台風で壊れたか,変な人がぞろぞろ来るから撤去したのか。
楠目城 - 古城盛衰記
今はこんな感じ。

f:id:khwarizmi:20190821104632j:plain
南側からの入り口
正直こうなっているのなら,天満宮の先にある草薮を抜けていったほうがベターという感じがする(このルートで進んでいる人もいる)。

ということで,前回先が見えなくて断念した西側の登り口からアクセスする。

f:id:khwarizmi:20190821111345j:plain
西側からの登り口
この先に道があるとはとても思えないから,不安。昨日の黒瀬城にはあった目印みたいなのもまったくなく,どんどん自分で道を見つけて登る必要がある。ただ,絶対あると確信を持って藪を抜け登っていくと郭っぽいところがあり,土塁のようなものもあるのでテンションが上がる。ただ,その郭の先にある壕とか,本丸とかに行こうとすると,竹やぶが道を塞いでいるので諦める。
f:id:khwarizmi:20190821113120j:plain
郭から更に奥への道

進むのを断念して郭から戻ろうとすると案の定登り口がすぐには見つからなくてヒヤッとする。即席の目印を付けておいたのでなんとか戻れたけど,写真に撮ると道が見えづらいというのを前提としても,下の写真の先に進まないともと来た道に戻れないってのは難度高い。
下れそうな道は他にもいくつかあったんだけど,下った先が素直に道に通じてるのはあの道だけなので,結構怖かった。民家の前(たいてい崖とセット)とか,南側の天満宮の下に降りられても困る。

f:id:khwarizmi:20190821114023j:plain
郭から登山道への下り道

まあ,藪が茂りやすい夏の,さらに台風の後(竹が折れきってどうにもならん)に向かったのはミスな気はする。城郭図を見ると南側からのほうが遺構は多いので南側からの道をもう少し整備していただけるとという気にはなるが,民家の脇を通るあの道は確かにイマイチかもしれない。天満宮の先に抜ける道が整備されればという印象。
あと,基本的なルーティングと合わせて藪漕ぎの訓練をしてくれるところがあったら受けたい気分。

黒瀬城訪問(訪問日 2019-8-20)

夏休み何を思ったのか,戦国時代の山城を2つ巡ったので,そのレポートをする。
こういう古い山城は,登ると軽い冒険気分と歴史を足で感じられるので楽しいんだけど,案内があるんだかないんだかという状況になっていてかなりハードな趣味になってしまうのが口惜しいので,記録をまとめておく。

とりあえず,以下のページを参考に普通に登ろうとしたら,グラウンドの先にあるという看板とか登り口が見当たらなくて頭を抱える。
伊予・黒瀬城(城郭放浪記)
伊予黒瀬城

往時の看板がサイトの写真に残ってて切ない気持ちになる。四国の風雨は厳しい。
剥げた看板と草ボウボウの細い道に,ここから登るの?という思いで他の登り口を探したが見つからず,結局この道から登り始め。

f:id:khwarizmi:20190820125106j:plain
黒瀬城 西登り口
死ぬほど心細かったが,この道は比較的高頻度に青テープがあったのでそれを頼りに登っていく。途中から広い道に合流してから小屋があったり,その小屋のあたりから土塁なりいかにも古い山城っぽい遺構が残っててテンションが上がる。
f:id:khwarizmi:20190820132118j:plain
黒瀬城 本丸

本丸となる山頂付近はかなり平ら。運動公園川の登り口から進むと一番奥の山頂に送電線の鉄塔がある。
その奥に西に降りる四国電力の点検用の道があるが,それがどうなっているのかは不明。

f:id:khwarizmi:20190820132415j:plain
四国電力の送電線と点検用の登山道(右奥)

結構遺構が残っている良い山城なのにここまで案内もなにもないとなあと思うと悲しくなったので,帰り道はGarmin 735XTJのGPSで経路を測りながら降りる。
来るときにあった広い道を下ると,そのまま広い道で来るときに通ったグラウンドの手前の端(北東端)にたどり着く。こんなにわかりやすい道があるのなら看板の一つくらいは欲しかったなあと。しみじみ。道のところには看板はあるのだけど,草に隠れる程度の看板なのでグラウンドからこの道を知らない人が目指そうとすると確実に見つけられない。

もう一つ登り口があると観光サイトには記述があったのと,プールへ下る道があるという看板があったので,そちらにも向かうことに。そこそこ広い道が続くのだけど,木がなくなって日なたになるところから全部藪に覆われてしまっていて,最後の5mくらいを下るのがかなり難度高かった。目の前にプールが見えているのにそこまでの道が草だらけで全く見えないと絶望感がある。プールの監視員をしてる人にこれ本当に下り道?と聞いてしまうレベル。

ただ,立派な看板とかを作っても激しい風雨で消えていってしまうのが難しいところだと改めて実感。あと,ないと多分途中で断念してただろうから嬉しかった登山道のマーキングも,調べたら毀誉褒貶あることがわかった。多分地元の有志がつけただけという感が強いんだけど,何が良いんだろうな。わからなくなる。ただ,個人的には登山道に賽銭箱がおいてあって寄付してと言われたら寸志(1000円とか?)は置いておくくらいには助かったので応援したい。

ZAQ KURUIZAQ ver 2018(2018-12-8, 12-14)

今年もやってきたKURUIZAQ。大阪/東京のみなので全通も簡単だねと全通。
ただ,12月は体調が良くないことが多く今回も11月末にインフルエンザのワクチンを打ってから,ずっとなんか体調不良ぎみ。
じゃあ心拍数は上がらないかというとそんなことはないから不思議。

f:id:khwarizmi:20190212235002p:plain
12/8 KURUIZAQ 大阪 Banana Hall

f:id:khwarizmi:20190212235117p:plain
12/14 KURUIZAQ 新宿BLAZE

多分会場の狭さと,初めて体験する山本陽介なしのZAQ JAPANがどんな音を奏でるのかという新鮮な楽しみと,単純に体調の問題で大阪のほうが心拍数高めだが,眺め直してみると微差かも。RebellionとLoSe±CoNtRoLの差分が心拍数の印象的には大きいのかな。絶対に絶対に殺すゾーンはどちらも心拍数ヤバイ。150超を長時間維持するのはZAQだけ。

しかし,今回バンド(ZAQ JAPAN)のメンバーがベース 黒須克彦,ギター 菅原潤子,キーボード 野崎洋一,ドラム かど しゅんたろうという編成で,僕の人生で初めて山本陽介なしのZAQ。別件で茅原実里のそれでも思ったんだけど,山本陽介は劇薬なんだなあとしみじみ。君,カッコいいけど目立ちすぎやろ的な。まあ,カッコいいから良いんだけど。
で,山本陽介なしのZAQでしみじみヤバイなあと思ったのが,野崎さんのキーボード。自分,基本的に手数の多いキーボーディスト大好きなんだけど,今回の野崎さんは手数が多いのは前提として,特にカーストルームが神がかってたと思う。原曲よりもジャジーな上にカッコよかった。何度でも聞きたい。
菅原さんは最初硬いかな?という感じがあったけど,大阪の途中辺りから,こいつら(観客)アホだみたいな感じのアハッみたいな感じの笑顔が出てきたような感じがして楽しかった。

今回のセットリストはKURUIZAQだから当然最初から飛ばしてる。最初のブロックに個人的に一番大好きなエキストラレボリューションがそこそこ久しぶりにそれもいい場面で流れることが嬉しい。あと,SPEED JUNKYのコールがきちんと全員やっててZAQも含めてみんな嬉しそうだった。
というか,KURUIZAQはだいたい思い入れのある曲ばっかり流れるから,時系列で語ろうとすると,1曲ずつ良かった,良かったとセトリを朗読するはめになって,加藤一二三の自戦解説みたいになってしまう*1
今回,東京でも大阪でもほぼ同じセトリだったのだけど,最初の絶対殺すゾーンが終わったあとの曲が違ってて大阪ではRebellionが流れた。自分は一応ペンライトを持ってきてたけど,タイミングに自信がなかったので,近くでウズウズしてた人に渡して,その人がちゃんと真実の赤をやってくれてほっこりする。

OVERDRIVERから始まる絶対絶対殺すゾーンの心拍数はホントおかしい。「ない」とTOGAREはなんか1年くらい聞いてなくて(おそらく前回のKURUIZAQ以来)禁断症状が出てたので嬉しかった。BRAVERは安定だよね。曲の良さとアニメの熱さがシンクロするのがアニソンの良さだよねと,拳をみんなで空に掲げて無心になって叫びながら思う。

アンコール後はソラノネとSparkling Daydreamがヤバイ。ソラノネは大阪では新曲初めてで,口笛来たよーとはしゃぎすぎて上がってるっぽい。東京では会場がそこまではしゃいでいなかったからなのか,ちゃんと聞こうと飛び跳ねなかったからかそこまで上がってない。そして,最後の最後のSparkling Daydreamでこのライブ最高の盛り上がりと心拍数に到達するこの会場の空気が尊い

ちなみに,今回両会場とも冬場だからか,空調の能力を超えるようなことにはならず,汗で床がビショビショになるとか,Tシャツから汗が絞れるとかにはならず,快適だった。そこは感謝。まあ,冬のオルスタライブは上着どうするんだよ問題に神経をつかうので,それはそれで面倒くさいのだけど,大阪にはクローク,新宿BLAZEはコインロッカーには余裕があったりとそこのところも特に問題なかった。大阪は何故かどこの会場も最近ドリンクが600円で,このバナナホールも600円で大阪だなあと思うんだけど*2,中でバナナホールだけにバナナシェークが売ってたから,むしろ良い,許そうってなった。

*1:加藤一二三は頭が良すぎるので(婉曲表現),棋譜にすべてが込められていると思っているのか,自戦の解説が棋譜読み上げに終止することがある

*2:ライブホールのドリンク500円って建前的な金額だと思ってたから,値段を調整するという感覚がなかった。赤字なら会場を貸す金額に転嫁すれば良いわけで的な。その意味で,ガメついというわけではなく細かいことにフェアさ重視する大阪らしいなあと

TimeMachineでハマったので記録

前提条件

Sambaが4.8になったらnetatalkなしでも出来るよと言われたので,バックアップ作り直せと言われたタイミングでSambaのみへの移行を図る。
SambaのTimeMachine向けボリュームのsmb.confの設定(globalにだけ入れても上手く行かなかったので各ボリュームにもfruit:time machine=yes以外はぶち込む)

comment = Time Machine
browseable = yes
writable = yes
path =
fruit:time machine = yes
ea support = yes
vfs objects = catia fruit streams_xattr
fruit:locking = netatalk
fruit:encoding = native
streams_xattr:prefix = user.
streams_xattr:store_stream_type = no

困ったこと

  1. smb.confで[global]のみの設定だとTimeMachine利用可能なディスクに出てこない
    • globalじゃなくて各共有への設定で概ね解消
    • adminユーザーからTimeMachine設定を開かないと見えないという症状もあり
  2. ディスクを選択した時に何故かIDとパスワードを入力する画面が出てこない。なんもしないとIDとパスワードが無いのでアクセスできないと言われる。
    • TimeMachineはシステムのkeychainの情報を使うので他のユーザーのアクセス情報を,システムにコピーすると解消
  3. ディスクになにもないと(sparsebundleディスクイメージが存在しないと),エラーになる
    • 一度netatalkで該当ボリュームを共有して,TimeMachineで初期バックアップをさせてディスクイメージを作ってから,sambaに引き継ぐと上手く行く

結論

とりあえず今の所なんとかなってるけど,当分netatalk環境は残しとかないとヤバそう。

高垣彩陽 Memoria×Melodia II (2018-10-7)

心拍数グラフ

f:id:khwarizmi:20181009182700p:plain
高垣彩陽 Memoria×Melodia II(2018-10-7)

セットリストは以下を参照
LAWSON presents 高垣彩陽コンサート「Memoria×MelodiaⅡ」セットリスト - もう、そうするしかない!

Rebirth-dayの真ん中でバンドが入って,観客が起立するのかしないのか?みたいな感じでドギマギしてたのは楽しかった。心拍数グラフにも断層が見える。
ピアノと弦楽四重奏の音を"Try to reach"の音源がつんざき,ドラムの音が入るあの瞬間はホントかっこよかった。ただ,地味にすごいゆっくり目の弦楽四重奏アレンジのRebirth-dayの方が好きだったり。あれは良かった。Somewhere Out Thereで,いないはずの共演者がいる!みたいな怪演を見せた後だったからなおさら,ハラハラと消えていくような切ない歌詞が刺さった。

想定外だったなあと思ったのが,Can't Take Off My Eyes。心拍数が尻上がりに上がっていっている。聞いていてどんどん楽しくなって来たのが心拍数にも現れている。昔の歌を今歌う。当時はこれで楽しく踊ったらしいですよみたいな気分で楽しむわけじゃなくて,今の感覚として,アニソンを聞くオタクとして全力で楽しむ。それが出来た不思議な空間だったなあと。
心拍数的にはその後のシンフォギア曲がピークで,そりゃ当然という気分に。特にMeteor Lightはかなり久しぶりなのでなんか振り切れた感がある。
通常進行最後の糸は,melodia 4のバージョンだと最初の「なぜ」のくだりで涙腺が崩壊してしまう凄まじい曲なのだけど,そこまでの破壊力はなかった。ちょっと力強過ぎる。でも,中島みゆきの「横の糸は私」の「私」は何か中島みゆき本人じゃない感じがどうしてもしてしまうのだけど、高垣彩陽の場合には、自分が横糸って感じが伝わってくる。今この曲をみんなで奏でて、みんなで聞いている,その空間にいるみんなを繋いでいる横糸である私と純粋に届いてくるのが暖かく嬉しい。最後の「人は幸せと呼ぶでしょう」で,ああ確かにこの空間は幸せだねと感動があふれでるような構成

通常構成が終わってからアンコールの間は,揉めたけど拍手に落ち着いたらしい。
アンコールの生きていると教室モノクロームはどちらもキャラになりきっているという意味で,圧巻。キャラソンをどうやったらあんなにキャラの声でそのまま歌えるのか。芸風の広さと確かな技量がやばい。あと,教室モノクロームの歌詞を聞きながら,もうクリスの平和な世界を壊すようなシンフォギアの続編はいらないみたいな謎の気分になる。

そして,アンコール後のたからもの。まあ,relation of colorsのときも締めはこの曲だったはずなんでそんなもんかなんだけど,歌詞があまりにも切ないから,なんかこれが最後のライブなんて言わないでよみたいな気分になる。
高垣彩陽のコンサートに行くたびに,心拍数だけがライブじゃないって改めて思う。しかし,今度ミュージカルやる(SMOKE)ってのを把握してなかったのは痛恨。まだ意外と席空いてたので,今週末にでも行く予定。
musical-smoke.com

スフィア 360°SPECIAL LIVE

スフィアと書いたけど,高垣彩陽戸松遥にしか参戦してない私。スフィアには行かないので*1,彩陽と戸松の個人ライブに行くような気分で向かう。
セットリストは彩陽も戸松もKERO-Pさんを参照。いつもお世話になってます。
「LAWSON premium event 高垣彩陽 360°SPECIAL LIVE at舞浜アンフィシアター」セットリスト - もう、そうするしかない!
「LAWSON premium event 戸松遥 360°SPECIAL LIVE at舞浜アンフィシアター」セットリスト - もう、そうするしかない!

高垣彩陽

f:id:khwarizmi:20181009180407p:plain
高垣彩陽 2018-2-17

戸松遥

f:id:khwarizmi:20181009181025p:plain
戸松遥-2018-2-25

高垣彩陽は着席部分と起立部分がわかりやすく色分けされた感じの心拍数で面白い。共鳴の歌と夢のとなり
は独特の疾走感があって彩陽にしか歌えない曲だよねと誇らしい感じで聞く。私の時計はなんか思い入れがあるのか上がってくるのが面白い。

戸松遥は同じ様に着席部分と起立部分がわかりやすいんだけど,起立部分はアゲアゲ曲で心拍数がぶち上がってるのが違うところ。恋ヲウチヌケが最後なのがセットリスト的にはちょっと面白い?

どちらもいい感じでベスト盤な感じのセットリストで満足感はあった。その意味では日頃個人ライブに行かない残りの二人も見に行ったほうが良かったんだろうなと思ったり。まあもう過ぎたこと。そういえば,おとといのMemoria×Melodia IIのMCでもうすぐスフィアの充電期間が明けるという話を聞き,ほんと悪い意味で時が経つのが早すぎるなあと感じる。

*1:グループアイドルは,なんか音が追いきれなくて魅力が掴みきれない。グループアイドル推しの人は耳良いよなあと思う