diff --git a/Eigen/src/LU/PartialLU.h b/Eigen/src/LU/PartialLU.h index 0ef59bac7..20ebd9d6a 100644 --- a/Eigen/src/LU/PartialLU.h +++ b/Eigen/src/LU/PartialLU.h @@ -2,6 +2,7 @@ // for linear algebra. // // Copyright (C) 2006-2009 Benoit Jacob +// Copyright (C) 2009 Gael Guennebaud // // Eigen is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public diff --git a/Eigen/src/QR/ColPivotingHouseholderQR.h b/Eigen/src/QR/ColPivotingHouseholderQR.h index 8024e3b9d..883e3449f 100644 --- a/Eigen/src/QR/ColPivotingHouseholderQR.h +++ b/Eigen/src/QR/ColPivotingHouseholderQR.h @@ -306,6 +306,7 @@ ColPivotingHouseholderQR& ColPivotingHouseholderQR::comp cols_transpositions.coeffRef(k) = biggest_col_in_corner; if(k != biggest_col_in_corner) { m_qr.col(k).swap(m_qr.col(biggest_col_in_corner)); + std::swap(colSqNorms.coeffRef(k), colSqNorms.coeffRef(biggest_col_in_corner)); ++number_of_transpositions; } diff --git a/test/qr_colpivoting.cpp b/test/qr_colpivoting.cpp index 283855451..9c387005a 100644 --- a/test/qr_colpivoting.cpp +++ b/test/qr_colpivoting.cpp @@ -116,9 +116,7 @@ template void qr_verify_assert() void test_qr_colpivoting() { - for(int i = 0; i < 1; i++) { - // FIXME : very weird bug here -// CALL_SUBTEST( qr(Matrix2f()) ); + for(int i = 0; i < 1; i++) { CALL_SUBTEST( qr() ); CALL_SUBTEST( qr() ); CALL_SUBTEST( qr() );