あたらしいパソコン

 今日はNVIDIAGPUのドライバを入れて、CUDAをインストールする。Pythonの環境作るのは明日。

 ↓のページ見ればなんとなくできる。RTX2070Superで、ドライバはgeme readyにしといた。あとNVIDIAのドライバ使うののユーザ登録かなんかしてなんとかコードをゲットしておかないといけない。

qiita.com

 あと、

qiita.com

 日本語であたりをつけておいてから本家の英語のページを見ると楽ですね。

 

 今のところの設定。

 

GPU==RTX 27070 Super

Driver ver.==445.75

CUDA==10.2.89

cuDNN==10.2

 

TODO:

+ GitをWindowsでもWSLでも使えるようにする。

+ emacs入れる。

+Pythonの環境をつくる。

新しいパソコン

 10年ほど使ったMacBookProがそろそろボロくなってきたし、Macのポリシーもなんか最近は窮屈になってきたので、WindowsでWSLとかあるので、それを使ってみようということで、ツクモでそこそこのGPUの入ってるパソコンを買ってきました。最初はGPUの入ったパソコンといえばHPのOMENであろうということで、それを探しましたが、どうにも最近のコロナの影響で思うように物が入らないようで、納期数か月と聞き、即納できるツクモのにしました。

shop.tsukumo.co.jp

 GPUNVIDIAのRTX2070Superを使ってるので、いい感じです。

 AMDのもありましたが、機械学習に使うのにはまだこなれてない気がするので、NVIDIAのにしました。しかし今思えば趣味の機械学習ならCPUでもいい気もしてきた。

 

 早速買ってきて、昔のMBPからデータをインポートしようとしましたが、ネットワーク経由ではなんとも転送速度が遅く、外付けSSDを使いました。やっぱりSSDは速い。

 

 ともあれ環境を整えなければならないので、いろいろなものを入れます。

 Windowsでよくつかうようなのは置いといて、WSLとPythonの環境を整えます。

  WSLは、

www.atmarkit.co.jp

のとおりにやったらまあまあ動きました。

 Pythonの環境をつくるのに、WSLで、

qiita.com

で紹介されてるやり方でいけそうです。

 とりあえずRTX2070で使えるCUDAを入れて、Tensorflowのバージョン確認して、Python入れるのが次のステップみたいです。

「君の名は。」についての妻へ提出する感想文

5年ぶりくらいの日記だけど、「君の名は。」がDVDで出て、うちでもAmazonか何かで買って、妻がみて、俺がどう思ったか述べよというので、書く。
君の名は。」は去年の冬だったと思うけど、欧州から中東経由で東南アジアに移動するときに見た。2回見た。
欧州から中東まで6時間くらいかかるけど、そこで1回見て、とても面白かった。
そこから飛行機を乗り継いで、次のフライトは13時間だったのだけど、そのときにはシンゴジが出てたので、それを最初に見た。みんな面白いと言ってたけど、今ひとつ面白い面白く無いよりもCGの物理モデルはどういうのを解いてるのかとか、そういうディティールが気になってあまり楽しめなくて、寝そうになった。というか、寝た。別にゴジラが襲って来ても映画の中でも世界は最後には救われるわけだし。
そうやってシンゴジラを子守唄に寝たところを、隣の女性がトイレに行くからどけと言って叩き起こされて目が覚めて、こいつ氏ねばいいのにって思ってたら寝付けなくなったので、また君の名は。を見た。
2度目に見ると1度目には気がつかなかった色々なところに気がついて、面白かった。これはあと3回くらいはいけそうだなと思った。
以上が滅多にフィクションを見ない俺が「君の名は。」を2回見た顛末である。

続きを読む

今更Ajaxかよと言われると若干凹む

なんか面白そうなのでAjaxを始めてみる。
取り敢えず写経。HTTPで通信してデータのやり取りをするらしい。そもそもなんでAjaxがいいかって、クライアントサイドで諸々済ませられるっぽいから使い勝手がいい。まあIEがそこで糞の山のように立ちはだかる訳だがな。

http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html

RubyをMacBookProにインスコする

Ruby1.8は既に入ってるので、新しいバージョンのをインスコしたい。訳だけど、もうこの手の作用は面倒で仕方がない上に、このMacBookProをどうやって環境を整えたのか忘れたので、なんかもう色々とgdgdMacPortsインスコしたはずが、ターミナルでportsて打ってもはじかれるし。なのでemacsでM-x shellでやってみる。

$ sudo ports install ruby19 +mactk

そして今インスコ中。どうなるでしょうか。
そしてRuby/tkをインスコした。

$ sudo ports install tcl tk

だけど、どうやら新しく入れた方のRuby1.9は見てないらしいので、実行するときは、

$ /opt/local/bin/ruby1.9 test.rb

なんてやってる。

2次の線形非斉次方程式の解法

あるバネと外力のある力学系を考える。


\frac{du}{dt} = S - k x
\frac{dx}{dt} = u

これを行列形式で書くと、

\frac{dQ}{dt}=AQ+S
Q=\left(\begin{array}{C}u\\x\end{array}\right)
A=\left(\begin{array}{CC}&0&-\frac{k}{m}\\&1&0\end{array}\right)
S=\left(\begin{array}{C}S\\0\end{array}\right)

これの固有値ωはいうまでもなく、

\omega = \pm i\sqrt{\frac{k}{m}}

で、2つの基本解を構成する。

\xi_1=e^{i\omega t}, \hspace{10mm}\xi_2=e^{-i\omega t}

それぞれの基本解は、行列Qに戻したときに微分方程式を満たして、Q1とQ2の直和で出来た行列Xはやはりもとの微分方程式を満たす。

\frac{dX}{dt}=AX
X=\xi_1\oplus\xi_2=\left(\begin{array}{CC}&\xi_t&\xi_2\\&\xi_{1t}&\xi_{2t}\end{array}\right)

ここでXはWronski行列になっている。Wronskianを計算してみると2i\omega;になってるので、当然ながらxとuは線形独立である。
ここで、Xを非斉次方程式に戻してみる。

\frac{d\tilde{X}}{dt}=A\tilde{X}+S\\ C_tX=S
\tilde{X}=CX\hspace{10mm}(C=C(t))

ここで、Xの逆行列を左から掛けると、

C_t=SX^{-1}

なので、係数Cを積分することで求められる。2次の正方行列なので、Hamilton-Cayleyの定理から逆行列を求められて、

C=\int_0^tdt\hspace{5mm}\frac{S(\tr(X)I-X)}{W}
W=\det(X)

ここで、WはWronskianである。mimeTeXで数式打つのがだるいからまた明日。

取り急ぎのTODO

1次元のEuler方程式をRoeの方法で、MUSCLで解くのは出来たぽいので、そのあとのTODOを考えてみる。ついでに1次元の1変数の移流方程式もMUSCLで解くことが出来たので、これも別のものに流用できそうである。

  • 2次元の直交座標系でEuler方程式をRoeの方法でMUSCLで解く
  • 2次元の軸対象円筒座標系のEuler方程式をRoeのMUSCLで解く
  • LESとかその辺の乱流モデルを盛り込む(Navier-Stokesを解いてみる)
  • 3次元の直交座標系の場合をMUSCLで解いてみる
  • level set法なりなんなりで3次元のときの混相流を解いてみる
  • Riemann不変量を使って衝撃波管の問題を解いてみる(1変数のMUSCLをそれぞれの不変量に使う)

書き上げてみると思いのほか多いことに気がついた。悲しい。