Public bug reported:

libeigen-3.3-beta1 is out of date. As a beta version, it breaks a lot of
the existing code. In particular, triangular views were left out of this
release, and re-inserted in 3.3-beta2 (amongst a lot of bug fixes, see
http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3-beta2).

An example code that does not work in 3.3-beta1, but does work in the
previous and next version of Eigen:

#include <iostream>
#include <Eigen/Dense>

using namespace std;
using namespace Eigen

int main(int argc, char *argv[]) {

    MatrixXd X = MatrixXd::Random(3, 3);

    SelfAdjointEigenSolver<MatrixXd> solver(X.selfadjointView<Lower>());
    MatrixXd V = solver.eigenvectors();
    VectorXd D = solver.eigenvalues();

    cout << "X=\n" << X << endl;
    cout << "V=\n" << V << endl;
    cout << "D=\n" << D << endl;

    return 0;
}

This complains with:

In file included from /usr/include/eigen3/Eigen/Eigenvalues:38:0,
                 from /usr/include/eigen3/Eigen/Dense:7,
                 from mwe.cpp:3:
/usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In 
instantiation of ‘Eigen::SelfAdjointEigenSolver<MatrixType>& 
Eigen::SelfAdjointEigenSolver<_MatrixType>::compute(const 
Eigen::EigenBase<OtherDerived>&, int) [with InputType = 
Eigen::SelfAdjointView<Eigen::Matrix<double, -1, -1>, 1u>; _MatrixType = 
Eigen::Matrix<double, -1, -1>]’:
/usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:168:14:   
required from 
‘Eigen::SelfAdjointEigenSolver<_MatrixType>::SelfAdjointEigenSolver(const 
Eigen::EigenBase<OtherDerived>&, int) [with InputType = 
Eigen::SelfAdjointView<Eigen::Matrix<double, -1, -1>, 1u>; _MatrixType = 
Eigen::Matrix<double, -1, -1>]’
mwe.cpp:12:74:   required from here
/usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:428:7: 
error: ‘const class Eigen::SelfAdjointView<Eigen::Matrix<double, -1, -1>, 1u>’ 
has no member named ‘triangularView’
   mat = matrix.template triangularView<Lower>();


So in short, the official version of the LTS is currently very buggy. How did a 
beta version got included in a LTS? I guess it's impossible to go back to 3.2.9 
(the latest package on 15.10 is 3.2.5), so could we at least bump it to the 
3.3-beta2?


Ubuntu release:
Description:    Ubuntu 16.04.1 LTS
Release:        16.04

Package version:
libeigen3-dev:
  Installed: 3.3~beta1-2
  Candidate: 3.3~beta1-2
  Version table:
 *** 3.3~beta1-2 500
        500 http://fr.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        500 http://fr.archive.ubuntu.com/ubuntu xenial/universe i386 Packages
        100 /var/lib/dpkg/status

** Affects: eigen3 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1610265

Title:
  libeigen-3.3-beta1 is out of date and broken

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/eigen3/+bug/1610265/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to