Lines Matching refs:Base

311     typedef SimplicialCholeskyBase<SimplicialLLT> Base;
322 SimplicialLLT() : Base() {}
325 : Base(matrix) {}
329 eigen_assert(Base::m_factorizationIsOk && "Simplicial LLT not factorized");
330 return Traits::getL(Base::m_matrix);
335 eigen_assert(Base::m_factorizationIsOk && "Simplicial LLT not factorized");
336 return Traits::getU(Base::m_matrix);
342 Base::template compute<false>(matrix);
354 Base::analyzePattern(a, false);
365 Base::template factorize<false>(a);
371 Scalar detL = Base::m_matrix.diagonal().prod();
400 typedef SimplicialCholeskyBase<SimplicialLDLT> Base;
411 SimplicialLDLT() : Base() {}
415 : Base(matrix) {}
419 eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
420 return Base::m_diag;
424 eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
425 return Traits::getL(Base::m_matrix);
430 eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
431 return Traits::getU(Base::m_matrix);
437 Base::template compute<true>(matrix);
449 Base::analyzePattern(a, true);
460 Base::template factorize<true>(a);
466 return Base::m_diag.prod();
482 typedef SimplicialCholeskyBase<SimplicialCholesky> Base;
492 SimplicialCholesky() : Base(), m_LDLT(true) {}
495 : Base(), m_LDLT(true)
518 eigen_assert(Base::m_factorizationIsOk && "Simplicial Cholesky not factorized");
519 return Base::m_diag;
522 eigen_assert(Base::m_factorizationIsOk && "Simplicial Cholesky not factorized");
523 return Base::m_matrix;
530 Base::template compute<true>(matrix);
532 Base::template compute<false>(matrix);
544 Base::analyzePattern(a, m_LDLT);
556 Base::template factorize<true>(a);
558 Base::template factorize<false>(a);
565 eigen_assert(Base::m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()");
566 eigen_assert(Base::m_matrix.rows()==b.rows());
568 if(Base::m_info!=Success)
571 if(Base::m_P.size()>0)
572 dest = Base::m_P * b;
576 if(Base::m_matrix.nonZeros()>0) // otherwise L==I
579 LDLTTraits::getL(Base::m_matrix).solveInPlace(dest);
581 LLTTraits::getL(Base::m_matrix).solveInPlace(dest);
584 if(Base::m_diag.size()>0)
585 dest = Base::m_diag.asDiagonal().inverse() * dest;
587 if (Base::m_matrix.nonZeros()>0) // otherwise I==I
590 LDLTTraits::getU(Base::m_matrix).solveInPlace(dest);
592 LLTTraits::getU(Base::m_matrix).solveInPlace(dest);
595 if(Base::m_P.size()>0)
596 dest = Base::m_Pinv * dest;
603 return Base::m_diag.prod();
607 Scalar detL = Diagonal<const CholMatrixType>(Base::m_matrix).prod();