LoginSignup
71
60

More than 5 years have passed since last update.

【C++】Eigen関数一覧

Last updated at Posted at 2016-01-07

Eigenの関数を機能単位で整理(随時更新)

Eigen::MatrixXd mat;

function 概要
Eigen::MatrixXd::Random(r, c) 初期化:r×c行列、値が乱数
Eigen::MatrixXd::Constant(r, c, v) 初期化:r×c行列、値がv
Eigen::MatrixXd::Zero(r, c) 初期化:r×c行列、値が0
Eigen::MatrixXd::Ones(r, c) 初期化:r×c行列、値が1
mat.resize(r, c) 自己変換:r×c行列にリサイズ※値は0クリア
mat.conservativeResize(r, c) 自己変換:r×c行列にリサイズ※値は保持
変更しない行/列はEigen::NoChange
mat.transposeInPlace() 自己変換:転置行列
mat.adjointInPlace() 自己変換:随伴行列
mat.rows() 確認:行数
mat.cols() 確認:列数
mat(ii, jj) 参照:ii行, jj列
mat.row(ii) 参照:ii行
mat.col(jj) 参照:jj列
mat.block(ii, jj, r, c) 参照:ii行, jj列からrxc行列
mat.topLeftCorner(r, c) 参照:左上r×c行列
mat.topRightCorner(r, c) 参照:右上r×c行列
mat.bottomLeftCorner(r, c) 参照:左下r×c行列
mat.bottomRightCorner(r, c) 参照:右下r×c行列
mat.topRows(r) 参照:上からr行
mat.bottomRows(r) 参照:下からr行
mat.middleRows(ii, n) 参照:ii行目からn行
mat.leftCols(c) 参照:左からc列
mat.rightCols(c) 参照:右からc列
mat.middleCols(jj, n) 参照:jj列目からn列
mat.transpose() 転置行列
mat.conjugate() 複素共役行列
mat.adjoint() 随伴行列
mat.cwiseAbs() 係数毎の計算:絶対値
mat.cwiseAbs2() 係数毎の計算:絶対値の二乗
mat.cwizeInverse() 係数毎の計算:逆数
mat.cwizeSqrt() 係数毎の計算:平方根
mat.cwizeEqual(mat2) 係数毎の計算:==
mat.cwizeNotEqual(mat2) 係数毎の計算:!=
mat.cwizeMin(mat2) 係数毎の計算:小さな値
mat.cwizeMax(mat2) 係数毎の計算:大きな値
mat.cwizeProduct(mat2) 係数毎の計算:掛け算, (mat1.array() * mat2.array()).matrix()と等価
mat.cwizeQuotient(mat2) 係数毎の計算:割り算
mat.array() Eigen::ArrayXd型

Eigen::VectorXd vec;

function 概要
Eigen::VectorXd::LinSpaced(size, low, high) 初期化 low~highをsizeで分割した連続値
vec.head(num)
vec.tail(num)
vec.segment(i, num)
vec.tail(num)

Eigen::ArrayXd arr;

function 概要
arr.sin() 三角関数:sine(要素が90の時1)
arr.cos() 三角関数:cosine(要素が90の時0)
71
60
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
71
60