2013-01-01から1年間の記事一覧

AmberTools13をCentOS 6.4にインストール

AmberTools13を以下の場所からダウンロードしてきてインストールしました。名前や所属等を聞かれますがすぐにダウンロードできます。古いバージョンが欲しい場合は下にリンクがあります。http://ambermd.org/ http://ambermd.org/AmberTools-get.htmlやり方…

ビット演算のサンプル(2)

前回のものはibsetやibclrが無かったので、改めて作りました。 C言語でいうsizeof関数の代わりにfortranではsize関数がありますが、配列の長さを確かめることにしか使えません。bit_sizeを使えばデバッグに役立ちそうだと思いました。 ! bit operations prog…

ビット演算のサンプル

Fortranでビット演算をするサンプルスクリプトを作りました。余りソースが無いので、サンプルを動かしながら動作を確かめた方が理解が早そう。 program main implicit none integer :: i, j, b1, b2, h1, h2, o1, o2 o1 = 5 o2 = 21 b1 = b'00000101' b2 = b…

反復解法ライブラリLisのWindows 64bit対応化

Lis

国産の有名なライブラリである反復解法ライブラリLisをWindowsアプリケーションで使用した際に躓いたのでメモ。 http://www.ssisc.org/lis/index.ja.html以下の環境でWindows版のLisをコンパイルして使用すると、メモリのアクセス違反が頻発して使い物になり…

反復解法ライブラリLisのWindows 64bit対応化

Lis

国産の有名なライブラリである反復解法ライブラリLisをWindowsアプリケーションで使用した際に躓いたのでメモ。 http://www.ssisc.org/lis/index.ja.html以下の環境でWindows版のLisをコンパイルして使用すると、メモリのアクセス違反が頻発して使い物になり…

subprocessでシェルコマンドの出力をリアルタイムに取得する

久々のメモです。Pythonでsubprocessを用いてコマンドを実行した際の標準出力を、リアルタイムで取得してきて表示するサンプルプログラムです。良く見られるサンプルプログラムだと、きちんとコマンドが終了してからの出力を変数に取得する方法しか載ってな…

特定のプロセスの情報を見る

Linuxで使用メモリを知りたい時などはpsコマンドを良く使います。普段はその出力をgrepで抜き出していたのですが、それをもっと便利に使いたいということで、psgrepというコマンドで簡単に特定のコマンドをチェックできるようにしました。psgrep #!/bin/bash…

設定ファイルの例

DoxygenでFortranのソースコードをドキュメント化してみた。その時のDoxyfileのDiffを晒します。 158c158 < JAVADOC_AUTOBRIEF = NO --- > JAVADOC_AUTOBRIEF = YES 354c354 < EXTRACT_ALL = NO --- > EXTRACT_ALL = YES 512c512 < GENERATE_TODOLIST = YES …

配列構成子の書き方

