Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

cpp

【読書メモ】C/C++逆引き大全

現場ですぐに使える! C/C++逆引き大全 560の極意作者: 増田智明出版社/メーカー: 秀和システム発売日: 2018/03/27メディア: 単行本この商品を含むブログを見る名前の通り、まんまのC言語、またはC++言語の逆引きリファレンス集です。 初心者一歩あと*1になっ…

Boost::ublasで行列計算する その5:行と列

実際のところ matrix_row(行)とmatrix_column(列) #include <iostream> #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/matrix_proxy.hpp> #include <boost/numeric/ublas/io.hpp> using namespace std; using namespace boost::numeric::ublas; int main() { // double型を要素とする行列 matrix<double> v(3,3);…</double></boost/numeric/ublas/io.hpp></boost/numeric/ublas/matrix_proxy.hpp></boost/numeric/ublas/matrix.hpp></iostream>

Boost::ublasで行列計算する その4:粗行列

cpp

疎行列 出典: フリー百科事典『ウィキペディア(Wikipedia)』疎行列(そぎょうれつ、英: sparse matrix)とは、成分のほとんどが零である行列のことをいう。スパース行列とも言う。 (中略) 数値解析の分野では、疎行列を前提とした解法が多い。疎行列であれ…

Boost::ublasで行列計算する その3:ゼロ行列・単位行列

cpp

実際のところ ゼロ行列 #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; zero_matrix<double> m (3, 3); std::cout << m << std::endl; } 単位行列 #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> int main …</boost/numeric/ublas/io.hpp></boost/numeric/ublas/matrix.hpp></double></boost/numeric/ublas/io.hpp></boost/numeric/ublas/matrix.hpp>

Boost::ublasで行列計算する その2:加法・乗法

cpp

#include <iostream> #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> namespace ublas = boost::numeric::ublas; using namespace std; int main() { // double型を要素とする行列 ublas::matrix<double> v(3,3); ublas::matrix<double> u(3,3); // 各要素の参照と代入 v(0,0) = 3.0; v(0,1) = 0.0; v(0,2…</double></double></boost/numeric/ublas/io.hpp></boost/numeric/ublas/matrix.hpp></iostream>

Boost::ublasで行列計算する その1:行列を生成

cpp

BoostのサブライブラリであるuBlasでは行列やベクトルのような線形代数の計算を高速かつ見通しよく実施することができます。 実際のところ 導入 Ubuntuでの導入なら、apt-get経由でlibboost-devを使ったほうが楽です。 私のように、単に試したいという動機な…

【自習メモ】typedefとusing

typedefやusingはc/cppにて独自のデータ型を作るときに使用する予約語です。 後者の方が新しい記法らしい。また、マイコンを跨いだ実装でありがちな取り扱いビット数の差も、これらを用いて吸収できるとか。 参考もと typedef は C++11 ではオワコン [typede…

boostのforeach文とsplitで改行等特定シンボル毎にリスト化する

cpp

for文よりスマートに記述できるケースも 実際のところ #include <boost/algorithm/string.hpp> #include <string> #include <list> #include <iostream> #include <boost/foreach.hpp> using namespace std; int main() { string str ("1,2\n3,4\n5,6"); string delim ("\n"); list<string> list_string; boost::split(list_string, str, boos</string></boost/foreach.hpp></iostream></list></string></boost/algorithm/string.hpp>…

boostライブラリでCSVをパース

boostはC++標準委員の中の人が関わってつくった、最強ライブラリです。 数学系やパーサー系の強力なのが揃っています。 実際のところ #include <iostream> #include <string> #include <boost/tokenizer.hpp> #include <boost/foreach.hpp> using namespace std; typedef boost::tokenizer< boost::escaped_list_separat</boost/foreach.hpp></boost/tokenizer.hpp></string></iostream>…