Lines Matching refs:matA
26 void tridiagonalization_inplace(MatrixType& matA, CoeffVectorType& hCoeffs);
323 * Performs a tridiagonal decomposition of the selfadjoint matrix \a matA in-place.
325 * \param[in,out] matA On input the selfadjoint matrix. Only the \b lower triangular part is referenced.
331 * and lower sub-diagonal of the matrix \a matA.
339 * \f$ v_i = [ 0, \ldots, 0, 1, matA(i+2,i), \ldots, matA(N-1,i) ]^T \f$.
346 void tridiagonalization_inplace(MatrixType& matA, CoeffVectorType& hCoeffs)
351 Index n = matA.rows();
352 eigen_assert(n==matA.cols());
360 matA.col(i).tail(remainingSize).makeHouseholderInPlace(h, beta);
363 // i.e., A = H A H' where H = I - h v v' and v = matA.col(i).tail(n-i-1)
364 matA.col(i).coeffRef(i+1) = 1;
366 hCoeffs.tail(n-i-1).noalias() = (matA.bottomRightCorner(remainingSize,remainingSize).template selfadjointView<Lower>()
367 * (conj(h) * matA.col(i).tail(remainingSize)));
369 hCoeffs.tail(n-i-1) += (conj(h)*Scalar(-0.5)*(hCoeffs.tail(remainingSize).dot(matA.col(i).tail(remainingSize)))) * matA.col(i).tail(n-i-1);
371 matA.bottomRightCorner(remainingSize, remainingSize).template selfadjointView<Lower>()
372 .rankUpdate(matA.col(i).tail(remainingSize), hCoeffs.tail(remainingSize), -1);
374 matA.col(i).coeffRef(i+1) = beta;