まったり アイマス2

アイドルマスター2 超ライトユーザーのプレイ日記

4112. 楕円関数、実数編、続き

2023年06月30日 | 日記

 うむ、ヤコビの楕円関数の実数部分のグラフ表示は、実際に出来上がってみるととても簡単な気がしてきました。この程度なら、私が40年ほど前に初めて買ったNEC PC-6001のマイクロソフトBASICでも実用範囲でグラフ表示出来ると思います。MSXでも楽々計算出来るでしょう。当時に思いつかなかったのが誠に残念です。
 当時の8bitマシンがいかに優れた電子計算機であるかを示していると思います。

 こんな簡単なプログラム(?)でもいろいろと詳細が分かるのが面白いです。楕円テータ関数を利用する本方法では、q値が鍵となる数値になっていて、0≦q≦1なのでこれを直接入力しても良さそうで(数値定積分を省略)、しかし、1に近い場合は関数の級数を伸ばさないといけませんが、どこまで具体的に対応できるのかが見物です。
 複素数化は参考文献2の第10章に載っていて、多分それほど難しくないので興味を持たれた方は先行してトライしてみて下さい。こちらはグラフのベースが二次元なので計算量がぐっと増えるため、現在の計算機の威力が分かると思います。

 ネットでは、この他にワイエルシュトラスの楕円関数であるペー関数の複素平面表示とおぼしきものがあって、私は先にこちらを検討したいと思います。参考文献3の巻末の表に(実数範囲の)計算結果が出ていますが、どうやって計算したのか(手順)がいまいち私は理解できていません。しばらく考えてみる予定です。

 ヤコビの楕円関数に関しては、微分方程式を表計算ソフトで実行させた猛者がいるようで、結果の見た目は私が描いたグラフとよく似ています。こちらはアナログコンピュータでも対応できそうで、ただし非線形なので少なくとも良好な特性の乗算器が必要なはずです。
 今のデジタルコンピュータでは浮動小数点数の乗算は加算と同程度の気軽さと速度で計算出来ます。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4111. 楕円関数、実数編

2023年06月29日 | 日記

 結局、2ヶ月ほども掛けて出てきたのはありがちなグラフでした。ヤコビの楕円関数、sn(u)、cn(u)、dn(u)の実数部分を表計算ソフトで表示したので公開します。
 やりたいことは複素平面での表示で、これはその1段階前の計算です。このグラフの形は数学愛好家なら既視感があるはずで、多分、ネットで見られると思います。

