• Home
  • Raw
  • Download

Lines Matching refs:firstCol

175   void divide(Index firstCol, Index lastCol, Index firstRowW, Index firstColW, Index shift);
176 void computeSVDofM(Index firstCol, Index n, MatrixXr& U, VectorType& singVals, MatrixXr& V);
180 void deflation43(Index firstCol, Index shift, Index i, Index size);
182 …void deflation(Index firstCol, Index lastCol, Index k, Index firstRowW, Index firstColW, Index shi…
391 void BDCSVD<MatrixType>::divide (Index firstCol, Index lastCol, Index firstRowW, Index firstColW, I…
397 const Index n = lastCol - firstCol + 1;
410 …JacobiSVD<MatrixXr> b(m_computed.block(firstCol, firstCol, n + 1, n), ComputeFullU | (m_compV ? Co…
412 m_naiveU.block(firstCol, firstCol, n + 1, n + 1).real() = b.matrixU();
415 m_naiveU.row(0).segment(firstCol, n + 1).real() = b.matrixU().row(0);
416 m_naiveU.row(1).segment(firstCol, n + 1).real() = b.matrixU().row(n);
419 m_computed.block(firstCol + shift, firstCol + shift, n + 1, n).setZero();
420 m_computed.diagonal().segment(firstCol + shift, n) = b.singularValues().head(n);
424 alphaK = m_computed(firstCol + k, firstCol + k);
425 betaK = m_computed(firstCol + k + 1, firstCol + k);
429 divide(k + 1 + firstCol, lastCol, k + 1 + firstRowW, k + 1 + firstColW, shift);
430 divide(firstCol, k - 1 + firstCol, firstRowW, firstColW + 1, shift + 1);
434 lambda = m_naiveU(firstCol + k, firstCol + k);
435 phi = m_naiveU(firstCol + k + 1, lastCol + 1);
439 lambda = m_naiveU(1, firstCol + k);
445 l = m_naiveU.row(firstCol + k).segment(firstCol, k);
446 f = m_naiveU.row(firstCol + k + 1).segment(firstCol + k + 1, n - k - 1);
450 l = m_naiveU.row(1).segment(firstCol, k);
451 f = m_naiveU.row(0).segment(firstCol + k + 1, n - k - 1);
473 MatrixXr q1 (m_naiveU.col(firstCol + k).segment(firstCol, k + 1));
475 for (Index i = firstCol + k - 1; i >= firstCol; i--)
476 m_naiveU.col(i + 1).segment(firstCol, k + 1) = m_naiveU.col(i).segment(firstCol, k + 1);
478 m_naiveU.col(firstCol).segment( firstCol, k + 1) = (q1 * c0);
480 m_naiveU.col(lastCol + 1).segment(firstCol, k + 1) = (q1 * ( - s0));
482 …m_naiveU.col(firstCol).segment(firstCol + k + 1, n - k) = m_naiveU.col(lastCol + 1).segment(firstC…
484 m_naiveU.col(lastCol + 1).segment(firstCol + k + 1, n - k) *= c0;
488 RealScalar q1 = m_naiveU(0, firstCol + k);
490 for (Index i = firstCol + k - 1; i >= firstCol; i--)
493 m_naiveU(0, firstCol) = (q1 * c0);
497 m_naiveU(1, firstCol) = m_naiveU(1, lastCol + 1) *s0;
500 m_naiveU.row(1).segment(firstCol + 1, k).setZero();
501 m_naiveU.row(0).segment(firstCol + k + 1, n - k - 1).setZero();
510 m_computed(firstCol + shift, firstCol + shift) = r0;
511 m_computed.col(firstCol + shift).segment(firstCol + shift + 1, k) = alphaK * l.transpose().real();
512 …m_computed.col(firstCol + shift).segment(firstCol + shift + k + 1, n - k - 1) = betaK * f.transpos…
515 …ArrayXr tmp1 = (m_computed.block(firstCol+shift, firstCol+shift, n, n)).jacobiSvd().singularValues…
518 deflation(firstCol, lastCol, k, firstRowW, firstColW, shift);
520 …ArrayXr tmp2 = (m_computed.block(firstCol+shift, firstCol+shift, n, n)).jacobiSvd().singularValues…
534 computeSVDofM(firstCol + shift, n, UofSVD, singVals, VofSVD);
542 structured_update(m_naiveU.block(firstCol, firstCol, n + 1, n + 1), UofSVD, (n+2)/2);
546 tmp.noalias() = m_naiveU.middleCols(firstCol, n+1) * UofSVD;
547 m_naiveU.middleCols(firstCol, n + 1) = tmp;
558 m_computed.block(firstCol + shift, firstCol + shift, n, n).setZero();
559 m_computed.block(firstCol + shift, firstCol + shift, n, n).diagonal() = singVals;
571 void BDCSVD<MatrixType>::computeSVDofM(Index firstCol, Index n, MatrixXr& U, VectorType& singVals, …
575 ArrayRef col0 = m_computed.col(firstCol).segment(firstCol, n);
576 m_workspace.head(n) = m_computed.block(firstCol, firstCol, n, n).diagonal();
615 …std::cout << " j: " << (m_computed.block(firstCol, firstCol, n, n)).jacobiSvd().singularVa…
684 JacobiSVD<MatrixXr> jsvd(m_computed.block(firstCol, firstCol, n, n) );
975 void BDCSVD<MatrixType>::deflation43(Index firstCol, Index shift, Index i, Index size)
980 Index start = firstCol + shift;
994 if (m_compU) m_naiveU.middleRows(firstCol, size+1).applyOnTheRight(firstCol, firstCol+i, J);
995 else m_naiveU.applyOnTheRight(firstCol, firstCol+i, J);
1044 void BDCSVD<MatrixType>::deflation(Index firstCol, Index lastCol, Index k, Index firstRowW, Index f…
1048 const Index length = lastCol + 1 - firstCol;
1050 Block<MatrixXr,Dynamic,1> col0(m_computed, firstCol+shift, firstCol+shift, length, 1);
1052 VectorBlock<Diagonal<MatrixXr>,Dynamic> diag(fulldiag, firstCol+shift, length);
1095 deflation43(firstCol, shift, i, length);
1170 …if (m_compU) m_naiveU.col(firstCol+i).segment(firstCol, length + 1).swap(m_naiveU.col(firstCol+J).…
1171 …else m_naiveU.col(firstCol+i).segment(0, 2) .swap(m_naiveU.col(firstCol+J).…
1198 deflation44(firstCol, firstCol + shift, firstRowW, firstColW, i-1, i, length);