結晶構造用のソフト

VESTAのインストール
UNIXで使える結晶構造表示ソフトはいくつかあるが、見栄えや使い勝手の面で良いものは少ない。最近ときどき使っているもので比較的よいのがVESTAであるが、debianでのインストールがあまりうまくいっていなかった。 amd64版では、

sudo ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3

とするだけで動いたが、686版ではなぜかうまく動かなかった。libstdc++.so.5が必要らしいので、

sudo aptitude install libstdc++5

として、64版と同様にlibtiffのリンクを作っても、動きそうで動かない。さらに、2008/7/11版では、permissionがうまく設定されていないので、goでの許可をした方が良いだろう。実行すると、

*** glibc detected *** free(): invalid pointer: 0 ***

で終了する。いろいろといじっていて、発見したのが、sudoで実行すると、動くということだ。super userで実行するのは、非常に気持ち悪いのだが、実用上はなんとかなるかも知れない。間違って、システムにセーブしたりしないようにしないといけないだろうが。これは、libstdc++5の問題なのか、VESTAの問題なのか、少し調べてみたが分からなかった。まあ、次のマシンはamd64にするつもりなので、気にしないことにしよう。

Read more...

Linuxで録音

装置の音の録音に向けて
装置から異常な音がすることがある。実験中の音を録音しておけば、いろいろと役に立つのではということで、録音に挑戦した。 まずは、alsaをインストールして、alsaconfでドライバを認識させて、alsamixerで設定する。このときにわかり難かったのは、micがoffになっている場合には、mで有効にすることと、captureを表示させるときにtabを押す必要があることとと、micを選択するときにspaceで行うという点だろうか。あとは、micとcaptureをそれなりの値にすれば良いようだ。

arecord temp.wav

で記録して、

aplay temp.wav

で再生しても、非常に小さい音にしか聞こえない。マイクが悪いのかな。まだいろいろと調整が必要なようだ。

2008/9/10追記 あるPCでは、captureのところでもspaceで選択する必要があった。

Read more...

eepic

texで図
この前はPSTrickを使ったが、通常のお絵書きには、eepicで十分である。eepicでは、いろいろな制限が取り払われて使い易くなっているのがだ、不満なのは、vectorの傾きに制限があるということである。また、うまく使いこなせていないので、一点破線や二点破線などはあまり納得できるものが書けていない。これは設計図や折紙の展開図で必要になるのだが、今後の課題である。 今日新しく知ったのが、Thicklinesとallinethicknessである。前者はticklinesの1.5倍の太さになるらしい。後者は、all line thicknessをくっつけたもののようだが、lは三つではなく二つなのが間違いそうだ。任意の太さを指定を

\allinethickness{1mm}

と指定できるので、便利である。まあ、他のコマンドはだいたい使っているので、問題無い。やはりあとはdrawlineとdottedlineとdashlineの細かい使い方だ。

Read more...

PSTrickを使ってみた

ProsperとPSTrick
プレゼンテーションをする機会が多くなってきたが、世の中ではPowerPointなるものがよく使われているようである。私も、使おうと試みたことがあったのだが、難し過ぎて使えなかった。よく他の人は、こんな使いにくいものを使えるものだと関心する。 そこで、TeXを使って行うのだが、使うものは、普通のTeX、slide class、seminar class、と変遷を経て、現在はProsperを使っている。見た目がきれいなものが作りやすいので、重宝している。 図を書くときに、picture環境ではうまくいかなかったので、PSTrickを使ってみた。Prosperでも使われているので、なにも宣言しないで良い。unitlengthの代わりに

\psset{unit=1mm}

と宣言して、picture環境の代わりにpspicture環境にして、putの代わりにrputとすれば、picture環境と同じことはほぼできるようである。

\pscircle[linestyle=none,fillstyle=gradient,gradbegin=cyan,gradend=blue](0,60){20}

などとしてみたが、半径指定であることが、picture環境のcircleとの違いでしょうか。あと、putするわけではない点も違うか。今後、PSTrickも徐々に使えるように勉強しよう。

Read more...

matrix.rbのinv

逆行列がうまく計算できない。
matrix.rbをつかって、行列を計算していて、なんだかおかしいので、自分の組んだ部分にバグがあるのかと思って、いろいろと調べていたが、分からない。pで、途中の変数を表示して調べていると、逆行列がうまく計算できていないようだ。 invを用いて逆行列を計算しているのだが、

