blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。 また、計算を主題に制作を行い、現代音楽作品や公共インスタレーション作品など技術提供を行う。 三輪眞弘に師事する。

List

sdpaをpythonから使う

いきさつ

研究しててどうしてもSDPを解かなければいけない状況になっています。 そしてSDPAを使いたいが、C++は使いたくないので、pythonから使います。 そのためにはSDPA-Pというのをインストールしなければならないので、やってみます。

install

download

以下のリンクの下部にSDPA-Pのソースがあるのでダウンロードします。 http://sdpa.sourceforge.net/download.html#sdpa-p

$ sudo apt-get install sdpa libsdpa-dev libspooles-dev libmumps-dev libmumps-seq-dev
$ tar xzvf sdpap-0.2.1.tar.gz
$ cd sdpap-0.2.1

configure

Ubuntu12.10の場合、sdpaの場所が違うのでsetupcfg.pyを以下のように変更します。

#SDPA_MAKEINC = '/usr/local/sdpa/sdpa.7.3.1/etc/make.inc'
SDPA_MAKEINC = '/usr/share/sdpa/make.inc'

またlibmpiseqの名前が少し異なったので、変更します。 setup.pyの44行目を以下の様に変更します。

libraries=['sdpa','dmumps_seq','mumps_common_seq',
           'pord','mpiseq_seq',LAPACK_NAME,BLAS_NAME]

setup

あとは以下のコマンドを打つだけで終了。

$ python setup.py build
$ sudo python setup.py install