スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

C++ boostで行列演算を可能に

boostとやらを導入すると行列演算が可能になるようです。
とりあえずインストールしてみました。

boostに関する情報はこちらを参考下さい。
Boost.org
Let's boost
ダウンロード、インストール共にスムーズに行きましたが
試しの計算で結構不具合?がありました。

まずこちらのサイトのソースを試しましたが
boost::numeric::ublas 線形代数ライブラリの使い方
スパース行列、スパースベクトルの定義でエラーがでました。
matrix_sparse.hppの中を見てみましたが「sparse_matrix」の定義が見当たりませんでした。
「sparse_matrix_element」というのはありましたが。
あとは行列×ベクトルの演算でエラーが出ました。
size1==size2とかいうメッセージがでましたが良く分かりません。
原因は分かりませんがこちらのソースで試したら計算できました。
Wiki Boost

不明な点は多々ありますが行列演算が可能になったことは非常に大きいです。
ノルム等も一発で求まります。
欲を言えばSparse行列の定義も上手くいってほしかったところですが
大規模自由度を扱うのはソフトウェアが形になってからですので。

とりあえずこれでFEM解析部分の作成が始められそうです。

スポンサーサイト

テーマ : ソフトウェア開発
ジャンル : コンピュータ

コメントの投稿

非公開コメント

おもしろそうですね

こんばんは

おもしろそうなプログラム見つけましたね。
私お後で試してみようかな。。。

No title

どうもです。
強力なライブラリであることは間違いないです。

ただ私のC++の知識が乏しいせいでまだほとんど
活用できていないです。

これにCLapackとやらも加えると数学演算が
ほぼ何でもできるようになるようです。

またoctaveをC++で使えるliboctaveというのもあるようです。
ただ、コンパイル作業が必要なようで私にはできそうにないです。
私は主にWindowsのVisual Stadioでソフト開発を
やっているんですがライブラリのインストールを一発で
やってくれる状態になっていないと利用できないのが
現状です。
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

uglab

Author:uglab
ソフト開発会社

【Twitter】
フォローお願いします

【You tube動画一覧】
チャンネル登録お願いします


最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
スポンサードリンク
    【スポンサードリンク】

リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。