なじみの薄い配列構成子ですが、うまく使えばコードが綺麗になりそうだったので、サンプルコードを書いてみた。 program main implicit none integer, pointer :: arr_p(:) integer :: arr(3) integer, parameter :: n = 3 allocate(arr_p(n)) arr_p = (/ 1,…

Fortran特有の行列演算の書き方

Fortran90で行列を扱ってみます。配列ではそれぞれの配列要素の演算を簡単な記述で表すことができます。main.f90 program main integer(kind=8), pointer :: matrix(:,:) integer(kind=8), parameter :: nele = 3 allocate(matrix(nele, nele)) call set_mat…

コマンドの存在を確認する方法

コマンドが使えるかどうかを確認するシェルスクリプトを作成しました。実行すると、こういう出力を返してくれます。 vi = True (/bin/vi) cmake = True (/usr/local/cmake/bin/cmake) ifconfig = True (/sbin/ifconfig) reboot = True (/usr/bin/reboot) asd…

数学の分類名を英語にしてみた

Wikipediaの「学問の一覧」から数学のところを抜き出してきて、それぞれ英訳してみた。調べ方は、リンクをたどって英語表記をコピペするだけ。リンクがない場合は適当にググって補完しました。数学だけでもこれだけあるのですね。全然聞いたことのない分野も…

portコマンドのリストを更新する

Mac

久しぶりにMac portsを使おうとすると、こんなWarningが出ていることに気づきました。 Warning: port definitions are more than two weeks old, consider using selfupdateということで、言われている通りport selfupdateを実行して、さらにport upgrade ou…

portコマンドでno destroot foundエラー。

Mac

前のcmakeのインストールに関連して。 MacのportコマンドでなぜかOpenSSLが更新できずにしばらく詰まってしまったので、その原因と解決方法。 bash-3.2$ sudo port install openssl Password: ---> Computing dependencies for openssl ---> Installing open…

Mac OSXにcmake 2.8をソースからインストールする

Mac OSX (10.7.5)にGromacsを入れようと思ったので、Linuxにインストールした際の過去の記事を参考にインストールを試みました。そのときの記録です。CMAKEのダウンロード先: Download | CMake 参考記事: http://d.hatena.ne.jp/guest/20130403/1364959490 c…

python 2.7.4をMac OSにソースコードからインストール

Mac Book Airにpythonの2.7.4をソースコードからインストールしてみました。全くLinuxと同じです。 cd ~ mkdir -p apps/src cd apps/src curl -O http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz tar xzvf Python-2.7.4.tgz cd Python-2.7.4 ./con…

インストール済のpythonモジュールを取得するクラス

モジュール(プラグイン、パッケージともいうのかな)を利用するpythonスクリプトを配布する際に、それを実行する前にパッケージが使えるかどうかをチェックしてあげると親切ですね。python自体が出すエラーでも分かる人にはわかるのですが、きちんとしたス…

再帰のサンプル

超シンプルな再帰処理のサンプルです。Fortran90ではrecursiveをつける必要があります。C言語とC++は再帰の方法に違いはありませんが、念のため。recursion.f90 program main implicit none integer :: i = 0 call recursion(i) end program main recursive …

ポインタの挙動

fortran90のポインタの使い方がよくわかっていないので、テストプログラムを作成して実証してみる。2つのファイルを用意して、モジュールのprivateな変数の演算結果をサブルーチンの引数を通して取得できるかテスト。main.f90 program main use calc implici…

python 2.6をソースコードからコンパイルする

古いpythonをインストールする必要があったので、2.6をインストールしました。自分のホームフォルダにインストールしています。ダウンロード先:Python 2.6.8 Release | Python.org mkdir -p ~/apps/src cd ~/apps/src wget http://www.python.org/ftp/pytho…

GitHubを使い始めました。

GitHubを使い始めました。プライベートなリポジトリを作成するにはお金を払えば可能のようですが、今は簡単なスクリプトでお試し中です。https://github.com/leetmikeal使うための最初の作業をざっとまとめると GitHubに新規登録 sshクライアントで公開鍵を…

svn checkoutはできるけどsvn commitできない時の対処法

subversionを最初に使ってはまったエラー。checkoutはできるのにcommitしようとした時にエラーが発生。 Transmitting file data .svn: Commit failed (details follow): svn: Can't open file '/var/svn/repos/db/txn-current-lock': Permission deniedデー…

拡張子を取得するサブルーチン

Fortran90で任意のファイル名(文字列)から拡張子を取得するサブルーチンを作りました。ちょっとだけググってそれらしいものが無かったので。モジュールの形にして別ファイルにしています。extension.f90 module m_extension implicit none public parse_file…

2次元配列matrixのループの順番

よく言われているように、FortranではC言語とは違い第1次元目が先にループするので、メインメモリからレジストやスタックに呼び出される際の効率の問題から(この辺、まだよくわかってません)、For文で計算する際は気をつけなければいけません。それでどれ…

乱数発生のサンプルプログラム(種の設定方法)

Fortran90で乱数を使用するサンプルプログラムです。乱数の種(random seed)の設定方法が少しわかりづらかったので、微妙に条件を変えて3通りやってみました。ちょっと変に思ったのは、seedが配列である必要があること。random_seed関数でnrandにサイズを代…

moduleを使ったサンプルとMakefile

Fortran90でmoduleを使ってみました。Makefileもあります。 注意としては、最後に実行ファイルをコンパイルする際に、モジュールのオブジェクトファイル.oも一緒にリンクしないといけないという事です。そうしないと、 undefined reference to `matrix_mp_pr…

matrix(2次元配列)とallocateのテストプログラム

Fortran90のテストプログラムです。配列をサブルーチンに受け渡す方法と、メモリの動的確保の方法を整理するために簡単なテストプログラムを作りました。 簡単なプログラムなのでコメントはありません。 適当な2次元配列をセットするset_matrixとプリントす…

Pymol 1.6 alpha1をソースコードからインストール

pymol 1.6をソースコードからインストールしてみました。ダウンロード先:PyMOL Molecular Graphics System download | SourceForge.netバイナリはシュレディンガーという会社が商用化しているみたい。アカデミックはバイナリでも無料。 PyMOL | www.pymol.o…

Virtural Box上のLinuxにGuest Additionsをインストールする前にupdateしてしまったら

注)LinuxのディストリビューションはRed Hat系(CentOS、Fedora、Scientific Linux)を想定しています。Virtual BoxにLinuxをインストールしたら、いつもアップデートしてGNUコンパイラやカーネルソース等を入れています。 yum install check-update yum in…

gitをソースからコンパイルする際のエラー

ソースダウンロード先:Google Code Archive - Long-term storage for Google Code Project Hosting.gitの1.8.2.1をソースからコンパイルする際にエラーが発生しました。 make[2]: `GIT-VERSION-FILE' is up to date. GEN git-instaweb SUBDIR git-gui SUBDI…