のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

Boost

Ublasの拡張ライブラリを少々更新しました。

皆さんこんにちは お元気ですか。私は元気です。さて、今日は以前作っていた拡張ライブラリを更新していたというお話です。 以前、作っていたものに更に更新をかけ、パワーアップさせました。以前作っていたもの 追加の拡張内容 vector の行ごと列ごとの平均…

boostの行列演算ライブラリのublasの拡張ライブラリ作っています。

皆さんこんにちは お元気ですか。私は元気です。今日はublasについてです。ublasのvectorとかmatrixとか正直、結構不便です。 うん、絶対値を求めたベクトルを返す関数すらないし……。ということで今、これらを解決したいなーなんて思っているうちに拡張用の…

C++ Boost Library 記事まとめ

皆さんこんにちは お元気ですか?私はもう疲れました。さて、今日記載するのはBoostの記事を纏めたものです。Boostというのはですね。C++のライブラリです。端的にいうと常備されていないけど、使われることが多いライブラリを一括してまとめられています。 …

Boost::Date 日付管理を行うライブラリ

皆さんこんにちは お元気ですか。私は元気です。さて、今日はBoostの中にある日付管理のライブラリを解説します。現在の日付を表示したり、間の日付を計算したり日付に関する処理を行うことができます。 コンパイルオプション g++ date.cpp -lboost_date_tim…

Boost Thread(1) マルチスレッドに挑戦してみよう

皆さんこんにちは お元気ですか?やりたいこと、やることが増えすぎて困ってるけど、まぁなんとかなるでしょう。実は以前、C++11でのThreadを紹介させて頂きました。 今回はBoostを使ったMultiThreadを紹介したいと思います。因みにこのライブラリOSが変わっ…

Boost::Timer 時間計測に使う

皆さんこんにちは お元気ですか。私は元気です。今日はBoost::Timerについて C++ではc_clockを使うことで時間を計測することができます。 しかし、 Timer 通常の使い方 #include <iostream> #include <cmath> #include <string> #include <boost/timer/timer.hpp> using namespace std; int main(int argc, ch</boost/timer/timer.hpp></string></cmath></iostream>…

Boost::Property_tree XML解析

皆さんこんにちは お元気ですか。私は元気です。さて、今日はXMLの解析並びに記述を行いたいと思います。 もれなく、boostに解析するライブラリがあります。 XML Parse 解析用XMLファイル <root> <person> <name>山田太郎</name> <address>東京都文京区</address> <gender>漢</gender> <age>42</age> </person> <person> <name>山田花子</name> <address>兵庫県神戸市</address> </person></root>

Boost Graph(1) グラフの表示をしてみましょう!

皆さんこんにちは お元気ですか。私は元気です。さて、今日はBoost Graphについて解説したいと思います。 このグラフはあれですよ、ほら有向グラフとかのグラフで折れ線グラフとかではありません。 グラフを構築する #include <fstream> #include <vector> #include <string> #include <boost/graph/adjacency_list.hpp></boost/graph/adjacency_list.hpp></string></vector></fstream>…

Boost::ublas(4) 逆行列と行列式

皆さんこんにちは お元気ですか。私は元気です。久々にublasのネタですね。 ところで、boost::ublasで逆行列と行列式を求めたいことありませんか?そこで、ライブラリを探すのですが…実は逆行列と行列式は存在しません。 要はつまり、実装しろと…しかし、逆…

Boost::ublas(3) ゼロ行列、単位行列、対称行列、密行列、対角行列

皆さんこんにちわ。 お元気ですか?実は通常のmatrix以外にも色々なmatrixを構成することができます。 今回はそれらのご紹介です。今回紹介するのは以下の5種類。 ゼロ行列 zero_matrix ゼロ埋めされている行列 単位行列 identity_matrix 対角成分が1の行列…

Boost::ublas(2) matrixやvectorのリサイズ、列・行だけ取り出す、転置行列を作る方法

皆さんこんにちわ お元気ですか?私は寒いです。さて今回はboost::ublas第二回 お題目はなんか行や列をかえたいとか列だけ取り出したいとか転置したいとかとかあると思います。今日はそれをやってみましょう。 ソースコード #include <iostream> #include <boost/numeric/ublas/vector.hpp> #include <boost/numeric/ublas/matrix.hpp> #</boost/numeric/ublas/matrix.hpp></boost/numeric/ublas/vector.hpp></iostream>…

Boost::ublas(1) 四則演算とmatrix,vector型のアクセスについて

皆さんこんにちわ。 お元気ですか?私はXORを学習するニューラルネットワークが完成して満足です。さて、本日はublasについて ublasとは行列演算を行うboostに付属しているライブラリです。 つまり、boostをインストールすれば使えます。行列演算が多くなる…

boost::python(6) pyublasを利用したnumpy.arrayとの連携方法

皆さんこんにちわ。 お元気ですか?私は眠いんです…。本日も相変わらずBoost::pythonについて 特にPythonの科学技術計算ライブラリnumpyのarray型を扱ってみたいと思います。 C++ #include <Python.h> #include <numpy/arrayobject.h> #include <boost/python.hpp> #include <pyublas/numpy.hpp> using namespace std; using names</pyublas/numpy.hpp></boost/python.hpp></numpy/arrayobject.h></python.h>…

Boost::python(5) pyublasのインストール

皆さんこんにちわ。 お元気ですか?私は焼きそばつくって満足しました。さて、本日はscipyをboost::pythonで使用する準備をしたいと思います。 boost::python とnumpy,scipyを互換するライブラリ、pyublasがあります。少々手こずったので、インストール方法…

Boost::python(4) クラスの継承と多重継承

こんにちわ 皆さんお元気ですか?私は金欠です。さて、今回もBoost::python。 どうやらもう4回目、今回はクラスの継承、多重継承についてやりましょう。さて、クラスの継承はこう書きます。 クラスの継承 C++ #include <boost/python.hpp> class Foo{ public: int temp; void v</boost/python.hpp>…

Boost::python(3) pythonの辞書型(dict)、listで返す方法

皆さんこんにちわ お元気ですか?さて、本日もBoostしようか。 本日はlistとdictについてさて、実はboost::pythonはvectorとかmapではなく、pythonの型に直して返すことができます。 こいつらです。 >>> a = [1,2,3,4] #list >>> b = {"foo","bar"} #diction…

boost::python(2) STLの活用 vectorとmap(Suiteも活用)

こんにちは 皆さんお元気ですか?私は面白い遊びを探しています。さて、先日に引き続きboost::pythonについて 本日はC++のSTLについて取り扱ってみたいと思います。さて、STLを使用する時に普通のものと違い少々めんどくさくなります。 通常の実装方法 C++ #…

boost::python(1) classと関数の使用方法(PythonからC++の呼び出し)

皆さんこんにちわ。 お元気ですか?私は用心棒と呼ばれるラーメン屋にいって満足しました。元気です。本日はboost::pythonのお話です。 boost::pythonとはC++クラスや関数をラップするPythonモジュールを簡単にかけるようなライブラリです。 Python.h を使っ…

boost インストールから実行(boost::python)まで。

皆さんこんにちわ。 お元気ですか?私は疲れました。本日はboostについてboostとは「C++の先駆的な開発者のコミュニティ、及びそのコミュニティによって公開されているオープンソースライブラリのことを指すそうです」。(Wikipedia) boostの中にはファイル…