Matrix[[1.66533453693773e-16, 0.0, -0.5, -0.866025403784439],
[0.0, 1.66533453693773e-16, 0.866025403784439, -0.5], 
[-0.5, -0.866025403784439, 1.66533453693773e-16, 0.0], 
[0.866025403784439, -0.5, 0.0, 1.66533453693773e-16]]

の逆行列を計算すると、変な値になってしまう。matrix.rb中ではどのように逆行列を計算しているのかは読んでいないが、どうも通常良く用いられる余因子を使った計算ではないようだ。自分で書いても良いが、面倒なので、今回は直交行列しか用いないことにして、transposeで代用することにしよう。

Read more...

matrix.rbのeql?

バグかも知れない
行列の計算をしていて気がついたのだが、matrix.rbの中に書き間違いがあるかも知れない。Matrix classの中には、

alias eql? ==

という定義がされているのだが、Vector classには、

alias eqn? ==

という定義がある。eqnは通常equationの略として使うように思われるので、おそらくこれはeqlの打ち間違いではないかと思う。1.8でも1.9でもそうなっていたので、まだあまり気づかれていないのだろう。こういうことはどこに報告すれば良いのか分からないが、ここに書いておくと、誰かが見付けて報告してくれたりしないかな。

2008/9/15追記 なんか、bugレポートがされているようだ。書いてみるもんだ。

2009/4/4追記 Lennyのruby1.8でもまだ変更されていないようだ。bug reportではもうclosedになっているんだけどな。

Read more...

rubyの同一の判断

arrayと==
最近、四次元について考えているが、やはり人間は二次元から三次元の動物で、四次元はなかなか頭で描くことができない。そうなると、数学で考えるしか無い。 Matrixの==の定義を書き換えて、多少値が異なっても、同じものだという判断をするようにしてみたが、同一の判断にはいろいろあるようで、思ったように動くときと、動かないときがある。 たとえば、arrayのinclude?は良いようだが、arrayの==や-やuniqはうまくいかないようだ。この判断には、Matrixの==を使っていないのかな。 arrayの中身の処理は、どのようにしているか分からないので、本当は短く書きたいのだが、include?等を使って、その部分を書き下すことによって処理している。arrayの中で使っている同一の判定を書き換えれば良いはずなのだが。

2008/8/7追記 eql?かと思ったが違うようだ。hashを使っているのかもしれない。

Read more...

emacsのビープ音

xemacs21のビープ音を消した。
emacs21にいつ移行しようかと思いつつ、xemacs21を使い続けているが、エラーのときにビープ音がうるさいので消してみた。設定ファイルに

(setq visible-bell t)

を追加すると、ブザーの代わりに画面が反転するようになる。でも、意外に目にうるさい感じがする。反転もしなくする方法もあるとは思うけど、どうするのかな。

Read more...

To make pdf using Windows

Windowsでpdfをつくるのは面倒なようだ。
Acrobatを入れれば良いのだろうが有料だし、と思って調べてみたら、方法を見付けた。まず、AdobePSプリンタドライバというのがあるので、それをdownloadして、インストールする。その際、ポートとしては、ローカルのFILEを選択する。すると、印刷のところからPSを作れるようになるので、ps2pdfで変換すれば良い。Acrobatで変換したときと、フォントが違うようだが、まあ大きな問題ではないだろう。 標準でPSも作れないWindowsもどうかと思いますが。まあ、OpenOfficeを使うか、TeXを使えば良い話なので、あまり利用価値はない気がしますが。

Read more...

debianでスキャナー

Linuxでも簡単にスキャナーが使えるようになってきた。
まずはsaneをインストール。

sudo aptitude install sane sane-utils

使ったのは、canonのN1220Uというスキャナーだが、これをUSBにつないで、

sane-find-scanner
sudo scanimage -L

として、うまく認識していることを確認したのち、

sudo scanimage |convert - temp.png

として、データを取り込む。しかし、デフォルトの設定をかえるオプションがわからなかったので、

sudo xscanimage

としたら、windowsなんかでよくあるような感じで簡単に指定できた。あとはimagemagickで変換でもなんでもすれば良いだろう。

Read more...