Lines Matching refs:Base
57 typedef SparseSolverBase<Derived> Base;
58 using Base::m_isInitialized;
79 using Base::derived;
335 typedef SimplicialCholeskyBase<SimplicialLLT> Base;
346 SimplicialLLT() : Base() {}
349 : Base(matrix) {}
353 eigen_assert(Base::m_factorizationIsOk && "Simplicial LLT not factorized");
354 return Traits::getL(Base::m_matrix);
359 eigen_assert(Base::m_factorizationIsOk && "Simplicial LLT not factorized");
360 return Traits::getU(Base::m_matrix);
366 Base::template compute<false>(matrix);
378 Base::analyzePattern(a, false);
389 Base::template factorize<false>(a);
395 Scalar detL = Base::m_matrix.diagonal().prod();
426 typedef SimplicialCholeskyBase<SimplicialLDLT> Base;
437 SimplicialLDLT() : Base() {}
441 : Base(matrix) {}
445 eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
446 return Base::m_diag;
450 eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
451 return Traits::getL(Base::m_matrix);
456 eigen_assert(Base::m_factorizationIsOk && "Simplicial LDLT not factorized");
457 return Traits::getU(Base::m_matrix);
463 Base::template compute<true>(matrix);
475 Base::analyzePattern(a, true);
486 Base::template factorize<true>(a);
492 return Base::m_diag.prod();
508 typedef SimplicialCholeskyBase<SimplicialCholesky> Base;
518 SimplicialCholesky() : Base(), m_LDLT(true) {}
521 : Base(), m_LDLT(true)
544 eigen_assert(Base::m_factorizationIsOk && "Simplicial Cholesky not factorized");
545 return Base::m_diag;
548 eigen_assert(Base::m_factorizationIsOk && "Simplicial Cholesky not factorized");
549 return Base::m_matrix;
556 Base::template compute<true>(matrix);
558 Base::template compute<false>(matrix);
570 Base::analyzePattern(a, m_LDLT);
582 Base::template factorize<true>(a);
584 Base::template factorize<false>(a);
591 …eigen_assert(Base::m_factorizationIsOk && "The decomposition is not in a valid state for solving, …
592 eigen_assert(Base::m_matrix.rows()==b.rows());
594 if(Base::m_info!=Success)
597 if(Base::m_P.size()>0)
598 dest = Base::m_P * b;
602 if(Base::m_matrix.nonZeros()>0) // otherwise L==I
605 LDLTTraits::getL(Base::m_matrix).solveInPlace(dest);
607 LLTTraits::getL(Base::m_matrix).solveInPlace(dest);
610 if(Base::m_diag.size()>0)
611 dest = Base::m_diag.asDiagonal().inverse() * dest;
613 if (Base::m_matrix.nonZeros()>0) // otherwise I==I
616 LDLTTraits::getU(Base::m_matrix).solveInPlace(dest);
618 LLTTraits::getU(Base::m_matrix).solveInPlace(dest);
621 if(Base::m_P.size()>0)
622 dest = Base::m_Pinv * dest;
636 return Base::m_diag.prod();
640 Scalar detL = Diagonal<const CholMatrixType>(Base::m_matrix).prod();