(注意。以前掲載した数式に誤りがありました。本稿は訂正後のものです)

 (参考文献1) 森口繁一他、岩波 数学公式 III、岩波書店 1960-1997
 (参考文献2) 戸田盛和、楕円関数入門、日本評論社 2001
 (参考文献3) 泉信一他、共立 数学公式 附・函数表 改訂増補、共立出版 1953-1969

 楕円関数には母数(modulus) kという、元の楕円の形を決める係数があり、0≦k≦1で、第二種楕円積分では楕円の離心率(e)と同じです。0だと真円になり、数値を上げると縦方向が縮んで行き、1だとぺちゃんこになります。離心率は長軸上の焦点の位置でもあります。
 ヤコビの楕円関数は第一種楕円積分の話なのですが、グラフを見ると何となく楕円上を周回する点の座標と関係しているような気がします。

 この作図は参考文献1の50ページに載っている、楕円テータ関数を仲介する方法で、その4種の楕円テータ関数のグラフが下方に見えます。ほぼ正弦波に見えますが、わずかに歪んでいます。
 セルA4のk2は母数の二乗の値で、ここを書き換えるとグラフの形が変わります。算出方法の制限から0.01≦k2≦0.99の値で試してみて下さい。その他の数値も受け付けますが、誤差がもろに出てきます。

 4行目がグラフの計算に必要な定数値の計算です。

 セルB4 =(1-(1-A4)^0.25)/2/(1+(1-A4)^0.25) は参考文献にあるl値で、その隣の、
 セルC4 =B4+2*B4^5+15*B4^9+150*B4^13+1707*B4^17 のq値を計算するための中継地です。

 このq値は本来は二重周期のKとK'から算出される値で、そのK,K'は第一種完全楕円積分で計算できます。つまり、k→K,K'→qの順で算出するのが正統ですが、第一種完全楕円積分(定積分)を数値計算する必要があります。これを避けて大幅に計算量を減らす工夫がl値の採用です。ただし、その代償としてk2=1に極端に近い値は採れません。1に近い部分はとても興味深い結果が得られて、参考文献2で詳しく紹介されていますが、その再現はできません。
 また、k2=0だと本来は正弦波が出てくるはずですが、試してみると分かりますがそうはなっていません。0.01等の小さい値を入れる必要があります。

 セルD4 =PI()/2*(1+2*(C4+C4^4+C4^9+C4^16+C4^25))^2 はそのK値です。グラフには使いませんが、本来は周期(4K)が延びるのにこのグラフでは周期を固定しているので目安として計算しました。k=0の時、Kはπ/2 (=1.570796...)となります。
 セルE4 =2*PI()*(C4^(1/4)-3*C4^(9/4)+5*C4^(25/4)-7*C4^(49/4)+9*C4^(81/4)) は楕円テータ関数θ1(v)の微分関数のv=0での値です。これも今回のグラフでは使いませんが、他の楕円関数で必要になる場合があるので参考として表示しています。

 セルF4 =2*(C4^(1/4)+C4^(9/4)+C4^(25/4)+C4^(49/4)+C4^(81/4))
 セルG4 =1+2*(C4+C4^4+C4^9+C4^16+C4^25)
 セルH4 =1+2*(-C4+C4^4-C4^9+C4^16-C4^25)
 はそれぞれ、楕円テータ関数θ2(0)、θ3(0)、θ0(0) (=θ4(0))の値です。Kやθ'1(0)ともども、本来は無限級数ですが、グラフ表示に必要な精度の最初の5項で打ち切っています。

 セルA10~セル110にはあらかじめ-50~50の1刻みの数値を入れています。これがグラフの横軸になります。
 セルB10 =$B$8+$C$8*A10 はそれぞれの楕円関数の入力値vの計算で、これを下に続くセルB11~B110にコピーします。セルB8にインデックス0の時の値を入れ、セルC8に刻み値を指定します。

 セルC10 =2*($C$4^(1/4)*SIN(PI()*B10)-$C$4^(9/4)*SIN(PI()*3*B10)+$C$4^(25/4)*SIN(PI()*5*B10))
 セルD10 =2*($C$4^(1/4)*COS(PI()*B10)+$C$4^(9/4)*COS(PI()*3*B10)+$C$4^(25/4)*COS(PI()*5*B10))
 セルE10 =1+2*($C$4*COS(2*PI()*B10)+$C$4^4*COS(4*PI()*B10)+$C$4^9*COS(6*PI()*B10))
 セルF10 =1+2*(-$C$4*COS(2*PI()*B10)+$C$4^4*COS(4*PI()*B10)-$C$4^9*COS(6*PI()*B10))
 には4種の楕円テータ関数、θ1(v)、θ2(v)、θ3(v)、θ0(v)の計算式が入っていて、
これをセルx11~x110にコピーします。本来はこれも無限級数です。最初の3項しか計算していませんが、ここでのグラフ描画には十分な精度のはずです。

 セルG10 =$G$4/$F$4*C10/F10
 セルH10 =$H$4/$F$4*D10/F10
 セルI10 =$H$4/$G$4*E10/F10
 が、今回の目的のヤコビの楕円関数の計算式です。これもセルx11~x110にコピーします。
 あとは、必要なセルを選んで、メニューの挿入→折れ線グラフを指示すればグラフが描かれます。

 Sheet1は示しませんが、Sheet2の行4の定数値の、k2が0.00~0.99の0.01刻みの表です(コピーして伸ばしたものです)。楕円テータ関数に興味のある方は作って眺めておくと良いと思います。

 sn(u)は三角関数のsin(u)に相当し、cn(u)はcos(u)に相当します。dn(u)に相当物はありませんが、双曲線関数のsech(u)の繰り返しになっているそうです。sech(u)は懸垂線のcosh(u)の逆数の関数です。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4110. ブックシェルフスピーカー

