10 #define TEST_ENABLE_TEMPORARY_TRACKING 
   13 #include <Eigen/Cholesky> 
   17 template<
typename MatrixType, 
int UpLo>
 
   21   return symm.cwiseAbs().colwise().sum().maxCoeff();
 
   34   CholType<MatrixType,Lower> chollo(symmLo);
 
   35   CholType<MatrixType,Upper> cholup(symmUp);
 
   37   for (
int k=0; 
k<10; ++
k)
 
   41     symmCpy += 
sigma * vec * vec.adjoint();
 
   44     CholType<MatrixType,Lower> chol(symmCpy);
 
   48     chollo.rankUpdate(vec, 
sigma);
 
   51     cholup.rankUpdate(vec, 
sigma);
 
   72   SquareMatrixType 
symm =  a0 * a0.adjoint();
 
   74   for (
int k=0; 
k<3; ++
k)
 
   84     SquareMatrixType symmUp = 
symm.template triangularView<Upper>();
 
   90     check_solverbase<VectorType, VectorType>(
symm, chollo, 
rows, 
rows, 1);
 
   95                              matrix_l1_norm<MatrixType, Lower>(symmLo_inverse);
 
   99     VERIFY(rcond_est >= rcond / 10 && rcond_est <= rcond * 10);
 
  104     vecX = cholup.
solve(vecB);
 
  112     rcond = (
RealScalar(1) / matrix_l1_norm<MatrixType, Upper>(symmUp)) /
 
  113                              matrix_l1_norm<MatrixType, Upper>(symmUp_inverse);
 
  114     rcond_est = cholup.
rcond();
 
  115     VERIFY(rcond_est >= rcond / 10 && rcond_est <= rcond * 10);
 
  130     m2 += symmLo.template selfadjointView<Lower>().llt().solve(
matB);
 
  133     m2 -= symmLo.template selfadjointView<Lower>().llt().solve(
matB);
 
  136     m2.noalias() += symmLo.template selfadjointView<Lower>().llt().solve(
matB);
 
  139     m2.noalias() -= symmLo.template selfadjointView<Lower>().llt().solve(
matB);
 
  148     int sign = internal::random<int>()%2 ? 1 : -1;
 
  155     SquareMatrixType symmUp = 
symm.template triangularView<Upper>();
 
  162     check_solverbase<VectorType, VectorType>(
symm, ldltlo, 
rows, 
rows, 1);
 
  167                              matrix_l1_norm<MatrixType, Lower>(symmLo_inverse);
 
  171     VERIFY(rcond_est >= rcond / 10 && rcond_est <= rcond * 10);
 
  177     vecX = ldltup.
solve(vecB);
 
  185     rcond = (
RealScalar(1) / matrix_l1_norm<MatrixType, Upper>(symmUp)) /
 
  186                              matrix_l1_norm<MatrixType, Upper>(symmUp_inverse);
 
  187     rcond_est = ldltup.
rcond();
 
  188     VERIFY(rcond_est >= rcond / 10 && rcond_est <= rcond * 10);
 
  195     if(MatrixType::RowsAtCompileTime==
Dynamic)
 
  217       SquareMatrixType 
A = 
symm;
 
  219       A.bottomRightCorner(
c,
c).setZero();
 
  226       vecX = ldltlo.
solve(vecB);
 
  233       Index r = internal::random<Index>(1,
rows-1);
 
  235       SquareMatrixType 
A = 
a * 
a.adjoint();
 
  242       vecX = ldltlo.
solve(vecB);
 
  256       SquareMatrixType 
A = 
a * 
d.asDiagonal() * 
a.adjoint();
 
  263       vecX = ldltlo.
solve(vecB);
 
  301   RealMatrixType a0 = RealMatrixType::Random(
rows,
cols);
 
  304   RealMatrixType 
symm =  a0 * a0.adjoint();
 
  306   for (
int k=0; 
k<3; ++
k)
 
  308     RealMatrixType 
a1 = RealMatrixType::Random(
rows,
cols);
 
  318     check_solverbase<VectorType, VectorType>(
symm, chollo, 
rows, 
rows, 1);
 
  324     int sign = internal::random<int>()%2 ? 1 : -1;
 
  337     check_solverbase<VectorType, VectorType>(
symm, ldltlo, 
rows, 
rows, 1);
 
  422 #if (!EIGEN_ARCH_i386) || defined(EIGEN_VECTORIZE_SSE2) 
  426            -3, -8.9999999999999999999, 1,
 
  445     mat <<  0.1, 0, -0.1, 0, 0, 0, 1, 0,
 
  446             0, 4.24667, 0, 2.00333, 0, 0, 0, 0,
 
  447             -0.1, 0, 0.2, 0, -0.1, 0, 0, 0,
 
  448             0, 2.00333, 0, 8.49333, 0, 2.00333, 0, 0,
 
  449             0, 0, -0.1, 0, 0.1, 0, 0, 1,
 
  450             0, 0, 0, 2.00333, 0, 4.24667, 0, 0,
 
  451             1, 0, 0, 0, 0, 0, 0, 0,
 
  452             0, 0, 0, 0, 1, 0, 0, 0;