電設設定
MacOS Mojaveのダークモード用に合わせた Mathemticaの Stylesheet
少し遅くなるかと心配したのが、むしろキビキビ動いてる(ような気もする)
ダークモード試してみたら、シックでクールでいい感じです。画面キャプチャーの Grab なんかも使い勝手が良くなってましたし、いろんなアプリがすでにダークモード対応になってて感心しました。 UlyssesやTeXShopといった我が常用ツールもほとんど対応!
ところがこれも乗用ソフトの Mathematica が未対応で、真っ白なシートは少し違和感。ネットを調べたら、いい感じのスタイルシートを作ったドミトリ・マリエンコ氏という方を見つけたので、採用することに。ちょっと古い記事で、ターゲットもLinuxだったようで、少々改造が必要でしたが、なんかそれらしいもの作ったんで公開します。
次のファイル
init.m
を~/Library/Mathematica/Kernel/ に、そして次の三つのファイル
Dimad.nb pastelDarkSolarized.nb pastelSolarized.nb
を~/Library/Mathematica/SystemFiles/FrontEnd/StyleSheets/ にいれて、Mathematicaを立ち上げます。そんで
(Menu) Format->StyleSheet->Dimad
を選んでみてください。
Wolfram が正式に対応するまで、これでまあやっていけそうですよね。
KUT-Kochi Station connection time table
The price for Kochi-TosaYamada is 680Yen (JR Tokkyu:express)
The price for TosaYamada-KokadaiNishiguchi is 240Yen (JR bus)
Windows10でキーボードのctrl <-> caps入れ替え
で、このちょっとパワー不足感なきにしもあらずの新Macbook、OSが少しでも軽い方が助かるので、軽いと噂のEl Capitanでるまでは、Windows10側をもの書きに本格的に使おうと考えた。するとやはりマックの日本語キーボードのCtrlとの位置が変で、これではやってられない。昔はいつもUSキーボードの特注やってたが、もう最近はそれもうっとうしいので、研究室ではアスキーキーボードのままのを入れるのが通例になった。Windows側でも左端下のcapsの位置にCtrlを入れたい、何とかならんのか、と検索したら、超プロなハッキングのページが出てきた。(レジストリ直接いじるので、一歩間違うと最悪システム不起動もあり得るので、よほど注意して自己責任で...)
タトラエディット氏の「深厚のWindows使いこなしテクニック ― 第4回 」タイトルはずばり
CtrlとCapsを入れ替え! Windowsのキー配列をカスタマイズ
http://ascii.jp/elem/000/000/927/927191/
* regedit走らせる
* 「HKEY_LOCAL_MACHINE」-「SYSTEM」-「CurrentControlSet」-「Control」-「Keyboard Layout」と展開していき、「Keyboard Layout」を選択した状態にする
* 「編集」-「新規」-「バイナリ値」をクリック
* 「新しい値#」というファイルができるので「Scancode Map」という名前に変え次のの値を入力する
00 00 00 00 00 00 00 00
03 00 00 00 1D 00 3A 00
3A 00 1D 00 00 00 00 00
* リスタート
以上でwindows側でもまっとうなキー配置に。これでちと非力なCore Mマシーンでもものが書けるcomputational nirvanaへ...
と思ったら、やっぱり出たてのOSにはいろいろ問題あるもんで、すこし調べて回ると、個人情報の収集の仕方がひどいようだ。とりわけ事実上のキーロガーがOSに組み込まれてるという話があったり、プライヴァシーの設定がディフォルトではゆるゆるだったり。マイクロソフトも今時の時流ににならって、ユーザーを顧客ではなくデータ扱いしている様子。
OSXがそういった点は少しましなような気もするし、いずれにせよ、今書いてる教科書の下書きは、OSXで動く「オムニ・アウトライナー」でやってるし。で、結局Windows 10はさしあたり立ち上げたのみで放置する事にした。
しかしAppleにしても最近はicloudとか、やはりユーザーのプライバシー尊重の姿勢は感じられず、往時のスティーヴ・ジョブスのディジタル・アナーキズムからは遥か遠い地点に。
そういえばいつの間にやら国民総背番号制度もできて、あらゆる個人データの紐付けの技術基盤も整ったようだし、とぼんやり考えていたら、突然「digital serfdom」という言葉が降ってきた。念のため検索してみたら、もうそういうことを言った人がいるようで、出てくるわ,出てくるわ。技術的特異点がどうだとか、おめでたく浮かれてる間に、時代はディジタル農奴制へまっしぐらのようで、なんだかいろいろつらい...
Mathematicaで作ったアニメーションをエクスポート
例を示します。
vv = Animate[
ArrayPlot[BB[[t]], ImageSize -> 200, ColorFunction -> "IslandColors"] , {t, 1, nt, 1},
AnimationDirection -> Forward, AnimationRepetitions -> 1,
AnimationRate -> 2, AnimationRunning -> False
]
Export["vv.avi", vv]
Mathematicaで方程式を解いたものから関数を作る。
Windows上Mathematicaのインストールが困難な場合
「ユーザーアカウント制御(UAC)を一時的にオフにして頂いた上で、再度インストールをお試し下さい。」とあります。
んで、UAC をオフにするには次の2ステップを行います。
(http://windows.microsoft.com/ja-jp/windows/turn-user-account-control-on-off#1TC=windows-7)
1 [ユーザー アカウント制御の設定] を開く。それにはには、[スタート] ボタン [スタート] ボタンの画像、[コントロール パネル] の順にクリックします。検索ボックスに「uac」と入力し、[ユーザー アカウント制御設定の変更] をクリックします。
Mathematica でAnimation
(* Animation example 11/7/H26 *)
tx = 16; nx = 8;
H = RandomInteger[10, {tx, nx}];
Do[Do[ H[[t + 1, j]] = H[[t, j - 1]], {j, 2, nx}];
H[[t + 1, 1]] = H[[t, nx]], {t, 1, tx - 1}];
Print[
Animate[ ArrayPlot[ { H[[t]] } ] , {t, 1, tx, 1} , AnimationRunning -> False ]
];
「Animation」コマンドのループまわす際、4つ目の引数に注意!
Mathematica Tips:Igor等で読めるようplain textでdata書き出し
次の例を参考に。
Windows8.1を古いMacBookPro(2009)に入れる
ちょうどいいんで、Windowsは7から8.1に移行することにしました。Windows8系の印象をいえば、なんというか、中身は7とかわらないのに、その上にスマホやタブレット流のカラフルな四角いパズル状のアプリが並ぶ、最近流行のインターフェイスを被せたものですね。老人が必死に若作りして新世代に媚びているようで、なにか少しもの悲しくなりました。帝国の落日...でも7で不満だった細かい部分を丁寧に直してあって、少しだけ慣れれば、それなり結構使いやすいです。(っつってもMacユーザーの、印象からだけの判断です)
で、勢いにのせて、研究室にある十数台のiMacやMacbook proも順次Windows8.1に入れ替えようと決めました。新配属の学部生の最初の課題としてちょうど手頃そうだし。手始めに自分のオフィスのものから始めることにします。
ところがこのWindows8.1化計画、事務処理用に使っているオフィスのサブサブマシンの古い Macbook pro 15inch (2009) にあたって頓挫。Mavericks上のBootcampでは「この機種はWindows7のみサポートです」と出てきます。
でもあれこれ調べたら、実は迂回策がありました。(ここです)このProjectRelentlessさんというのは真の天才的スーパーMacヲタクに違いありません。同じ問題に行き当たった人のために要点を紹介すると、次の7ステップになります。第6ステップの難易度が少し高いです。
1 ここから Bootcampの二つのヴァージョン、「4.0.4033」と 最新の「5.0.5033」の両方をダウンロードして展開してUSBとかに入れておく。
2 Bootcampでディスクパーティション→Windows7のインストールまで進めて、そこでコンピュータを落として無理矢理中断、ディスク排出しながら再起動して、Windows8.1のインストールディスクを入れて、そのままインストルを進める。
3 Windows8.1がとりあえず立ち上がるので、その時点で、1で作ったブートキャンプの二つのフオルダを、デスクトップにコピー。
4 Bootcamp 4.0.4033のほうのセットアップファイルを実行。何か文句いわれるが構わずごり押しでインストール出来る。
5 Bootcamp 5.0.5033のほうの Bootcamp/Drivers/Apple/に行って、このにあるBootcampという’ファイルを実行すればよい。が、これそのままやると「管理者権限がないと実行できない」とエラーメッセージで終了する。
6 そこでデスクトップに「メモ帳アプリ」などを使って、次のような中身のファイルを作って「Add_MSI_run_as_administrator.reg」という名前にして保存する
ーーーーーここからーーーーー
何かしらシステム弄ってて、実際何やってんのか私にも不明なので、あくまでもすべて自己責任で。
7 Add_MSI_run_as_administrator.reg をダブルクリックで実行。すると魔法が効いて、そのあと Bootcamp 5.0.5033のフォルダーの Bootcamp/Drivers/Apple/に行って、そこのBootcampを右クリックすると「管理者として実行」の項目が出てくる。それを実行する。
以上で見事、アップル社の人為的な制限を乗り越えて、Macbook pro 15inch (2009) 上で、OSX 9.1 Maverics と Windows 8.1 を両方走らせるせるコンピューテショナル・ニルヴァーナに至りました。
シャーンティ、シャーンティ、シャーンティ。
量子暗号BB84をMathematicaでシミュレート
まず盗聴者不在の場合を示します。
矢印記号の表示は理解を容易にするためつけたものです。
ついで盗聴者がいてデータが撹乱される場合を示します。
Mathematicaで描く水素の波動関数
まずMathematicaでの、関数のプロット法、関数を定義してのプロット法をこれを見て覚えて、それから先に進んでください
これを参考にせよ。クンマーの合流型超幾何級数と、球面調和関数をプロットした例である。
こっちは超幾何級数を含むクーロン場中の粒子の動径波動関数R_{n,l}の例である。
波動関数は一般に定数倍だけ不定だが、積分を1にするように選ぶと便利。動径波動関数R_{n,l}(x) は∫dr r^2 |R_{n,l}(x) |^2=1になるように選ぶと都合がいいので、そう選んだ例を示す。
Mathematicaで描くKronig-Penneyバンドギャップ
Mathematica のプログラム例を書くので、取り敢えず真似をして、同じ物を作ってください。vvを色々変えてバンド領域とギャップ領域がどう出てくるか、見てください。
*「Mathematica」を立ち上げる
*(バージョンによって「新規ノートを開く」をクリック)
*次のようなコマンドを打ち込む
(Mathematicaで「実行」はただの「Shift-Return」ではなく「Shift-Return」です)
Mathematica; ArrayPlot で配列の一部のみを表示
MaxPlotPoint というオプションを用いる。
使い方:MaxPlotPoints -> {ny, nx}
例:
nt = 10;
nx = 20;
X = ConstantArray[0, {nt, nx}];
Do[Do[ X[[t, j]] = RandomReal[], {j, 1, nx}], {t, 1, nt}];
Print[ ArrayPlot[X] ];
Print[ ArrayPlot[X, MaxPlotPoints -> {3, 5}] ];
ListPlot:2つの点列をX軸Y軸としてグラフ表示
例1:
nn = 100;
P = ConstantArray[0, {nn, 2}];
Do[ x = j/nn * 2 Pi; y = Sin[x];
P[[ j, 1 ]] = x;
P[[ j, 2 ]] = y;
, {j, 1, nn} ];
Print[ ListPlot[P] ];
例2:
(* Sample program of the use of "ListPlot" to plot two data sequences as x & y *)
(* Solve X' = X - bb X^2 with varying initial X(0) *)
(* T_Zen 1/17/2014 for "SimSci" *)
nn = 400;
TT = ConstantArray[0, {nn}];
XX = ConstantArray[0, {nn}];
bb = 0.25;
dt = 0.01;
Do[ TT[[j]] = (j - 1)*dt, {j, 1, nn}];
lpx = 5;
dx = 9/lpx;
PP = ConstantArray[0, {nn*lpx, 2}];
Do[
XX[[1]] = lp*dx;
Do[ XX[[j + 1]] = (1 + dt)*XX[[j]] - dt*bb* XX[[j]]^2; , { j, 1, nn - 1} ];
Do[ PP[[ (lp-1)*nn+j, 1 ]] = TT[[ j ]]; PP[[ (lp-1)*nn+j, 2 ]] = XX[[ j ]], {j, 1, nn}];
, {lp, 1, lpx} ];
Print[ ListPlot[PP, PlotRange -> {0, 10}] ];
(LaTeX tips)図のキャプションに行列を
\caption{Approximate construction of the F\"ul\"op-Tsutsui couplings for $n=4$ and $T=\begin{pmatrix}a&a\\a&-a\end{pmatrix}$ used in Sect.~\ref{Section: n=4}. }
\caption[Text excluding the matrix]{Approximate construction of the F\"ul\"op-Tsutsui couplings for $n=4$ and $T=\begin{pmatrix}a&a\\a&-a\end{pmatrix}$ used in Sect.~\ref{Section: n=4}. }
でうまく行く。
Bootcamp下でのWindowsレスキュー画面
Control - Option - Delete
<--( 本来のウィンドウズマシンのと一緒、ひょっとするとAppleK proのせいかも)
または
Option - Command - Delete
または
Command - Option - Escape
<--( これはOSXのForce Quitと同じにしてあるようだ)
Windows上の日本語もできるTeX環境の構築
論文執筆のためにWindows上に日本語も出せるTeXを構築するする。現状でもっとも簡便そうな方法はつぎの通り。
用いるもの:「角藤版W32TeX」「GPL Ghostscript」「Texmaker」の三つ
(余裕ができたらdviとepsを直接見られるように「大島Dviout」と「Gsview」も)
1)W32TeXのページの「W32TeX」と「GPL Ghostscript」のインストレーションに従う。
このさいW32TeXの最後一か所、GhostScriptで一か所2つ、計3つ「Path」変数を書き加えるようになってることに注意。
Example Template:
;C:\w32tex\bin64;C:\w32tex\bin;C:\w32tex\gs\gs9.26\bin;C:\w32tex\gs\gs9.26\lib
2)TeXMakerのページで最新版ダウンロード。
英語はlatex+dvipdfm、pdflatexで処理、日本語はplatex+dvidfm、pdfplatexで処理。(epsある時はdvi経由、pdfの図のときはpdfxxxで)option、userに適宜コマンド登録しておくと便利
MacのTeXShopで日本語を
まずTeXShopのホームページから「TeXShop」をとってきてインストールします。ついでそこからリンクがある「MacTeX」の最新版(今ならMacTeX-2011)をとってきてインストール。ラテン文字の文章はこれだけでOKですが、日本語を扱うにはもう一ステップ必要です。多分最も簡単なのは小川版「UpTeX」を使う事です。小川先生のHPからこれの最新版をダウンロードしてフォルダーごとApplications Foldersにいれます。そして中の設定コマンドファイルをダブルクリックします。最後にTeXShopにはいって、
2 engineの指定を3カ所書き換え、次のようにします。
/Applications/UpTeX.app/teTeX/bin
Xtexshop
これで日本語のファイルをコンパイルできるはずです。