[eigen] Status of the eigen solver

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hello,

I would like to compute eigen values for non-symmetric matrices. I tried to use to the EigenSolver but it does not compile because it cannot find the function .block(int, int) (see attached log). This function does not appear in the documentation, so I suspect it was not committed. Also, the tests for non self-adjoint matrices are disabled in test/eigensolver.cpp . Does it mean this class is not ready yet?

Thanks!

Tim Hunter

--

Timothy Hunter

Student (Stanford University)

T. 404 421 3075

[100%] Building CXX object test/CMakeFiles/lqr1.dir/lqr1.o
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h: In member function â??void Eigen::EigenSolver<_MatrixType>::orthes(_MatrixType&, Eigen::Matrix<typename Eigen::NumTraits<typename Derived1::Scalar>::Real, _MatrixType::ColsAtCompileTime, 1, 0, _MatrixType::ColsAtCompileTime, 1>&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??:
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:88:   instantiated from â??void Eigen::EigenSolver<_MatrixType>::compute(const _MatrixType&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:58:   instantiated from â??Eigen::EigenSolver<_MatrixType>::EigenSolver(const _MatrixType&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??
/home/tim/Documents/Stanford/leeba/test/lqr1.cpp:51:   instantiated from here
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:130: error: no matching function for call to â??Eigen::Matrix<double, 10, 1, 0, 10, 1>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:130: error: no matching function for call to â??Eigen::Matrix<double, 10, 1, 0, 10, 1>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:133: error: no matching function for call to â??Eigen::Matrix<double, 10, 1, 0, 10, 1>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:133: error: no matching function for call to â??Eigen::Matrix<double, 10, 1, 0, 10, 1>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:88:   instantiated from â??void Eigen::EigenSolver<_MatrixType>::compute(const _MatrixType&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:58:   instantiated from â??Eigen::EigenSolver<_MatrixType>::EigenSolver(const _MatrixType&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??
/home/tim/Documents/Stanford/leeba/test/lqr1.cpp:51:   instantiated from here
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:148: error: no matching function for call to â??Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>::block(int, int)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:148: error: no matching function for call to â??Eigen::Matrix<double, 10, 1, 0, 10, 1>::block(int, int)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:151: error: no matching function for call to â??Eigen::Matrix<double, 10, 1, 0, 10, 1>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:151: error: no matching function for call to â??Eigen::Matrix<double, 10, 1, 0, 10, 1>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Matrix<double, 10, 1, 0, 10, 1>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h: In member function â??void Eigen::EigenSolver<_MatrixType>::hqr2(_MatrixType&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??:
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:91:   instantiated from â??void Eigen::EigenSolver<_MatrixType>::compute(const _MatrixType&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:58:   instantiated from â??Eigen::EigenSolver<_MatrixType>::EigenSolver(const _MatrixType&) [with _MatrixType = Eigen::Matrix<double, 10, 10, 0, 10, 10>]â??
/home/tim/Documents/Stanford/leeba/test/lqr1.cpp:51:   instantiated from here
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:611: error: no matching function for call to â??Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/QR/EigenSolver.h:611: error: no matching function for call to â??Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>::block(int&, int&)â??
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:308: note: candidates are: typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) [with Derived = Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>]
/home/tim/Documents/Stanford/leeba/../Eigen/eigen2/Eigen/src/Core/Block.h:316: note:                 const typename Eigen::BlockReturnType<Derived, 10000, 10000>::Type Eigen::MatrixBase<Derived>::block(int, int, int, int) const [with Derived = Eigen::Block<Eigen::Matrix<double, 10, 10, 0, 10, 10>, 10, 1, 1, 32>]
make[2]: *** [test/CMakeFiles/lqr1.dir/lqr1.o] Error 1
make[1]: *** [test/CMakeFiles/lqr1.dir/all] Error 2
make: *** [all] Error 2


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/