X.resize(X.rows()+1, X.cols()); // 要素を保持しない X.conservativeResize(X.rows()+1, Eigen::NoChange); // 要素を保持する Eigen::MatrixXd X = Eigen::MatrixXd::Random(10, 10); std::cout << X << std::endl; std::cout << X.row(3) << std::endl; std::cout << X.topRows(5) << std::endl; std::cout << X.bottomRows(5) << std::endl; std::cout << X.col(3) << std::endl; std::cout << X.leftCols(5) << std::endl; std::cout << X.r
機械学習を行う上で欠かせないのが行列演算ライブラリです。 pythonにnumpyがあるように、C++のデファクトスタンダードな行列計算ライブラリにEigenというものがあります。ヘッダのみのライブラリなのでプロジェクトに組み込みやすくSIMDとかも使って最適化してくれるので計算も速いです。 ここ最近でEigenを使った際に便利に感じた機能をまとめたいと思います。 Slicing and Indexing v3.3.90から配列のSlicingとIndexingが便利に行えるようになりました。それまではblockAPIやhead/tail関数などを駆使していましたが、pythonのような要素指定が可能になりました。 以下にnumpyとEigenの要素指定方法の比較を載せました。 Eigen numpy
2014年12月03日12:00 カテゴリプログラム Eigen - C++で使える線形代数ライブラリ C++ Advent Calender 2014 絶賛協賛中!! みなさん、Eigenをご存知ですか?? EigenはC++のテンプレートで実装された線形代数ライブラリです。 私自身、配信中の2本のiPhoneアプリで使っており、「これはとても使いやすい!!」と感じています。 その経験から、「C++でベクトル・行列を扱うなら、Eigenオススメ!!」と推しまくってます!!!! 使うメリットライブラリのビルドが不要(使いたいソースでインクルードするだけ)高速(テンプレートが展開され、余計な変数が生成されない)直感的でシンプルなAPI(数式に近いコードが書ける)MPL2なライセンス(closed-source なソフトでも使える)そこで今回は、簡単ながら、ゲームアプリでよく使うであろうベクト
Quaternionの理解・調査を兼ねて、Eigen::Quaternionの挙動を整理しました。 Eigenとは Quaternionとは Eigen::Quaternion 注意 定義方法 回転角の合成 逆クォータニオンと共役クォータニオン 三次元ベクトルの回転 検証プログラム Eigenとは Eigenとは、C++用の行列計算ライブラリです。 ヘッダファイルのみで構成されているためインストールが簡単、 軽量、高速といった利点があります。 大まかな使い方については以下の記事が詳しいです。 Robotics/Eigen - NAIST::OnlineText でらうま倶楽部 : Eigen - C++で使える線形代数ライブラリ Quaternionとは Quaternion(四元数)とは、1つの実数と3つの虚数から構成されたものです。 直感的には扱いにくいですが、 回転行列やEuler角
はじめに WSLでのC++の外部ライブラリの管理について - Qiita インストール先の話など細かいところは割愛しているので,わからない場合はこちらの記事を先に読んでください. 方法① aptでインストール. $ sudo apt install libeigen3-dev /usr/include/eigen3/にインストールされます. 方法② 公式のダウンロードページからダウンロードして自分で配置する. 公式のダウンロードページ:Eigen 適当なディレクトリで解凍すると, eigen-eigen-323c052e1731のような長い文字付きのディレクトリ以下にいろいろ入っているのが確認できると思います.(文字の部分は環境や日時で変わります.) 本体はeigen-eigen-323c052e1731/Eigen/以下なので,これを/usr/local/include/以下にコピーして
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く