2023年06月29日 | 日記

 リビングの改装ついでにオーディオ機器の整理をしようということになり、30年も使っていた小型のアクティブスピーカを廃棄してスピーカーを新調することにしました。

 オーディオセットは従来のままです。アンプはマランツの入門用ですがしっかりしたもの。FMチューナーはマニアも納得のもの。CDプレーヤーはDVD再生との兼用機なので、それほど高級な音は出てこないようです。
 ちなみに、PS5が置いてある部屋は別の部屋で、こちらにも多少のオーディオセットが置いてあります。どちらもそれほど高価ではないものの、音の作り手の意図が伝わってくるほどの再生能力はあります。今はこうしたクラシックやジャズ鑑賞用の機器は渋い趣味になってしまっているようです。

 というのも、オーディオ入門用のスピーカーの選択肢が狭くて、多少落胆したのです。こちらはマニアじゃ無いからあまり聞いたことの無いメーカーには二の足を踏みます。なので結局、デノンかヤマハかソニーから選ぶこととなり、無難な感じがしたソニーの2本ペアで実売2万5千円のものを購入し、設置しました。

 棚の大きさからいわゆるトールボーイスピーカーは入りません。ブックシェルフタイプは本当にブックシェルフしていて、縦が30cmほどのものばかり。もう少し大きいのが欲しかったのですが、ものすごく高価になってしまいます。

 経済的とはいえ、しっかりした作りで、まずまず満足な音が出てきました。低音ではソファの表面が震えていましたから、しっかり出ています。もちろん、中音から高音は素敵な音が聞けます。これ以上望むとかなり贅沢になってしまいます。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4109. 美咲の誕生日

2023年06月28日 | 日記

 明日、6月29日はPS4の最新アイマスゲーム、スターリットシーズンに出てくる仮想事務員、青羽美咲(ミラオンライブ)の誕生日だそうです。この日はスマホのリズムゲーム、アイドルマスター・ミリオンライブ・シアターデイズの配信6周年の日でもあります。
 いつものようにスターリットシーズンのPV新着欄で精鋭Pがお祝いのPVを上げるはずです。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4108. 未来の誕生日

2023年06月27日 | 日記

 明日、6月28日はPS4の最新アイマスゲーム、スターリットシーズンに出てくる仮想アイドル、春日未来(ミリオンライブ)の誕生日だそうです。いつものようにスターリットシーズンのPV新着欄で有志Pがお祝いのPVを上げるはずです。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4107. 咲耶と、未来の中の人の誕生日

2023年06月26日 | 日記

 明日、6月27日はPS4の最新アイマスゲーム、スターリットシーズンに出てくる仮想アイドル、白瀬咲耶(シャイニーカラーズ)の誕生日だそうです。
 同日は同仮想アイドル、春日未来(ミリオンライブ)の声優、山崎はるかさんの誕生日だそうです。
 いつものようにスターリットシーズンのPV新着欄で有志・精鋭Pがお祝いのPVを上げるはずです。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4106. オブジェクト指向、続き

2023年06月26日 | 日記

 ロシア情勢は短期間にめまぐるしく経緯して、今は一旦落ち着いているようです。ひとまず混乱は回避できたようです。

 オブジェクト指向の前回の流行は私の記憶では構造化プログラミングが一旦落ち着いた頃に新しいネタとして登場したような気がします。LISP界隈でflavorsとCLOSが話題となって、CLOSは残っていますがどこまで使われていることやら。
 C++はC言語のオブジェクト指向への拡張計画で、今はC++の時代と考えて良いと思います。C言語自体の改良のきっかけにはなったようですから、結果オーライの結果と思います。

 C++の突っ込んだ話をしてもとりあえずはあまり役立たないと思えるので、すっ飛ばします。ネットに大量の情報が見つかるはずです。直接には役立たなくても、考え方やその実現方法はプログラミングの際の思考過程で必ず役立つと思います。ですから、勉強する値打ちはあります。
 現在の私の意見は、やや大風呂敷を広げたかな、の感じです。おそらくCommon LISPの成功を見て、他の言語も充実させようとの機運だったと思います。その中でもC++は成功の部類に入ります。

 現実にはかつてのパソコンBASICや昔のFORTRAN程度で技術系の計算は十分に可能でしょう。構造化プログラミングでさえも、考え方は良いとして妙に細部にこだわると碌なことにはならないと思います。これらにはコンパイラが何をしているのかの知識があれば対応できますが、最近はそれほど強調されていない気がします。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4105. オブジェクト指向

