Suitesparse

ラッパーを借用して手軽にcholmod UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

cholmod_solve, cholmode_l_solveは結構大変 どう大変か、というと こちらからもわかるように cholmod_dense * cholmod_solve (int sys, cholmod_factor *L, cholmod_dense *B, cholmod_common *Common) solveする式のパターンを決めるint sys (たとえばAx =…

疎行列クラスの基礎 Suitesparse の cholmodを使ってみる

前の記事の疎行列用クラスのラッパークラス(spinxform)のヘッダー定義と関数コードを眺めて、疎行列クラスがどのようになっているかを見てみる 疎行列クラスの基本 nxm行列の要素を全部並べると大きすぎる。疎であることを利用して、「番地」と「値」の組だ…

最初のプログラム UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

疎行列情報ファイル 例から見よう。3x3行列に5つの非ゼロ要素がある複素数を要素とする行列。./Matrix/c.matというファイルだとする %%MatrixMarket matrix coordinate complex hermitian 3 3 5 1 1 1. 0. 3 1 2. -1. 2 2 1. 0. 3 2 3. 0. 3 3 42. 0. 以…

cholmodプログラムのコンパイルの準備 UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

疎行列情報を記録したファイルを読み込んで、それをハンドリングする、というスタイルを基本にしたい ディレクトリ hogeDirを作り、その下に 以下に示す Makefileを置く。このMakefileは以下に示すディレクトリ構造・ファイル配置で動くように作ってある デ…

UbuntuでSuitesparse Suitesparse の cholmodを使ってみる

Ubuntuのパッケージサイトはこちら Ubuntuのパッケージ管理システムについてはこちら コマンドラインのそれはapt-get Ubuntuのバージョンごとに提供ライブラリをわけて置いてある(こちらのパッケージ一覧に目を通す) trustyを使ったので、trustyのリンクに行…

Suitesparse の cholmodを使ってみる

Suitesparseは疎行列を扱う色々なアルゴリズムの集合体で、テキサス大の先生のサイトが提供元(こちら) cholmodはその一部 疎行列の扱いにあたって、グラフ理論を用いた疎行列の密化をし、そのうえと行列計算を組み合わせる仕組み グラフ理論・グラフの密化の…

使ってみる〜疎行列計算、SuiteSparse for R

さて、うんちくは前の記事に任せて、使ってみることにしよう まずは、密行列と疎行列のうちの、密行列の扱い 密行列 形に応じて、7種類の密行列オブジェクトを用意している dgeMatrix:普通の実数行列を普通に保管 dsyMatrix:実対称行列を圧縮しないで保管 d…

疎行列計算、SuiteSparse for R

疎行列は大規模なデータで扱いたくなる SuiteSparseはこちら。MATLABを想定したCでの実装 その実装についての本もある Direct Methods for Sparse Linear Systems (Fundamentals of Algorithms)作者: Timothy A. Davis出版社/メーカー: Society for Industri…