2008-01-01から1年間の記事一覧

逆行列,疑似逆行列

行列 (Matrix/ComplexMatrix) A が正則の場合には A.inverse() で逆行列が求められる.非正則の場合には A.pseudo_inverse() で疑似逆行列(ムーア・ペンローズ型の一般逆行列)が求められる.

liboctave の基礎:コンパイルと型と基本演算

liboctave には「行列型 Matrix」や「列ベクトル型 ColumnVector」がクラスとして実装されていて, これらの間の足し算や割算が operator として定義されている . だから,行列の複雑な演算がとてもシンプルに書くことができるのは,容易に想像がつくだろう…

liboctave で数値計算(リンクとインストール)

C++ で行列演算がメインの数値計算をしたいとき(ロボティクスとか機械学習の分野などで),いちいち自分で逆行列とかの基本的な演算を自分で実装してたら埓があかない.何かライブラリを利用したい.ここでは Matlab と互換性が(それなりに)ある octave を …

N整数変数のループ生成クラス

x, y をそれぞれ (0,49), (0,20) の範囲で繰り返したい場合は,2重に for ループを書けばよい.変数が x, y, z なら3重にforループを書く.NならN重ループ.このNが何らかの事情でコンパイル以前に決められない場合はどうしよう.

コマンドラインからクリップボードにコピー

コマンドラインで,例えば pwd などで出力させた文字列をクリップボードにコピーする方法は,

C++で2つの ostream に同時出力する

C++で std::cout と std::ofstream のインスタンスに同じ内容を出力するとき,ほぼ同じコードを2回書かないとダメだ. ofstream os ("tmp.dat"); dout(cout, os) << "x= " << x << endl; こんな感じで,一文で書けるようにしたい.

コマンドライン辞書

linux のコマンドラインで % ej dictionaryとか打つだけで,英辞郎 on the Webの検索結果が表示されると便利だ.