2023年06月24日 | 日記

 ロシアでクーデターが起こったとの情報があって、事態が急変しているらしく、とても私にはついて行けません。もう少し事態がはっきりしたら感想が書けると思います。とにかく、プーチン大統領が反乱が起こったことを認めていて、その反乱軍は南ロシアのウクライナ侵攻拠点から、まっすぐにモスクワを目指して北上しているとのことです。
 英米系のメディアは大きく報道しているようで、しかし表面上は日本を含む西側政府がちっとも慌てている感じは無いので想定の範囲内の動きなのだと思います。

 ネットにてオブジェクト指向が分からないとの意見が見られました。クラスとオブジェクトとインスタンスの違いが分からないのですと。私の理解では、

 オブジェクト = クラス(型の定義) + インスタンス(メモリ上の変数)

 です。オブジェクトはクラスとインスタンスの総称です。プログラム上はあらかじめクラスを定義しておき(記述のみ)、手順を書く段階でインスタンスを発生させ(メモリ確保)、普通の計算機言語風にif/thenなどで手順を記述して行きます。

 あらかじめ断っておくと、私はオブジェクト指向の嚆矢と言われるsmalltalkをほとんど知りません。現在流行しているとは言い難いので、資料は手に入りにくいと思います。
 主な言語がFORTRANとCOBOLの時代で、LISPはあって、LISPの一方言と見なされたこともあったはずで、当時も一風変わった言語でした。メタ記述が当然のように行われる言語と聞いています。つまり言語自体がプログラマによって刻々と変容して行く感じ。
 smalltalkには当時は珍しいウィンドウを使った開発系があって、それを含めてsmalltalkシステムの感じだったと思います。

 そう、当時はウィンドウシステムが実現したのはオブジェクト指向が発明されたからだとのもっぱらの評判でした。つまり、画面上のウインドウやボタンやテキストボックスがオブジェクトで、画面上に出現しているのはすべてボタンクラスなどのインスタンスで、それらにメッセージを送る(マウスクリックなど)ことで動作します。

 現在はウィンドウクラスなどは存在しますが、OSがあらかじめ提供している感じで、普通にC言語などでプログラミングできます。ウィンドウプログラムで書くのは、インスタンスの属性(大きさ、位置、形、色など)を指定して発生させることと、個々のインスタンスのメッセージ処理となります。

 計算機科学的にはオブジェクト指向は重要な位置づけがなされますが、実際には気にしなくても十分にプログラミングできます。ただ、上述の理由によって、用語にはある程度慣れていた方がその筋の文献を読む際に役立つと思います。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4104. リモートプレイ

2023年06月23日 | 日記

 昨日は移動日で東海道新幹線を利用しました。まずまずの乗車率だったと思います。
 旅先からPS4とPCで自宅にあるPS5のリモートプレイをやってみました。どちらもまずまず快適です。いずれにしてもPS4のコントローラが必要なので、発売が予定されている純正の携帯型のリモート端末が待ち遠しいです。

 リモート端末の方は単に接続するだけなのか、あるいは複数で接続して、つまり複数のコントローラとして使えるのかどうかが関心事です。後者については全く述べられていませんから、単に私の希望です。家庭で60型以上の大型テレビがそこそこに普及したら画面から離れますから、欲しくなる機能だと思います。

 それにしても、8Kテレビがなかなか普及しないようです。大型だし、まだまだ高価なためだと思います。たしか国策だったはずで、単にテレビだけの話では無く、利用環境やソース側への配慮が必要なのだと思います。光学・電子の技術的には十分にスタンバイしていると思います。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4103. 律子の誕生日

2023年06月22日 | 日記

 明日、6月23日はPS4の最新アイマスゲーム、スターリットシーズンに出てくる仮想アイドル、秋月律子(オリジナル765)の誕生日だそうです。いつものようにスターリットシーズンのPV新着欄で有志Pがお祝いのPVを上げるはずです。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4102. 果穂の中の人の誕生日

2023年06月21日 | 日記

 本日、6月21日はPSS4の最新アイマスゲーム、スターリットシーズンに出てくる仮想アイドル、小宮果穂(シャイニーカラーズ)の声優、河野ひよりさんの誕生日だそうです。いつものようにスターリットシーズンのPV新着欄で精鋭Pがお祝いのPVを上げています。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4101. テータ関数、続き^2

