Lines Matching refs:subdiag
367 * pair of two vectors \a diag and \a subdiag.
380 static void tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, Index start, Index end, Scalar* matrixQ, Index n);
737 static void tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, Index start, Index end, Scalar* matrixQ, Index n)
740 RealScalar e = subdiag[end-1];
743 // RealScalar e2 = abs2(subdiag[end-1]);
749 RealScalar z = subdiag[start];
756 RealScalar sdk = rot.s() * diag[k] + rot.c() * subdiag[k];
757 RealScalar dkp1 = rot.s() * subdiag[k] + rot.c() * diag[k+1];
759 diag[k] = rot.c() * (rot.c() * diag[k] - rot.s() * subdiag[k]) - rot.s() * (rot.c() * subdiag[k] - rot.s() * diag[k+1]);
761 subdiag[k] = rot.c() * sdk - rot.s() * dkp1;
765 subdiag[k - 1] = rot.c() * subdiag[k-1] - rot.s() * z;
767 x = subdiag[k];
771 z = -rot.s() * subdiag[k+1];
772 subdiag[k + 1] = rot.c() * subdiag[k+1];