Lines Matching refs:k
112 int i=0, j=0, k=0; in compute() local
118 for (k = 0; k < (std::max)(nct,nrt); ++k) in compute()
120 if (k < nct) in compute()
124 m_sigma[k] = matA.col(k).end(m-k).norm(); in compute()
125 if (m_sigma[k] != 0.0) // FIXME in compute()
127 if (matA(k,k) < 0.0) in compute()
128 m_sigma[k] = -m_sigma[k]; in compute()
129 matA.col(k).end(m-k) /= m_sigma[k]; in compute()
130 matA(k,k) += 1.0; in compute()
132 m_sigma[k] = -m_sigma[k]; in compute()
135 for (j = k+1; j < n; ++j) in compute()
137 if ((k < nct) && (m_sigma[k] != 0.0)) in compute()
140 …Scalar t = matA.col(k).end(m-k).eigen2_dot(matA.col(j).end(m-k)); // FIXME dot product or cwise pr… in compute()
141 t = -t/matA(k,k); in compute()
142 matA.col(j).end(m-k) += t * matA.col(k).end(m-k); in compute()
147 e[j] = matA(k,j); in compute()
151 if (wantu & (k < nct)) in compute()
152 m_matU.col(k).end(m-k) = matA.col(k).end(m-k); in compute()
154 if (k < nrt) in compute()
158 e[k] = e.end(n-k-1).norm(); in compute()
159 if (e[k] != 0.0) in compute()
161 if (e[k+1] < 0.0) in compute()
162 e[k] = -e[k]; in compute()
163 e.end(n-k-1) /= e[k]; in compute()
164 e[k+1] += 1.0; in compute()
166 e[k] = -e[k]; in compute()
167 if ((k+1 < m) & (e[k] != 0.0)) in compute()
170 work.end(m-k-1) = matA.corner(BottomRight,m-k-1,n-k-1) * e.end(n-k-1); in compute()
171 for (j = k+1; j < n; ++j) in compute()
172 matA.col(j).end(m-k-1) += (-e[j]/e[k+1]) * work.end(m-k-1); in compute()
177 m_matV.col(k).end(n-k-1) = e.end(n-k-1); in compute()
200 for (k = nct-1; k >= 0; k--) in compute()
202 if (m_sigma[k] != 0.0) in compute()
204 for (j = k+1; j < nu; ++j) in compute()
206 …Scalar t = m_matU.col(k).end(m-k).eigen2_dot(m_matU.col(j).end(m-k)); // FIXME is it really a dot … in compute()
207 t = -t/m_matU(k,k); in compute()
208 m_matU.col(j).end(m-k) += t * m_matU.col(k).end(m-k); in compute()
210 m_matU.col(k).end(m-k) = - m_matU.col(k).end(m-k); in compute()
211 m_matU(k,k) = Scalar(1) + m_matU(k,k); in compute()
212 if (k-1>0) in compute()
213 m_matU.col(k).start(k-1).setZero(); in compute()
217 m_matU.col(k).setZero(); in compute()
218 m_matU(k,k) = 1.0; in compute()
226 for (k = n-1; k >= 0; k--) in compute()
228 if ((k < nrt) & (e[k] != 0.0)) in compute()
230 for (j = k+1; j < nu; ++j) in compute()
232 …Scalar t = m_matV.col(k).end(n-k-1).eigen2_dot(m_matV.col(j).end(n-k-1)); // FIXME is it really a … in compute()
233 t = -t/m_matV(k+1,k); in compute()
234 m_matV.col(j).end(n-k-1) += t * m_matV.col(k).end(n-k-1); in compute()
237 m_matV.col(k).setZero(); in compute()
238 m_matV(k,k) = 1.0; in compute()
248 int k=0; in compute() local
263 for (k = p-2; k >= -1; --k) in compute()
265 if (k == -1) in compute()
267 if (ei_abs(e[k]) <= eps*(ei_abs(m_sigma[k]) + ei_abs(m_sigma[k+1]))) in compute()
269 e[k] = 0.0; in compute()
273 if (k == p-2) in compute()
280 for (ks = p-1; ks >= k; --ks) in compute()
282 if (ks == k) in compute()
284 … Scalar t = (ks != p ? ei_abs(e[ks]) : Scalar(0)) + (ks != k+1 ? ei_abs(e[ks-1]) : Scalar(0)); in compute()
291 if (ks == k) in compute()
302 k = ks; in compute()
305 ++k; in compute()
316 for (j = p-2; j >= k; --j) in compute()
322 if (j != k) in compute()
343 Scalar f(e[k-1]); in compute()
344 e[k-1] = 0.0; in compute()
345 for (j = k; j < p; ++j) in compute()
357 t = cs*m_matU(i,j) + sn*m_matU(i,k-1); in compute()
358 m_matU(i,k-1) = -sn*m_matU(i,j) + cs*m_matU(i,k-1); in compute()
372 ei_abs(m_sigma[k])),ei_abs(e[k])); in compute()
376 Scalar sk = m_sigma[k]/scale; in compute()
377 Scalar ek = e[k]/scale; in compute()
393 for (j = k; j < p-1; ++j) in compute()
398 if (j != k) in compute()
440 if (m_sigma[k] <= 0.0) in compute()
442 m_sigma[k] = m_sigma[k] < Scalar(0) ? -m_sigma[k] : Scalar(0); in compute()
444 m_matV.col(k).start(pp+1) = -m_matV.col(k).start(pp+1); in compute()
448 while (k < pp) in compute()
450 if (m_sigma[k] >= m_sigma[k+1]) in compute()
452 Scalar t = m_sigma[k]; in compute()
453 m_sigma[k] = m_sigma[k+1]; in compute()
454 m_sigma[k+1] = t; in compute()
455 if (wantv && (k < n-1)) in compute()
456 m_matV.col(k).swap(m_matV.col(k+1)); in compute()
457 if (wantu && (k < m-1)) in compute()
458 m_matU.col(k).swap(m_matU.col(k+1)); in compute()
459 ++k; in compute()
478 int k = i; in sort() local
485 k = j; in sort()
489 if (k != i) in sort()
491 m_sigma.coeffRef(k) = m_sigma.coeff(i); // i.e. in sort()
496 std::swap(m_matU.coeffRef(s,i), m_matU.coeffRef(s,k)); in sort()
500 std::swap(m_matV.coeffRef(s,i), m_matV.coeffRef(s,k)); in sort()