kernel() function not supported for inplace decompositions
Summary
When using FullPivLU with a Ref matrix type I get a compile error trying to use the kernel() function.
Environment
- Operating System : Arch Linux
- Architecture : x86
- Eigen Version : 3.4.0
- Compiler Version : gcc 11.1
- Compile Flags :
- Vector Extension :
Minimal Example
https://godbolt.org/z/Teq5GaTEv
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main() {
Eigen::MatrixXd mat = MatrixXd::Identity(4,4);
FullPivLU<Ref<MatrixXd>> lu(mat);
Eigen::MatrixXd ns = lu.kernel();
std::cout << ns << std::endl;
return 0;
}
Steps to reproduce
Attempt to compile the above program
What is the current bug behavior?
Compiler error:
/usr/include/eigen3/Eigen/src/misc/Kernel.h:34:5: error: ‘Options’ is not a member of ‘Eigen::FullPivLU<Eigen::Ref<Eigen::Matrix<double, -1, -1> > >::MatrixType’ {aka ‘Eigen::Ref<Eigen::Matrix<double, -1, -1> >’}
What is the expected correct behavior?
no compiler error