2023年06月20日 | 日記

 複素楕円関数を計算するためのテータ関数の母数(?)が極端な場合のグラフがとある解説書に載っていて、二重周期では無いもののしっかり周期関数であることが分かります。
 ディラックのδ(デルタ)関数みたいになっていて、フーリエ級数みたいな事態に陥っていることも分かります。こういったグラフ表現は、フィーリング理解を当てにしている私にはとてもありがたいです。

 ただし、このグラフは定義域が純実数で、値域も純実数です。ヤコビの楕円関数でよく見る波形のグラフも同様に実数域の話です。楕円関数の二重周期、というのは複素関数での話なので、眺める方向が違っていて、初心者には混乱の原因となりそうです。
 ともかく、ある程度は事態が分かってきたので、ワイエルシュトラスの楕円関数の話に出てくるζ(ゼータ)関数とσ(シグマ)関数をざっと見して基礎は切り上げたいと思います。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4100. 月曜日

2023年06月19日 | 日記

 本日は普通の勤務日。通勤沿線も普段と変わらずの感じでした。開発といわゆるスクラップアンドビルドが進んでいます。株価が上昇しているようですが、まだコロナ後の態勢は始動もしていない気がします。期待値で上がっているのかな。

 ウクライナ情勢はクリティカルな時期に入っているのか、無難な情報しか報道されていないようです。趨勢は西側各国政府の動向である程度推察可能と思います。
 数年前からの米中対立は続いていて、現在、米国の政府高官が北京を訪問中だそうです。つまり米国の積極介入が目立っています。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4099. テータ関数、続き

2023年06月18日 | 日記

 で、数学公式集に載っている、そのテータ関数の数式をノートに書き写して、と。次の手順は私の理解が正しいかどうかを表計算ソフトで確かめることです。具体的な数値の代表例は巻末の数表に出ているので、ここでチェックできます。その後にC言語でプログラミングです。
 今週もほどほどに忙しくなる予定なので、どこまでやれるかな、の感じです。

 高校や大学時代にここまで頭が回らなかったのは痛恨ですが、当時は当時で具体的なハードの方に興味がありましたから。アナログ回路もデジタル回路も。
 むしろ、今回の楕円関数に関しては応用分野がはっきりしないのが痛いです。現在の目標は綺麗な絵が出てきたらここで公開することです。それ以上の目的はまだ思いついていません。数学的には綺麗な結果なので、応用分野があっても驚きはしません。少なくともすぐ隣には球面調和関数とかベッセル関数とかの物理応用が出来る関数が控えています。

 ううむ、こんなこと書いていたら、ある程度この特殊関数(複素関数で加法定理のある一群の関数群)と呼ばれる分野を数値計算で極めないといけない気がしてきました。せっかくのチャンスですから。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4098. 週末に

2023年06月17日 | 日記

 本日は週末で土曜日で私は休みの日です。今週は割と充実していたためか、昨日夕はリズムゲームでミスしまくりで、やっぱり疲れているのだと。本日朝には回復していました。体調はおかげさまで良好です。
 なので趣味の方はほとんど進まず。いつもの買い物に行った家の近所のスーパーマーケットの催し物で売られていた、やや高級な楕円形で少し深い鍋を買いましたが、その話をしても仕方が無いし。

 約1ヶ月ぶりにPS4 (発売日に買ったオリジナル版)を動作させました。PS3ゲームのストリーミングの絵の綺麗なこと。元の絵はいわゆるハーフハイビジョンのはずなので、PS4側で補間しているのか、それともサーバー側の工夫なのか。
 なぜかネットでXBOXの話題がちらほら出ていて、何かあったのかな。XBOX360の頃はDOS/Vの時代と重なって、アナログテレビよりもPCのモニタの方がずっと綺麗な時代でした。だからPC系にビデオゲームを誘導しようとしたのだと思います。
 PS3はテレビのデジタル化の時代で、価格を抑えるためかテレビは主にハーフハイビジョンが店頭に並んでいました。PS4はフルハイビジョン対応で、今はテレビは比較的に小型でもフルハイビジョンで、40型以上の売れ筋は4Kが普通だと思います。
 PS5は発売当時はPCを少しだけ超えた部分があって、今はPC側が追いついていますが、再びゲーム機がアイデアを先行する時代のようです。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする