RokkoDeveloperEigen3 - t-sakashita/rokko GitHub Wiki

Eigen3の備忘録

Storage-orderについて

Storage order(row-major, col-major)について http://eigen.tuxfamily.org/dox/group__TopicStorageOrders.html

leading dimensionの導入の是非

行列次元とleading dimensionが一致しない場合も扱えるようにしたい。

localized_matrixクラス

  • 今の実装では、Matrixクラスを使っているので、leading dimensionを指定できるようになっていない。
  • LAPACKのソルバには、leading dimensionを指定できる。
  • Eigen3では、StrideパラメータがあるMapクラスを使う必要あり。

distribured_matrixクラス

  • 今の実装はただの配列であって、Eigen3のMatrix型を使っていない。
  • Eigen3を使うようにする?
  • Eigen3の行列を使えば、各プロセスごとの行列成分の表示にEigen::Matrixのストリームを援用できる。表示フォーマットの整形に便利。
  • MapクラスのStrideを使って、EigenExaのように、ldimと異なるldaを実現する?

Ref

課題

  • MatrixとMapとRefを共通に扱えるようにする。diagonalize関数を引数の型によってオーバーロードするしかない?