Q(koshix):最新の日本の様々な政治経済文化状況を幅広く分析し,石破総理の辞任確率を時間の関数として推定してグラフにして表現してください。期間は2025年9月から1年間でお願いします。この間に様々な政治・外交イベント等も予定されているはずなのでそれらも考慮してください。A(ChatGPT-5,2m57s):(回答略,1年後の累積辞任確率は約60%)Q(koshix):情報源が英語なので,日本のメディアの政治担当の生々しい声があまり反映されていないような印象を受けました。石破がやめることにメリットを感じている旧安倍派や麻生派や茂木グループの動向,衆議院議員と参議院議員の違い,参政党,国民民主党,日本維新の会,立憲民主党などと自民党の各グループの関係,石破政権首脳陣が退任した場合の人事の可能性などの情報も含めて,再度考慮してみてください。結果は先ほどと同様にグラフのcsvでいただければありがたいです。A(ChatGPT-5 Thinking,3m44s):(図を与えるpythonコード,略)まず前提と考え方を共有します。今日は2025年9月3日(日本時間)です。直近の事実として、7月20日の参院選で自公が過半数を失い、党四役(森山幹事長、鈴木総務会長、小野寺政調会長、木原選対委員長)が相次いで辞意を表明。麻生派は総裁選の前倒し要求を正式に打ち出し、茂木グループ(旧茂木派)も公然と退陣論を展開。石破首相は当面続投の意向を明確にしています。これらの日本メディアの政局報道を核に、衆参の制度差・与野党関係・派閥力学を織り込み、月次ハザード(当該月の辞任条件付き確率)を設定し、累積辞任確率を算出しました。1.いま起きていること(日本メディア中心)(1) 党四役の「ドミノ辞意」。森山幹事長は「進退は首相に一任」と表明。石破首相は「しかるべき時期に判断」と続投姿勢。(2) 麻生派:研修会で麻生太郎氏が総裁選の前倒し要求を明言。派内結束を背景に“石破おろし”を押し上げる材料。(3) 旧安倍派の再起模索と“石破おろし”の駆け引き:解散報告会後も党内で影響力を残し、前倒し論の中核の一角。(4) 茂木グループ:茂木敏充氏が退陣を公然要求。「ポスト石破」名乗りの先頭格の一人。(5) 与野党の“実利”関係:・2025年度予算は「自公+維新」で修正・年度内成立(現憲法下で初の参院修正→衆院同意)。維新は高校無償化等で実利を獲得。一方で、恒常的な連立には後ろ向き。・企業・団体献金を巡っては自公国で「5万円超公開」などの合意形成が進み、国民民主は個別案件での接近余地を残すが、連立入りは否定的なトーンが続く。・立憲民主は主導的野党として対決色を強め、労組側(連合)も自民との大連立を牽制。・参政党は参院で存在感を拡大し与党に圧力(政策争点が右派色に寄る)を与えるが、与党安定化のパートナーではない。(6) 衆参の制度差:不信任は衆院のみ(可決で総辞職か解散)。参院は問責の政治的圧力が強く、会期末戦術の焦点。衆院の優越・予算先議など制度要因が政局ハザードの山を作る。2.「いつ危ないか」の山(イベント × 力学)・9月:四役辞意、麻生派の前倒し要求、8日前後の意思確認などでハザード急騰。・10–11月:APEC釜山(10/31〜)・G20南ア(11/22–23)。外交大型日程は“凍結圧力”が働きがちだが、前倒し総裁選が走れば10月も高止まり。・1–3月:通常国会の予算審議(とくに2–3月の山場)。少数与党ゆえに審議停滞・スキャンダル・問責/不信任の仕掛けが集中しやすく、最大の崖。3.ハザードモデル(2025年9月〜2026年8月)・月次ハザード(当該月に辞任する条件付き確率)を設定し、累積辞任確率を算出。ロジックは上記イベント群+衆参制度差+党内派閥インセンティブ(旧安倍派・麻生派・茂木グループ)と、維新・国民民主との“案件ベース協力”の持続可能性で重み付け。・巨視的整合性:参院選敗北後の“石破おろし”が強い9–10月、会期と予算政治で2–3月を第二の山、外交大型日程の11月と年末の12月はやや低めに設定。・CSVとグラフを作成しました:(略,下図参照)4.主要ドライバー(日本の「政治部の肌感」を反映)・旧安倍派:解散後も復権を模索。裏金問題の“けじめ”を石破側に迫る力学。石破続投よりも“保守再結集”の絵を描ける後継(高市・茂木・小泉ら)を歓迎しやすい。・麻生派:首長経験者を含む選挙巧者の塊。次の衆院選で「勝てる顔」を求め、前倒し総裁選での主導権狙い。・茂木グループ:茂木氏が公然と退陣要求。“政高党低”の修正や経済再建で「自分がやる」構図を作る動機が強い。・衆議院 vs 参議院:衆は不信任→(解散or総辞職)という“実弾”があり、衆院議員は次の解散に敏感。参は問責の政治的効果で「国会出席止め」など実務を止めやすく、会期末の圧力手段。・維新・国民:→維新は予算で与党と合意形成も、連立は回避の構え。是々非々の“スイッチ”が政局の天秤。→国民は政治資金透明化などで与党側と合意形成の実績あり。ただし連立は労組(連合)サイドも含め慎重。・参政党:右派色の強い争点設定で保守票を分散させ、与党の議会戦術を難化させる“外圧”。5.人事の見取り図(四役退任時の観測)・幹事長後任の軸:解散・選挙を読む選挙管理能力、派閥横断の調整力、カネと人事の“火消し”。“旧安倍派ど真ん中”は世論的逆風を受けやすく、(1)非スキャンダル系実務家、(2)衆院の当選回数重ねた重鎮、(3)参院は党運営の要職で配し衆院優先が基本線。・「ポスト石破」:党内世論・世論調査で名前が挙がるのは高市早苗、小泉進次郎、茂木敏充ら(順不同)。路線は対中・防衛・成長戦略で差があり、誰が四役を握るかで政権色がガラリと変わる。※ここは各社観測記事の範疇であり、確定情報ではありません。6.感度分析(こう動けば確率はこう変える)・総裁選の前倒しが正式決定 → 10月の月次ハザードを+0.05程度上方修正。・維新が2026年度予算で“反対”に転じる/是々非々が崩れる → 2–3月のハザードを+0.05程度上方修正。・国民民主が恒常的協力を明確化 → 1–3月のハザードを−0.03程度下方修正。・参院で問責→実務停滞が深刻化 → 2–3月のハザードを+0.03上振れ。必要なら、週次分解や「イベント日ベース」の滑らかなハザード(例:9/8、10/31、11/22、1/召集日、2–3月予算ピークなど)に拡張してCSVを再出力します。日本メディアの“政治部の肌感”をより強く反映した追加補正も可能です(例えば、特定選挙区の補選や知事選の潮目を入れる等)。
芥川龍之介が「蜘蛛の糸」を発表して百年。高二の秋の文化祭,クラスの仮装行列のテーマが 蜘蛛の糸だった。お釈迦様の極楽タワーの竹を近所から切り出し,地獄の焔と煙の絵を描いた。犍陀多に続いて蜘蛛の糸(登山部の赤いザイル)に群がる地獄の亡者だったころ。
2025年9月6日土曜日
辞任確率
2025年7月23日水曜日
Jupyterつまづく
A(ChatGPT o3):
(前後略)Safari 18 以降(macOS Sonoma/iOS 18 ベータなど)には 「HTTP はブロックして常に HTTPS だけ許可」 という新機能があります。これが有効になっていると、たとえ localhost(127.0.0.1)でも http://… へのアクセスは遮断され、画像のようなエラーNavigation failed because the request was for an HTTP URL with HTTPS‑Only enabled (WebKitErrorDomain: 305)が表示されます。ローカル開発サーバや Jupyter Lab は既定で HTTP を使うため、Safari が弾いてしまうわけです。
Step 1 : Jupyter Lab を HTTP で起動ターミナルを開くつぎのコマンドを実行# 証明書オプションを付けずに純粋な HTTP で起動jupyter lab --port 8889 --ip 127.0.0.1 --no-browser起動ログにhttp://127.0.0.1:8889/lab?token=dfbc5bbd50a3b13f317435a1bfa1245684e3f0afd315ba96が表示されれば サーバは準備完了(緑色の [I ... ServerApp] 行が目印)。
2024年7月11日木曜日
サイコロの雌雄
Q(koshix):立方体のサイコロの展開図を描画するpythonプログラムを下さい。展開図は6つの正方形の面が接して並ぶものです。各面には1〜6の数が適当は大きさの小丸(ドット)で表現されます。展開図を組み立てたときに向かいあう面の数の和が7になるように配置されます。1の面の小丸は少し大きい赤色ですが,他の面の2-6の小丸は黒です。
A(Claude 3.5 Sonnet):→SVGファイルが生成されて保存されるはずが失敗→画面にも表示されないので,pngファイルに変更→画面に出力された(OK)ので,雌雄を判定させる。Q(koshix):以下の定義からこのサイコロの展開図の雌雄を判定してください。サイコロの目の割り振りは、ほぼ「天一地六東五西二南三北四」(雌サイコロ)と決まっている。これは、日本だけの特徴ではなく、世界的な共通点である。ただし、「南三」でなく「北三」になっているサイコロもあり、「南三」を雌サイコロ、「北三」を雄サイコロと呼ぶこともある(異性)。サイコロの雌雄の見分け方は、1・2・3の面が集まる頂点を正面に置き、1→2→3の順に見たときに時計回りになるのが雄サイコロ、反時計回りになるのが雌サイコロである。→ただしく雌であると判定できた,エライ→雌雄の両方の展開図を上下に出力させる→日本語ラベルが文字化けしているので修正させる→なかなか修正できず何度も失敗する→こちらから日本語設定のサンプルコードを与える→できた!日本語ラベルと展開図が重なっているので右シフトを依頼→Claude 3.5 Sonnetの無料制限オーバーで停止,PROへの移行を勧められるChatGPT-4oに移動Q(koshix):サイコロの雌雄の展開図を表示する以下のpythonプログラムで,日本語ラベルと展開図が少し重なっているので,展開図を少し右に動かしてください。Q(koshix):今度は,展開図の右側が画面からはみ出して欠けてしまいました。なんとかなりませんか。Q(koshix):雄サイコロの方は向かいあう目の数の和が7になっていないところがあります。4の目と5の目を入れ替えてください。Q(koshix):いや、そうではなくて,1,2,3の配置は元のままでよかったのです。それらと6はそのままで,4の目と5の目だけを入れ替えてという意味です。Q(koshix):雄のサイコロの2の目と3の目も入れ替わりましたよ。そこは元のままなのです。Q(koshix):雄サイコロはまだ直っていませんよ
2024年5月21日火曜日
散歩地図
Q(koshix):天理市の地図のうえで,自宅を中心として半径が500mの倍数となる円を1倍から6倍まで描画したいのです。なるべく簡単で具体的な手順や方法あるいはプログラムを一つ教えてください。言語は,JuliaでもMathematicaでもPythonでもRでも構いませんA(GPT-4o):Pythonを使用して天理市の地図上に自宅を中心として半径が500mの倍数となる円を描画する方法を示します。この手順では、以下のライブラリを使用します。・folium: インタラクティブな地図の作成・geopy: 緯度経度の計算以下の手順に従ってください。1.必要なライブラリをインストールします。(sh)pip install folium geopy2.次に、Pythonスクリプトを作成します。以下のコードをコピーして実行してください。(python)import foliumfrom geopy.distance import geodesic# 自宅の緯度と経度を設定(天理市の例として)home_location = (34.596047, 135.819249)# フォリウムマップの作成m = folium.Map(location=home_location, zoom_start=15)# 半径500mの倍数となる円を1倍から6倍まで描画for i in range(1, 7):radius = 500 * ifolium.Circle(location=home_location,radius=radius,color='blue',fill=True,fill_opacity=0.1).add_to(m)# 自宅のマーカーを追加folium.Marker(location=home_location, popup="Home").add_to(m)# 地図を保存m.save('tenri_map.html')このコードは、以下の手順で動作します。1.home_locationに自宅の緯度と経度を設定します。この例では天理市の中心付近の座標を使用していますが、実際の自宅の座標に置き換えてください。2.folium.Mapを使用して地図を作成し、初期の表示位置とズームレベルを設定します。3.半径500mの倍数となる円を1倍から6倍まで描画します。folium.Circleを使用して円を描画し、radius引数で半径をメートル単位で指定します。4.自宅の位置にマーカーを追加します。5.作成した地図をHTMLファイルとして保存します。保存されたtenri_map.htmlファイルをブラウザで開くと、自宅を中心とした円が描かれた地図が表示されます。
2023年12月22日金曜日
astropy
jupyter kernelspec listpython3 /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexec/lib/python3.12/site-packages/ipykernel/resourcesjulia-1.9 /Users/koshi/Library/Jupyter/kernels/julia-1.9maxima /Users/koshi/Library/Jupyter/kernels/maximawolframlanguage12 /Users/koshi/Library/Jupyter/kernels/wolframlanguage12
cd /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexec/bin
./pip install astropy
./pip install ephem
import astropy as ap>>> ap.test()platform darwin -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0Running tests with Astropy version 6.0.0.Running tests in lib/python3.12/site-packages/astropy.Date: 2023-12-19T22:26:53Platform: macOS-14.2-arm64-arm-64bitExecutable: /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexec/bin/pythonFull Python Version:3.12.1 (main, Dec 7 2023, 20:45:44) [Clang 15.0.0 (clang-1500.0.40.1)]encodings: sys: utf-8, locale: UTF-8, filesystem: utf-8byteorder: littlefloat info: dig: 15, mant_dig: 15Package versions:Numpy: 1.26.2Scipy: 1.11.4Matplotlib: 3.8.2h5py: not availablePandas: not availablePyERFA: 2.0.1.1Cython: not availableScikit-image: not availableasdf-astropy: not availableUsing Astropy options: remote_data: none.rootdir: /opt/homebrew/Cellar/jupyterlab/4.0.9_2/libexecplugins: astropy-0.11.0, remotedata-0.4.1, hypothesis-6.92.1, cov-4.1.0, filter-subpackage-0.1.2, astropy-header-0.2.2, anyio-4.1.0, mock-3.12.0, doctestplus-1.1.0, arraydiff-0.6.1collected 28085 items / 5 skipped-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html========== 27425 passed, 425 skipped, 240 xfailed, 80 warnings in 184.56s (0:03:04) ===========<ExitCode.OK: 0>
2023年5月23日火曜日
JuliaのPyCallとSymPy
Q:UserJuliaで,PyCallとSymPy がうまく動きません。例えば,(中略)Error building `PyCall`:どうしたらいいでしょう。A:ChatGPT問題は、おそらく libpython が見つからないために発生しているようです。以下の手順で問題を解決してみてください。Julia REPLを終了して、再度起動してください。次に、次のコマンドを実行して、PyCallを再構築し、環境変数を設定してください。juliaCopy codeENV["PYTHON"] = "/Users/koshi/.julia/conda/3/bin/python"import PkgPkg.build("PyCall")もしまだ問題が解決しない場合、次の手順を試してください。(中略)もしまだ問題が解決しない場合、PYCALL_DEBUG_BUILD 環境変数を設定して、デバッグ情報を取得してみてください。(中略)これで、エラーが発生している理由に関する追加情報が得られるはずです。その情報を使用して、問題を特定し、解決策を見つけることができます。SymPyの問題が解決しない場合、まずPyCallが正常に機能していることを確認してください。その後、SymPyの再構築を試みてください。これらの手順のいずれかが、PyCallとSymPyの問題を解決するはずです。それでも問題が解決しない場合は、エラーメッセージとともに質問してください。
で最初のPYTHON環境変数を /opt/homebrew/bin/python3.11 に置き換えて(だったかな?) なんとかクリアすることができた。
2023年5月22日月曜日
Maxima-Jupyter
% brew install sbcl gpg zmq gnuplot% brew edit maxima% brew install maxima -s[quicklispをインストール(sbcl起動時の自動読み込みまで設定)]quicklisp.lispをダウンロード。% curl -O https://beta.quicklisp.org/quicklisp.lisp% curl -O https://beta.quicklisp.org/quicklisp.lisp.asc% gpg --verify quicklisp.lisp.asc quicklisp.lisp% sbcl* (load "quicklisp.lisp")* (quicklisp-quickstart:install)* (ql:system-apropos "vecto")* (ql:quickload "vecto")* (ql:add-to-init-file)* (quit)[maxima-jupyterをインストール]そのgithubレポジトリをクローンし展開したディレクトリに移動% cd ~/Library% git clone https://github.com/robert-dodier/maxima-jupyter.git% cd maxima-jupyter% export C_INCLUDE_PATH="/opt/homebrew/include/"% maxima(%i1) load("load-maxima-jupyter.lisp");(%i2) jupyter_install();(%i3) quit();[jupyterを起動]% jupyter lab
これで,Maxima-Jupyterは動いたが,Jupyter labのところで引っかかったわけだ。
2023年3月4日土曜日
UNIX時間(5)
2023年2月23日木曜日
wolframscript
#!/usr/local/bin/wolframscript
(* ::Package:: *)
n=ToExpression[$ScriptCommandLine[[2]]]
Print[RandomInteger[{1,6},n^2]]
2023年1月17日火曜日
Pythonのタートルグラフィックス
#!/opt/homebrew/bin/python3
# usage ./kame.py m n
import turtle
import sys
m = float(sys.argv[1])
n = float(sys.argv[2])
r = 0
g = 0
b = 0
turtle.colormode(255)
turtle.begin_fill()
for i in range(255):
r = (r+3) % 25
g = (g+5) % 255
b = (b+7) % 255
turtle.pencolor(r,g,b)
turtle.forward(200)
turtle.left(360/m*n)
turtle.end_fill()
turtle.done()
2022年3月20日日曜日
マークダウン(2)
マークダウン(1)からの続き
markdownを使うためのエディタとして何がいいのかを調べてみた。【2022年版】Markdown(マークダウン)エディタ厳選まとめなど色々ある。
一つは,Visual Code Studio や Atom などの高機能プログラム開発用ソースコードエディタである。元々日常的に使っているのであればこれで良いのだけれど,このためだけに大掛かりな道具立てを持ってくるのは,ちょっと本末転倒な感じがして,markdown の簡素さと相容れない。
そうなると,ウェブアプリとかローカルアプリになる。Boostnote,Joplin,Bear,Quiverなどを眺めてみたけれど,どれも面倒な印象だ。その中では,有償ではあるが Typoraがデザインもすっきりしていて相対的にマシなように感じた。$14.99なのでそれほど高額ではない。とりあえず,3週間は無料でお試しできるので導入してみた。
一通りのことはできるが,inlineの数式ができない。調べてみると,環境設定に1つチェックをすればOKなので,これでほぼ目的は達成できそうだ。使い込んではいないので,もう少し様子を見ることに。
そうこうしていたら,なんのことはない,Jupyter notebookに Code モードとMarkdown モードがあることがわかった。モードを切り替えてみれば,簡単な数式入力は問題なかった。これでいいのだ。最も,その先のことや pdf 出力のことを考えると,Typoraの方が良いかもしれない。
2021年12月1日水曜日
Julia 1.7.0
11月30日にJulia 1.7.0がリリースされた。普段は,しばらく様子を見てからインストールするのだけれど,macOS Apple Siliconにネイティブ対応したようなので,早速試してみる。
メジャーバージョンアップの際には,いつも困ってしまうのだが,今回もすんなりとはいかなかった。とりあえず手順を書いてみるが,何度もやり直しているので,ヒステリシスがあるかもしれない。
(1) julia 1.7.0 packege ダウンロード&インストール(2) .zshrcのパス変更 % cat .zshrc
export PATH=/Applications/Julia-1.7.app/Contents/Resources/julia/bin
(3) ln -s /Applications/Julia-1.7.app/Contents/Resources/julia/bin/julia julia
(4) julia -> using Pkg -> Pkg.add(“IJulia”) -> Pkg.build(“IJulia”)
(5) brew install jupyter
(6) jupyter kernetspec list -> jupyter kernetspec uninstall julia1.6.0
(7) jupyter notebook -> OK
(8) pip3 uninstall jupyterlab -> pip3 install jupyterlab
(9) jupyter lab build -> OK
2021年5月22日土曜日
ラベル付き散布図
Rをjupyterでからの続き
ラベル付き散布図と格闘している。
(1) Excel が一番簡単そうで,調べるとすぐに事例が見つかった。しかし,これはWindows版の場合であり,残念ながらMac版(Microsoft Office 2019 Home & Student)にはその機能がなかった。
(2) Rは統計グラフがお手の物のはずなので多分あるだろう。そこでRをjupyter上に持ってきた。これも簡単に事例が見つかった。見本通りにやってみると,
#今回使うライブラリlibrary(maptools)#データの準備CC <- c("CAN","DNK","FIN","FRA","DEU","ITA","JPN","KOR","NLD","POL","SWE","GBR","USA")PAR <- c(13.7,15.7,16.6,16.6,20.2,20.1,22.1,10.3,14.9,13.5,17.6,15.6,12.8)SE <- c(3.8,7.4,8.6,11.5,8.5,12.2,9.3,1.9,5.4,8.9,9.4,6.2,5.5)sample <- data.frame(PAR, SE)rownames(sample) <- CC
Note: when rgeos is not available, polygon geometry computations in maptools
depend on gpclib, which has a restricted licence. It is disabled by default;
to enable gpclib, type gpclibPermit()
par(family= "HiraKakuProN-W3")plot(sample$PAR, sample$SE, xlab="65歳以上人口比率(%)", ylab="対GDP比高齢者向け社会支出(%)")pointLabel(x=sample$PAR, y=sample$SE, labels=rownames(sample))
2021年5月21日金曜日
Rをjupyterで
ラベル付き散布図を描きたいのだ。なかなかうまく探しきれず,Rが一番手っ取り早そうなので,Rをjupyterから使えるようにすることを試みた。
とりあえず,brewでRをインストールすると最新のarm版だった。
brew install R
R —version
R version 4.1.0 (2021-05-18)
>install.package(“devtools”) … CRAN ダウンロードは Japan/Tokyo 47 から
>1: install.packages("devtools") で:
> installation of package ‘gert’ had non-zero exit status
>2: install.packages("devtools") で:
> installation of package ‘usethis’ had non-zero exit status
>3: install.packages("devtools") で:
> installation of package ‘devtools’ had non-zero exit status
>> Configuration failed to find libgit2 library. Try installing:
> * brew: libgit2 (MacOS)
そこで,brewでlibgit2をインストールしてから再挑戦する。
brew install libgit2これでうまくいった。
R
> install.packages("devtools")
> devtools::install_github("IRkernel/IRkernel")
> IRkernel::installspec()
jupyter lab … これで OK!
2021年5月18日火曜日
MacBook Air M1(4)
MacBook Air M1(3)からの続き
4月18日にMacBook Air M1 がやってきてからちょうど1ヶ月になる。このところCPU負荷がつねに30-40%を越えて,CPU温度が70-80℃となっていた。Apple シリコンのM1チップを搭載したMacは発熱が少ないのが特徴だったはずなのになぜだ。すべてのアプリを終了させてスリープした状態で一晩寝かせ,朝を迎えてもパームレスト部分が暖かいのである。
さすがにおかしいと思って,アクティビティモニタで調べてみると,なんとアンチウィルスのSophosが非常に大きなCPUタイム消費の原因だった。さっそくこれを取り除いた。ウィルス対策は,ClearnMyMacのアンチウィルス機能に頼ることにする。おかげで,CPU負荷は5%,温度は35℃前後まで下がった。やれやれ。
なお,MacBook Air M1(2)で書いていた「jupyterlabが動かない問題」はしばらく前に以下のようにして解決した。これで残ったのは pythonの機械学習ライブラリ scikit-learn が動かないことくらいである。
/opt/homebrew/opt/python@3.9/bin/python3.9 -m pip install --upgrade pip
pip3 install jupyterlab
jupyter lab -> error
jupyter lab build -> error
brew install node.jsjupyter lab buildjupyter lab
2021年4月24日土曜日
MacBook Air M1(3)
MacBook Air M1(2)からの続き
前回,Processingが動かないと言ったが,正しいJDKが入っていなかったからなのかもしれない。arm対応のJDKが,AZULから入手できた。OpenJDK Runtime Environment Zulu16.28+11-CA (build 16+36) ということで,Processing 4.0α3をインストールしたところ無事に動作した。
その他は次のとおり
(1) Wolfram Engine 12の導入ができた。これをjupyterで実行したところ,無事にMathematicaが動作したが,バージョンが12.2かどうかはわからなかった。これが起動している状態では,カーネルの動作数が制限を越えたということで,元々インストールしていた Mathematica 12.0は動かなかった。
(2) iPad Proを sidecar で繋ぐことができた。ミラーリングでも別ディスプレイでも動くことは動くのだけれど,なぜか想像していた動作とは違うのと,本体の解像度が勝手に変わったりして微妙に使いにくい。macOSX用の GoodNotes 5 があるので,なんとかタブレット代わりには使えるとは思うが,AirDrop が優秀なのでつながなくても十分に使えてしまう。
(3) Time Capsuleのタイムマシンが動いた。無線でつながっている上に,2TBのハードディスクが遅いので,フルバックアップに10時間ほどかかるがそれでも一応の安心感は得られる。
(4) Apple USB スーバードライブがつながった。ドライブが空の状態ではデスクトップにアイコンが表示できないのでどうかと思ったが,ディスクを入れると無事に認識してアイコンが表示された。
(5) iPhone SE2 のバックアップができた。このためMacBook Air M1の1TBストレージの使用量は330GB,残量は700GBを切った。
(6) 環境設定のキーボードで指定した後も,標準の日本語入力で\と¥の入れ替えがうまくいかないような気がしたが,今日は正しく動作している。なんだったのか?
2020年11月17日火曜日
Mathics
Mahtematicaについてからの続き
Mathematicaを使い始めて30年くらいになるが,アカデミック価格の年間契約からはずれたため,2019年の12.0.0.0でバージョンアップが止まってしまった。最新のMathematicaは12.1だと思われる。Mathematicaは家庭・趣味用デスクトップライセンスでも45,000円なので今となってはかなり高額である。学生用ライセンスこそ21,000円だけれど,大学だとその10倍の210,000円,普通の企業だと,469,000円もするわけで相当厳しいのであった。
で,普通はMathematicaの代替はないかと考えてSegeMathだとかいうことになる。いっときこれをインストールしていたのだけれどかなりサイズが大きいので,SSD領域確保のために消去してしまった。Mathematicaのほうが慣れている分使いやすいことでもあるし。M1マシンとBigSurに移行したらどうなるかはわからない。Jupyter上のJuliaが登場したことによって,かなりの部分はこれで代替できるのだけれど,それでもMathematicaの方がコーディングの負荷が少ない。
さて,そんな中で今日発見したのが,フリーのMathematica文法互換ソフトウェアのMathicsである。円周率は4000桁くらいまでしか計算できなかったので,あくまでも教育用という位置づけになるかもしれない。それでもちょっと安心でWolframAlphaよりはましかもしれない。
インストールは簡単で,(1) pip3 install Mathics3, (2) brew install sqlite (macOSの場合),(3) \$ mathics でコマンドライン版起動,(4) \$ mathics server でGUI版起動 (localhost:8000) であった。List of computer algebra systems にはリストアップされていないのだけれどどうしてかな?
Mathics 1.1.0 on CPython 3.8.6 (default, Oct 27 2020, 08:57:44) using SymPy 1.6.2, mpmath 1.1.0
Copyright (C) 2011-2020 The Mathics Team.
This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute itunder certain conditions. See the documentation for the full license.
Quit by pressing CONTROL-D
2019年6月3日月曜日
ウルフラムとペレス
ということでさっそくYouTubeに尋ねてみると,いきなりIPythonやJupyterの開発者のフェルナンド・ペレスの2017年のJupyterConの講演にぶちあたった。はい,正解はジュピターでした。Project Jupyterにもちゃんと Jupyter=/ˈdʒuːpɪtər/ と書いてある。
ところで,そのペレスは,Pythonの対話型環境であるIPythonを,Wolfram Notebookにインスパイアーされて開発したとある。つまり,ノートブック型インターフェースの始まりは,スティーブン・ウルフラムによるMathematicaであった。その後,IPythonからスピンオフしたプロジェクトがJupyterを創り出す。Jupyterの意義は単に特定の言語の対話型環境をつくることではなく,「Project Jupyterは,オープンソースソフトウェア,オープンスタンダード,そして何十ものプログラミング言語にわたるインタラクティブコンピューティングのためのサービスを開発するために存在します」であった。Jupyter+Julia+α連合軍をみて,Wolfram言語も開放政策に舵をきったのではないか。
スティーブン・ウルフラム(1959-)はイギリス生まれで,17歳でオックスフォードに入学し,ゲルマンに誘われて18歳でカリフォルニア工科大学に入り,1979年に20歳でPh. D.をとる。専門分野は素粒子物理学の理論であったが,1981年にはMathematicaの前身のSMP(Symbolic Manupilation Program)を商業化し,複雑系の物理学の研究(Celuller Automata)を進めた。
一方,フェルナンド・ペレスはコロンビア生まれで,コロンビアのアンティオキア大学で物理学を学び,コロラド大学で素粒子物理学(格子QCD理論)のPh. Dをとる。それ以前には,フラクタル,半古典カオスなども研究しているようだ。2008年にはカリフォルニア大学バークレー校に移り,ソフトウェア開発に主軸を置くことになる。
なんだかよく似たところがある2人である。
2019年5月26日日曜日
Wolfram Engine
各プラットフォーム用に3GB程度のアプリケーションをダウンロードし,Wolfram IDを取得すれば使用ライセンスが得られる。Mathematicaをコマンドラインから利用できるだけでなく,jupyter notebookから使える。これらのノートブック・インターフェースも元々は,Mathematica Notebook に習ったものではないかと思う。
さて,twitterで教えてもらったjupyterを使えるようにする手順は次の通り。まずWolfram Engineをインストール,ライセンスを取得しコマンドラインで起動することを確認する。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
git clone github.com/WolframResearch/WolframLanguageForJupyter.git
cd WolframLanguageForJupyter
./configure-jupyter.wls add
jupyter notebook
または
jupyter lab
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
黒木さんの「Free Wolfram EngineをJupyterで使う方法」が例題紹介も含めて詳しい。
2019年5月9日木曜日
スリンキーの自由落下(1)
質量$m_1$の粒子1と質量$m_2$の粒子2が,自然長 $L$,バネ定数 $k$ の軽いバネの両端に取り付けられている。粒子1を原点に置いて支えながら,鉛直下方に静かにバネを垂らすと粒子2は $x=L+m_2 g /k $の位置で静止する。時刻 $t=0$ で粒子1の支えを静かに取り去ると,2つの粒子は重力とバネの弾性力によって運動を開始する。
運動方程式と初期条件は,
\begin{equation}
\begin{aligned}
m_1 \ddot{x} _1 &= m_1 g + k (x_2 - x_1 - L)\\
m_2 \ddot{x} _2 &= m_2 g - k (x_2 - x_1 - L)\\
x_1(0) &= 0, \quad \dot{x}_1(0)=0\\
x_2(0) &= L+\frac{m_2 g}{k}, \quad \dot{x}_2(0)=0
\end{aligned}
\end{equation}
ここで,重心座標 $x_G=(m_1 x_1 + m_2 x_2 )/M$ と相対座標 $x=x_2-x_1$ を導入する。ただし,全質量を $M=m_1+m_2$ ,換算質量を $\mu = m_1 m_2 /M $ とする。
運動方程式と初期条件は,
\begin{equation}
\begin{aligned}
M \ddot{x}_G &= M g \\
\mu \ddot{x} &= - k (x - L)\\
x_G(0) &= \frac{m_2}{M} (L+\frac{m_2 g}{k}), \quad \dot{x}_G(0)=0\\
x(0) &= L+\frac{m_2 g}{k}, \quad \dot{x}(0)=0
\end{aligned}
\end{equation}これを解くと,$\omega = \sqrt{k/\mu}$として,
\begin{equation}
\begin{aligned}
x_G(t) &= g t^2 /2 + \frac{m_2}{M} (L+\frac{m_2 g}{k})\\
x(t) &= L+ \frac{m_2 g}{k} \cos \omega t\\
x_1(t) &= g t^2/2 + \frac{m_2 g}{k}(\frac{m_2}{M} - \frac{m_2}{M} \cos \omega t)\\
x_2(t) &= L+ g t^2/2 + \frac{m_2 g}{k}( \frac{m_2}{M} + \frac{m_1}{M} \cos \omega t)
\end{aligned}
\end{equation}
これをMathematicaでグラフ化すると,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
x1[t_] := g/2 t^2 + m2 g/k
(m2/(m1+m2) - m2/(m1+m2) Cos[Sqrt[(m1+m2)k/(m1*m2)]t])
x2[t_] := L + g/2 t^2 + m2 g/ k
(m2/(m1+m2) + m1/(m1+m2) Cos[Sqrt[(m1+m2)k/(m1*m2)]t])
k = 5; m1 = 1; m2 = 1; g = 10; L = 1;
Plot[{-x1[t], -x2[t], -x2[t] + L}, {t, 0, Pi/4}]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

[1]積分定数:ばねの落下(togetterまとめ)https://togetter.com/li/1345873
[2]前野昌広:コイルバネの落下 https://twitter.com/irobutsu/status/1125581991645081600
[3]田口善弘:ばねの落下 https://qiita.com/Yh_Taguchi/items/e0d82f28447a8d5a2726
[4]W. G. Unluh:(堀田さん紹介)The Falling Slinky https://arxiv.org/abs/1110.4368
[5]田崎晴明:ばねでつながれた粒子の運動 http://www.gakushuin.ac.jp/~881791/mathbook/pdf/slinky20190509.pdf
[6]黒木玄:落下するバネ https://nbviewer.jupyter.org/gist/genkuroki/e317b4b2dd5c19e6b228b75f420aa699
スリンキーの自由落下(2)に続く