Lines Matching refs:Index
62 typedef typename MatrixType::Index Index;
81 PartialPivLU(Index size);
170 inline Index rows() const { return m_lu.rows(); }
171 inline Index cols() const { return m_lu.cols(); }
183 Index m_det_p;
198 PartialPivLU<MatrixType>::PartialPivLU(Index size)
233 typedef typename MatrixType::Index Index;
243 * \returns The index of the first pivot which is exactly zero if any, or a negative number otherwise.
245 static Index unblocked_lu(MatrixType& lu, PivIndex* row_transpositions, PivIndex& nb_transpositions)
247 const Index rows = lu.rows();
248 const Index cols = lu.cols();
249 const Index size = (std::min)(rows,cols);
251 Index first_zero_pivot = -1;
252 for(Index k = 0; k < size; ++k)
254 Index rrows = rows-k-1;
255 Index rcols = cols-k-1;
257 Index row_of_biggest_in_col;
278 // the pivot is exactly zero, we record the index of the first pivot which is exactly 0,
298 * \returns The index of the first pivot which is exactly zero if any, or a negative number otherwise.
304 static Index blocked_lu(Index rows, Index cols, Scalar* lu_data, Index luStride, PivIndex* row_transpositions, PivIndex& nb_transpositions, Index maxBlockSize=256)
309 const Index size = (std::min)(rows,cols);
319 Index blockSize;
323 blockSize = (std::min)((std::max)(blockSize,Index(8)), maxBlockSize);
327 Index first_zero_pivot = -1;
328 for(Index k = 0; k < size; k+=blockSize)
330 Index bs = (std::min)(size-k,blockSize); // actual size of the block
331 Index trows = rows - k - bs; // trailing rows
332 Index tsize = size - k - bs; // trailing size
348 Index ret = blocked_lu(trows+bs, bs, &lu.coeffRef(k,k), luStride,
355 for(Index i=k; i<k+bs; ++i)
357 Index piv = (row_transpositions[i] += k);
364 for(Index i=k;i<k+bs; ++i)
380 void partial_lu_inplace(MatrixType& lu, TranspositionType& row_transpositions, typename TranspositionType::Index& nb_transpositions)
386 <typename MatrixType::Scalar, MatrixType::Flags&RowMajorBit?RowMajor:ColMajor, typename TranspositionType::Index>
403 const Index size = matrix.rows();
407 typename TranspositionType::Index nb_transpositions;