2010/06/18(金)カツオのタタキ

カツオのタタキ

用事があったので,帰省しています.また.
地元志望なので仕方のないことなんですが.
そして,帰るときには雨がまた降ってきました.雨男確定ですね!
で,夕食でそんなごちそうをいただいたわけです.例によってお腹がふくれるまで.

最近(今年に入ってから?),太ったことを自覚しています.
食事の量を落とさないと,とは思うものの,実践できてません.ストレスとか何といって食べている自分がいる…….
最近考えているのが,食べたものを,簡単なカロリー計算を含めて
この日記の文末にでも書いてみるということ.
見栄を張るし,自分でも食べた量を把握できるので効果があると思うのですよ.
せめて,高校時代の体重に戻りたいです.その頃から身長伸びてないし!
着手するのはいつになるでしょうか?7月,かなぁ…….

2010/06/17(木)はじめての電子状態計算

先輩,プログラムが動きません!

専門(より)の話.後輩にプログラムが動かないので助けて欲しいといわれました.
で,見てみたんですけど,どうやら,『はじめての電子状態計算』っていう本に付属しているプログラムらしい.
動作環境を見てみたら,「Windows 3.1,Windows95,Windows NT3.5 Windows NT4.0,MS-DOSも可」とある.
あれ,これだけ?
XPやVistaはどこでしょうか……?

さらに,記述言語はFORTRAN 77らしいです.うーむ古いプログラムですね.
これでは,コンパイル済みの実行ファイルでは動かないかも.
幸運なことに,ソースコードはついてました.
なので,「とりあえず,自分も試してみるから明日報告するよ」といって,後輩が帰ってからコンパイルを試みることに.

まず,バイナリをVistaで実行

本に書いてある通りに作業をして,一応それらしい動作しましたが,以下のようになりました…….
c:\DVXA>SETDVXA.BAT

c:\DVXA>cd CALC\CO

c:\DVXA\CALC\CO>makef05
DOS/4GW Protected Mode Run-time  Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994
DOS/4GW error (2001): exception 0Dh (general protection fault) at 21F:00006F12
TSF32: prev_tsf32 5284
SS       22F DS       22F ES       27F FS         0 GS         0
EAX        0 EBX      22F ECX        0 EDX        0
ESI      120 EDI     588C EBP     4F52 ESP     4448
CS:IP  21F:00006F12 ID 0D COD     7E40 FLG    13246
CS=  21F, USE16, byte granular, limit     914F, base  310F2D0, acc FB
SS=  22F, USE16, byte granular, limit     489F, base  3118420, acc F3
DS=  22F, USE16, byte granular, limit     489F, base  3118420, acc F3
ES=  27F, USE16, byte granular, limit     7CFF, base  31414C0, acc F3
FS=    0, USE16, byte granular, limit        0, base  31414C0, acc  0
GS=    0, USE16, byte granular, limit        0, base  31414C0, acc  0
CR0: unavailable

c:\DVXA\CALC\CO>dvscat n \dvxa\calc\co
DOS/4GW Protected Mode Run-time  Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994
DOS/4GW error (2001): exception 0Dh (general protection fault) at 21F:00006F12
TSF32: prev_tsf32 5288
SS       22F DS       22F ES       27F FS         0 GS         0
EAX        0 EBX      22F ECX        0 EDX        0
ESI      120 EDI     588E EBP     4F52 ESP     4448
CS:IP  21F:00006F12 ID 0D COD     7E40 FLG    13246
CS=  21F, USE16, byte granular, limit     914F, base  310F2D0, acc FB
SS=  22F, USE16, byte granular, limit     489F, base  3118420, acc F3
DS=  22F, USE16, byte granular, limit     489F, base  3118420, acc F3
ES=  27F, USE16, byte granular, limit     7CFF, base  31414C0, acc F3
FS=    0, USE16, byte granular, limit        0, base  31414C0, acc  0
GS=    0, USE16, byte granular, limit        0, base  31414C0, acc  0
CR0: unavailable
Could Not Find c:\DVXA\CALC\CO\f15

c:\DVXA\CALC\CO>
F05とかっていうファイルが出来るはずなのに出来ないし,EXにあったF05ファイルをコピーして実行してもエラー出たし…….
やっぱり完全には動かないってことですか?それとも設定ミスだろうか(書いてあることは全部やったんですが).
で,コンパイルしてみるかってことに.

これがFORTRANか!

ソースコードはGreekだった

ソースコードを見てみたんですが,わけわかんなかったです,はい…….
というか読む気が起きなかった……….
このコードにはコメント文のコの字もなかったので,理解するにはちゃんと勉強しないと駄目だということがわかりました.

gfortranでコンパイル

コンパイルの仕方については,本にはわずかに書いてありました.
なになに,バッチファイルがあるのでそれを実行しろ,とあります.
コンパイラは……Watcom FORTRAN?聞いたことがない名前です.
手持ちのFORTRANコンパイラはgfortranだったのでとりあえずそれで実行しました.

結果は……

出来たものと出来ないものがありました.
例えば,上のF05というファイルを作成するプログラムは成功し,実行して中身のあるファイルをはきました.
c:\DVXA\CALC\CO>MAKEF05
 f25 for nonsym calculation was generated

