mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-10 18:59:01 +08:00
s/cholesky/llt in precompiled lib and BTL
This commit is contained in:
parent
cc90495e30
commit
19b035ee11
@ -38,8 +38,8 @@ namespace Eigen {
|
|||||||
} // namespace Eigen
|
} // namespace Eigen
|
||||||
|
|
||||||
#define EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MATRIXTYPE,PREFIX) \
|
#define EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MATRIXTYPE,PREFIX) \
|
||||||
PREFIX template class Cholesky<MATRIXTYPE>; \
|
PREFIX template class LLT<MATRIXTYPE>; \
|
||||||
PREFIX template class CholeskyWithoutSquareRoot<MATRIXTYPE>
|
PREFIX template class LDLT<MATRIXTYPE>
|
||||||
|
|
||||||
#define EIGEN_CHOLESKY_MODULE_INSTANTIATE(PREFIX) \
|
#define EIGEN_CHOLESKY_MODULE_INSTANTIATE(PREFIX) \
|
||||||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix2f,PREFIX); \
|
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix2f,PREFIX); \
|
||||||
|
@ -132,7 +132,7 @@ void LDLT<MatrixType>::compute(const MatrixType& a)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RealScalar cutoff, biggest_in_corner;
|
RealScalar cutoff = 0, biggest_in_corner;
|
||||||
|
|
||||||
// By using a temorary, packet-aligned products are guarenteed. In the LLT
|
// By using a temorary, packet-aligned products are guarenteed. In the LLT
|
||||||
// case this is unnecessary because the diagonal is included and will always
|
// case this is unnecessary because the diagonal is included and will always
|
||||||
|
@ -117,15 +117,14 @@ __attribute__ ((noinline)) void benchLLT(const MatrixType& m)
|
|||||||
|
|
||||||
int main(int argc, char* argv[])
|
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";
|
std::cout << "size no sqrt standard";
|
||||||
// #ifdef BENCH_GSL
|
// #ifdef BENCH_GSL
|
||||||
// std::cout << " GSL (standard + double + ATLAS) ";
|
// std::cout << " GSL (standard + double + ATLAS) ";
|
||||||
// #endif
|
// #endif
|
||||||
std::cout << "\n";
|
std::cout << "\n";
|
||||||
//
|
for (uint i=0; dynsizes[i]>0; ++i)
|
||||||
// for (uint i=0; dynsizes[i]>0; ++i)
|
benchLLT(Matrix<Scalar,Dynamic,Dynamic>(dynsizes[i],dynsizes[i]));
|
||||||
// benchLLT(Matrix<Scalar,Dynamic,Dynamic>(dynsizes[i],dynsizes[i]));
|
|
||||||
|
|
||||||
benchLLT(Matrix<Scalar,2,2>());
|
benchLLT(Matrix<Scalar,2,2>());
|
||||||
benchLLT(Matrix<Scalar,3,3>());
|
benchLLT(Matrix<Scalar,3,3>());
|
||||||
|
@ -142,7 +142,7 @@ public :
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){
|
static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){
|
||||||
C = X.cholesky().matrixL();
|
C = X.llt().matrixL();
|
||||||
// C = X;
|
// C = X;
|
||||||
// Cholesky<gene_matrix>::computeInPlace(C);
|
// Cholesky<gene_matrix>::computeInPlace(C);
|
||||||
// Cholesky<gene_matrix>::computeInPlaceBlock(C);
|
// Cholesky<gene_matrix>::computeInPlaceBlock(C);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user