2007年11月30日金曜日

変数の交換

研究とはあまり関係ないが、TAをしている授業で先生が
以下のようにtmpを用いなければ変数の値を交換することは「絶対に」できない、とのこと。
tmp =a;
a = b;
b = tmp;

そんなわけでできないといわれると悔しいので

a ^= b;
b ^= a;
a ^= b;

とXORを取ることで交換できるので絶対ではない。
一説によると後者の方が早いらしいが、どのくらい差があるか等は不明だ・・。
あとint型でしか使えないと思いますが。

2007年11月19日月曜日

発表

先週のRも無事かどうかはさておきとりあえずひと段落して今日は別の授業の発表でした。
ほとんどの資料はこれまた別の授業で使った動的計画法のスライドを使っているのでそこまで大変な準備ではなかったが、基本的な内容ということで色々とほかの受講生も復習になったとのことでよかった。
さて、あとは別の授業の輪読が残ってるくらいで研究の方に戻れそうだ。
まずはPHP+MySQLの基本からスタート。

2007年11月14日水曜日

R続き。

Rを初めて数日だが、課題までは程遠い。
理論の方は少し話し合ってなんとかなりそうなので、あとはRと格闘すればいいかな。

Rを早く終わらせて研究の関係でMySQLの方に移りたい。SQLは去年少し触ってるが一からやり直せばまた理解も深まるであろう。

なんにせよRはやりたくてもやりたくなくても明日にはとりあえず終わることになる。

2007年11月13日火曜日

Rはじめました

課題でRを使わなければならないので色々やってみました。
プロットとかが簡単にできるしCの組み込み関数にもできるようなのでその辺は使えるかも知れない。

とはいっても課題が終わってしまったら人生で2度と使うことはないかもしれない・・。
何が起こるか分からないのでやっておいて損はないだろうけど。

2007年10月25日木曜日

動的計画法

授業で動的計画法のプレゼンをしなければならないので、プログラムを作った。
分枝限定法に比べればプログラムも難しくなく比較的簡単に導入できる。
作ったのは0-1ナップサック問題の解を求めるプログラム。

教育実習のときやこういう作業をしてると毎週授業する大変さがわかる・・。

2007年10月16日火曜日

とりあえず変更完了。

ATLASを使用していた部分を他のブラスにも変えられるように変更していたものが完了。
とはいえ動作確認しているBLASは一つだけだが。

最後のエラーは悲しいことに".f"のファイルがコンパイルされていないという情けなすぎるエラー。
autoconfを使うときは気をつけましょう。

2007年10月15日月曜日

mpichのバグ

どうやら先日のmpichの問題はバグらしいことがわかった。
コンパイル時に
-DMPICH_IGNORE_CXX_SEEK
オプションをつければ回避できる。
もしくは何よりも早く"mpi.h"をincludeしてやればよい。

下は先日のエラー。って先日の文章がなぜかそこまで書いてなかった・・。
/usr/local/mpich2/include/mpicxx.h:26:2: error: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"/usr/local/mpich2/include/mpicxx.h:30:2: error: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"/usr/local/mpich2/include/mpicxx.h:35:2: error: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"

2007年10月12日金曜日

あとひとつ・・。

configureもとりあえず完成し、あとはmakeが通れば終わりなんだが・・・。

undefined reference to `rpdpotrf_'

というエラーのみが残る。こいつが存在するところをコメントアウトすればコンパイルは通るのでこいつが最後のエラーだと思う。

とはいえ、makefile.inの修正が残っているから最後の一つということではないが大きなエラーはそんなところだろう。makefileの方はすぐ直るだろうしあとちょっと・・・。

2007年10月10日水曜日

コードの変更

コードの変更も終わって、あとはコンパイルが通ればおそらく完成だと思われる。
しかし、この状態からどうも進まない。

それとあとはライブラリをくっつける順番を間違えないようにせねば。
最終的にはconfig.xxxxに書き込むことになるが。

以下はエラーの出力の一部。
なんかmpicxxでコンパイルするとエスケープシーケンスがおかしいんだよなぁ・・。
g++ならコレでいいと思うが。

if mpicxx -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"sdpara\" -DVERSION=\"1.0.1\" -DF77_FUNC\(name,NAME\)=name\ ##\ _ -DF77_FUNC_\(name,NAME\)=name\ ##\ _ -I. -I. -I -I -funroll-all-loops -msse3 -mfpmath=sse -I/home/sasajima/sdpara10/include -D_REENTRANT -MT rsdpa-rsdpa_algebra.o -MD -MP -MF ".deps/rsdpa-rsdpa_algebra.Tpo" -c -o rsdpa-rsdpa_algebra.o `test -f 'rsdpa_algebra.cpp' echo './'`rsdpa_algebra.cpp; \ then mv -f ".deps/rsdpa-rsdpa_algebra.Tpo" ".deps/rsdpa-rsdpa_algebra.Po"; else rm -f ".deps/rsdpa-rsdpa_algebra.Tpo"; exit 1; fi

2007年8月7日火曜日

IRQL

どうも4月から研究室で新しく導入したPC(Win XP MCE)が再起動するので原因をいろいろ調べてみた。

いまのところ確認できたエラーは

UNKNOWN_HARD_ERROR
BAD_POOL_CALLER
IRQL_NOT_LESS_OR_EQUAL

といったものだ。
どうも下の2つはIRQLに関するものなのでその辺があやしい。
いったんページングファイルをなしにしてやってみて効果があったような気がしたが再発。そして連発。
だめだこりゃ。前期中には解決しなそだ。引き続き調査。
トラブルは時間がとられるのはむかつくが勉強になることもあるのでマイナス面だけでないのがせめてもの救いか。