c:\DVXA\CALC\CO>
というわけで,実行ファイルがVistaやXPに対応していなかったらしいです.
ただ,全体的に失敗したものが多かったので,コンパイラを変える必要がありそうです.
g77(FORTRAN 77のGNUコンパイラ)をどこからともなく探してきて*1,コンパイルしてみるとか.
けど,今日は時間切れ.後輩に方針は示せそうなので後は頑張ってもらいましょう.

それにしても読みにくい本だ 加えて問題点

何となく読みづらいです.操作の手順も本文にコマンドラインの解説があるから見づらい見づらい.
また,アルゴリズムとかにはほとんど触れてないのも,理解しづらいですね.
それに版が古くて,最近のプログラムが公開されていないところを見ると,あまり開発とかは活発ではないようです.
プログラムも,あんまり大規模なものでもないし,高度なことをしようとすると壁に当たってしまうのではないかと思います.

何よりも問題は,ソースコードの改変とかが禁止されているということ.
これによって,ユーザ自身による改良という道がたたれています.
GPLとかにしておけばもう少し広まったかもしれないですね.

というわけでフリーのソフトを少し探してみる

結構いっぱいありますね.日本語ドキュメントのものでは,
文部科学省系の第一原理擬ポテンシャルバンド計算ソフトウエア「PAHSE」
Debianにパッケージングされているものでは,ABINITというものが見つかりました.
両者とも,ドキュメントが豊富で扱いやすそうです.
特に後者はGPLライセンスで再利用は(研究などに使う分には)容易です.


動画のエンコードなんかに使うより,こういうのに計算機を使った方が有用ですよね…….

Windows XPでは動作しました(2010年8月3日追記)

意外とこのページを見ている方がいるようでしたので,追記をしてみます.
『はじめての電子状態計算』っていう本に付属しているプログラムですが,
どうやら,XPであれば動作するようです.先輩と後輩,私が個別に実行して確認しました.
ただ,もう一度Vistaでやってみましたが,やはり動かず.NT6.0以上では駄目っぽそうです.

2010/06/15(火)珍しくサッカーを応援したら勝ってしまった……

地デジチューナ+プロジェクタ+スピーカー+ウーファーを駆使して,研究室の人とサッカー観戦をしました.
そうしたら,たまたま日本が勝ってしまって驚いた次第です.
恐るべし,GaiantGiant killing!
さすがに次のオランダはだめだとは思いますが,頑張ってほしいものです.
録画しておけば良かったかなと少し残念に思っています.

2010/06/14(月)FMラジオを高音質で安定してパソコンで録音するには?

FMラジオを高音質で安定してパソコンで録音するには?

表題を実現するにはどうすればいいのかを私なりに調べたので書き置きしてみます(後で使うかもということで.).
理由は帰省したときに,
家族に『FMラジオを録音して好きなときに高音質で聴きたいんだが,いいのはないか,パソコンで』
って訊かれたことによります.

USB接続のチューナを購入して使う

一番手軽で安そうだと思ったのはこれ.投資は4000~5000円くらいだとされる.
製品候補はこれこれ
しかし,高音質には対応していないばかりか,
ちゃんとラジオが入らないという問題を抱えている機種しか見つかりませんでした.なので,却下.

ラジオなどからICレコーダで録音

ICレコーダは機種にもよりますが,サンヨーの製品で1万円と少し
これの昔のモデルをもってますが,音質はまあ私がよくわからない程度には良いです.
接続するラジオチューナがまともであれば,普通にそれなりに満足な音質で録音できるのでは?
ただし,問題はタイマー録音が出来ないこと.なので,とりっぱなしにする必要があるんですが,そうするには容量が小さいですよねぇ…….

CDチューナーアンプシステム+サウンドカード

行き着いた先がこれです.ある意味でこれが最強だと思われます.サウンドカードは,例えばオンキヨーのSE-200PCIや,
USB接続では同じくオンキヨーのSE-U33GXV(B)
お値段はリンク先を見ていただければわかるように12000円ほど.
これと,FMラジオ音源を用意すれば,録音は可能.
専用ソフトではないにせよ,Windowsのタスクや,自作のバッチファイル,ラジオチューナ側のプログラムを
駆使してタイマー予約に近いことは出来る(はず.)

これの問題は,ラジオチューナを用意する資金を確保する必要があるということです.
サウンドカードの性能は折り紙付きなので,
下手なラジカセなどが音源だと明らかにその音質が録音に反映されてしまいます.
だとすると,それなりの性能のCDチューナーアンプシステムを用意する必要があるんですが,
うちのそれがどうやら壊れているらしいとのこと.
うーむ,さっと調べたところ,オンキヨーのそれが手頃ですかね.
値段を調べると,2万円を切っているところがあります.サウンドカードとこれで3万円か…….
パソコンは私が今使っているマシンを流用すればいいから,それに関する投資はなしですね.
いろいろ,別の使い道(レコード音源を高音質でデジタル化とか)もありますし,グッド!
いいなぁ,欲しいなぁ.



結論は,お金を掛けないと,高音質は駄目よ!ってことですね………….