BoostのUMFPACKバインディング その1

boost-sandboxに含まれるUMFPACKバインディング
(boost/numeric/bindings/umfpack)に関する情報がうまく収集できずに苦労したので, ここにまとめておく.
結論から書くと, boost-sandboxのレポジトリにドキュメントが含まれていたが, 変なところにあったので見つけられなかった.
場所としてはboost-sandbox/libs/numeric/bindings/umfpack/doc/index.html(include
ではなくlibs)で, 下記URLのdownloadから参照できるはず.
http://boost-sandbox.cvs.sourceforge.net/boost-sandbox/boost-sandbox/libs/numeric/bindings/umfpack/doc/index.html使
う際にはsandboxのヘッダinclude/boost/numeric/bindings以下を/usr/local/includeにでも放りこ
んでやれば良い. cvsが嫌な人は,
http://svn.boost.org/svn/boost/sandboxからsvnでもチェックアウトできる(svnはcommitが不可である
模様). ただし, 僕が試したときはどちらもHTTPプロキシが許可されなかった.
(追記. boostのレポジトリが正式にsubversionに移るようだ.)
(追記2. http://subversion.tigris.org/faq.html#proxyに従って,
https://svn.boost.org/からチェックアウトしたところうまく行った.)
http://svn.boost.org/trac/boost/
えてもちろん, UMFPACK本体が必要なのだが, Ubuntu(7.04現時点)ではパッケージが用意されているのでそれを使えば良い.
具体的にはlibumfpack4, libumfpack4-devを入れれば良い.
はじめ, scipyを入れたときにlibufsparseが自動的に含まれるのでlibufsparse-devを追加して試みたが,
リンクか何かの問題で動かなかったため, libumfpack4に変更した. おそらく以下に報告されている問題だと思われるが詳細は不明.
https://bugs.launchpad.net/debian/+source/ufsparse/+bug/68670

動作確認にはまず, UMFPACK本体の確認として, umfpack-simple.c(例えば, http://www.math.umbc.edu/~rouben/2006-01-math625/umfpack-simple.cか, UMFPACKのソースをダウンロードすれば含まれている)を用いて, これがうまく動作すれば, 先ほどのboost-sandbox内のドキュメントに含まれるサンプルコードを試してみると良いだろう.
ちなみに後者がg++であるのに対して, 前者はgccであることに注意. g++でumfpack.hを用いるにはexternが必要.

http://ubuntuforums.org/archive/index.php/t-360888.html

ひとまずはここまで.