diff --git a/gtsam/base/Matrix.cpp b/gtsam/base/Matrix.cpp index a94c7f8d4..a262e9595 100644 --- a/gtsam/base/Matrix.cpp +++ b/gtsam/base/Matrix.cpp @@ -649,7 +649,7 @@ void householder(Matrix &A, size_t k) { /** in-place householder */ /* ************************************************************************* */ #ifdef GT_USE_LAPACK -#ifdef YA_BLAS +#ifdef USE_LAPACK_QR void householder(Matrix &A) { __CLPK_integer m = A.size1(); __CLPK_integer n = A.size2(); diff --git a/gtsam/base/Matrix.h b/gtsam/base/Matrix.h index c78d01f3a..8c69fb666 100644 --- a/gtsam/base/Matrix.h +++ b/gtsam/base/Matrix.h @@ -267,7 +267,7 @@ void householder_(Matrix& A, size_t k); void householder(Matrix& A, size_t k); #ifdef GT_USE_LAPACK -#ifdef YA_BLAS +#ifdef USE_LAPACK_QR /** * Householder tranformation, zeros below diagonal * @return nothing: in place !!! diff --git a/gtsam/linear/NoiseModel.cpp b/gtsam/linear/NoiseModel.cpp index 10c8c76a2..36b8e5663 100644 --- a/gtsam/linear/NoiseModel.cpp +++ b/gtsam/linear/NoiseModel.cpp @@ -122,6 +122,8 @@ void Gaussian::WhitenInPlace(MatrixColMajor& H) const { // General QR, see also special version in Constrained SharedDiagonal Gaussian::QR(Matrix& Ab, boost::optional&> firstZeroRows) const { + assert(false); + // get size(A) and maxRank // TODO: really no rank problems ? size_t m = Ab.size1(), n = Ab.size2()-1; @@ -234,7 +236,13 @@ SharedDiagonal Gaussian::QRColumnWise(ublas::matrix // Perform in-place Householder #ifdef GT_USE_LAPACK +#ifdef USE_LAPACK_QR + assert(firstZeroRows); + householderColMajor(Ab); +#elif USE_DAVIS_QR +#else householder_denseqr_colmajor(Ab, &firstZeroRows[0]); +#endif #else Matrix Ab_rowWise = Ab; householder(Ab_rowWise, maxRank);