Lines Matching refs:MatrixType
16 template<typename MatrixType, int UpLo> struct LLT_Traits;
25 * \param MatrixType the type of the matrix of which we are computing the LL^T Cholesky decomposition
53 typedef _MatrixType MatrixType;
55 RowsAtCompileTime = MatrixType::RowsAtCompileTime,
56 ColsAtCompileTime = MatrixType::ColsAtCompileTime,
57 Options = MatrixType::Options,
58 MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
60 typedef typename MatrixType::Scalar Scalar;
61 typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
62 typedef typename MatrixType::Index Index;
70 typedef internal::LLT_Traits<MatrixType,UpLo> Traits;
76 * perform decompositions via LLT::compute(const MatrixType&).
89 LLT(const MatrixType& matrix)
144 LLT& compute(const MatrixType& matrix);
150 inline const MatrixType& matrixLLT() const
156 MatrixType reconstructedMatrix() const;
181 MatrixType m_matrix;
190 template<typename MatrixType, typename VectorType>
191 static typename MatrixType::Index llt_rank_update_lower(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma)
193 typedef typename MatrixType::Scalar Scalar;
194 typedef typename MatrixType::RealScalar RealScalar;
195 typedef typename MatrixType::Index Index;
196 typedef typename MatrixType::ColXpr ColXpr;
263 template<typename MatrixType>
264 static typename MatrixType::Index unblocked(MatrixType& mat)
266 typedef typename MatrixType::Index Index;
274 Block<MatrixType,Dynamic,1> A21(mat,k+1,k,rs,1);
275 Block<MatrixType,1,Dynamic> A10(mat,k,0,1,k);
276 Block<MatrixType,Dynamic,Dynamic> A20(mat,k+1,0,rs,k);
289 template<typename MatrixType>
290 static typename MatrixType::Index blocked(MatrixType& m)
292 typedef typename MatrixType::Index Index;
310 Block<MatrixType,Dynamic,Dynamic> A11(m,k, k, bs,bs);
311 Block<MatrixType,Dynamic,Dynamic> A21(m,k+bs,k, rs,bs);
312 Block<MatrixType,Dynamic,Dynamic> A22(m,k+bs,k+bs,rs,rs);
322 template<typename MatrixType, typename VectorType>
323 static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma)
333 template<typename MatrixType>
334 static EIGEN_STRONG_INLINE typename MatrixType::Index unblocked(MatrixType& mat)
336 Transpose<MatrixType> matt(mat);
339 template<typename MatrixType>
340 static EIGEN_STRONG_INLINE typename MatrixType::Index blocked(MatrixType& mat)
342 Transpose<MatrixType> matt(mat);
345 template<typename MatrixType, typename VectorType>
346 static typename MatrixType::Index rankUpdate(MatrixType& mat, const VectorType& vec, const RealScalar& sigma)
348 Transpose<MatrixType> matt(mat);
353 template<typename MatrixType> struct LLT_Traits<MatrixType,Lower>
355 typedef const TriangularView<const MatrixType, Lower> MatrixL;
356 typedef const TriangularView<const typename MatrixType::AdjointReturnType, Upper> MatrixU;
357 static inline MatrixL getL(const MatrixType& m) { return m; }
358 static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); }
359 static bool inplace_decomposition(MatrixType& m)
360 { return llt_inplace<typename MatrixType::Scalar, Lower>::blocked(m)==-1; }
363 template<typename MatrixType> struct LLT_Traits<MatrixType,Upper>
365 typedef const TriangularView<const typename MatrixType::AdjointReturnType, Lower> MatrixL;
366 typedef const TriangularView<const MatrixType, Upper> MatrixU;
367 static inline MatrixL getL(const MatrixType& m) { return m.adjoint(); }
368 static inline MatrixU getU(const MatrixType& m) { return m; }
369 static bool inplace_decomposition(MatrixType& m)
370 { return llt_inplace<typename MatrixType::Scalar, Upper>::blocked(m)==-1; }
382 template<typename MatrixType, int _UpLo>
383 LLT<MatrixType,_UpLo>& LLT<MatrixType,_UpLo>::compute(const MatrixType& a)
409 if(internal::llt_inplace<typename MatrixType::Scalar, UpLo>::rankUpdate(m_matrix,v,sigma)>=0)
446 template<typename MatrixType, int _UpLo>
448 void LLT<MatrixType,_UpLo>::solveInPlace(MatrixBase<Derived> &bAndX) const
459 template<typename MatrixType, int _UpLo>
460 MatrixType LLT<MatrixType,_UpLo>::reconstructedMatrix() const
479 template<typename MatrixType, unsigned int UpLo>
480 inline const LLT<typename SelfAdjointView<MatrixType, UpLo>::PlainObject, UpLo>
481 SelfAdjointView<MatrixType, UpLo>::llt() const