diff options
-rw-r--r-- | Eigen/Cholesky | 4 | ||||
-rw-r--r-- | Eigen/src/Cholesky/LDLT.h | 2 | ||||
-rw-r--r-- | bench/benchCholesky.cpp | 7 | ||||
-rw-r--r-- | bench/btl/libs/eigen2/eigen2_interface.hh | 2 |
4 files changed, 7 insertions, 8 deletions
diff --git a/Eigen/Cholesky b/Eigen/Cholesky index 37b0b3e36..f1806f726 100644 --- a/Eigen/Cholesky +++ b/Eigen/Cholesky @@ -38,8 +38,8 @@ namespace Eigen { } // namespace Eigen #define EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MATRIXTYPE,PREFIX) \ - PREFIX template class Cholesky<MATRIXTYPE>; \ - PREFIX template class CholeskyWithoutSquareRoot<MATRIXTYPE> + PREFIX template class LLT<MATRIXTYPE>; \ + PREFIX template class LDLT<MATRIXTYPE> #define EIGEN_CHOLESKY_MODULE_INSTANTIATE(PREFIX) \ EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix2f,PREFIX); \ diff --git a/Eigen/src/Cholesky/LDLT.h b/Eigen/src/Cholesky/LDLT.h index eeccf9725..c9f49e896 100644 --- a/Eigen/src/Cholesky/LDLT.h +++ b/Eigen/src/Cholesky/LDLT.h @@ -132,7 +132,7 @@ void LDLT<MatrixType>::compute(const MatrixType& a) return; } - RealScalar cutoff, biggest_in_corner; + RealScalar cutoff = 0, biggest_in_corner; // By using a temorary, packet-aligned products are guarenteed. In the LLT // case this is unnecessary because the diagonal is included and will always diff --git a/bench/benchCholesky.cpp b/bench/benchCholesky.cpp index 6772b86cc..c722d6b98 100644 --- a/bench/benchCholesky.cpp +++ b/bench/benchCholesky.cpp @@ -117,15 +117,14 @@ __attribute__ ((noinline)) void benchLLT(const MatrixType& m) int main(int argc, char* argv[]) { -// const int dynsizes[] = {/*4,6,8,12,16,24,32,49,64,67,128,129,130,131,132,*/256,257,258,259,260,512,900,0}; + const int dynsizes[] = {4,6,8,16,24,32,49,64,128,256,512,900,0}; std::cout << "size no sqrt standard"; // #ifdef BENCH_GSL // std::cout << " GSL (standard + double + ATLAS) "; // #endif std::cout << "\n"; -// -// for (uint i=0; dynsizes[i]>0; ++i) -// benchLLT(Matrix<Scalar,Dynamic,Dynamic>(dynsizes[i],dynsizes[i])); + for (uint i=0; dynsizes[i]>0; ++i) + benchLLT(Matrix<Scalar,Dynamic,Dynamic>(dynsizes[i],dynsizes[i])); benchLLT(Matrix<Scalar,2,2>()); benchLLT(Matrix<Scalar,3,3>()); diff --git a/bench/btl/libs/eigen2/eigen2_interface.hh b/bench/btl/libs/eigen2/eigen2_interface.hh index 40d8f9c70..47fe58135 100644 --- a/bench/btl/libs/eigen2/eigen2_interface.hh +++ b/bench/btl/libs/eigen2/eigen2_interface.hh @@ -142,7 +142,7 @@ public : } static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){ - C = X.cholesky().matrixL(); + C = X.llt().matrixL(); // C = X; // Cholesky<gene_matrix>::computeInPlace(C); // Cholesky<gene_matrix>::computeInPlaceBlock(C); |