Home | History | Annotate | Download | only in SVD

Lines Matching refs:Index

99   typedef Array<Index,1,Dynamic> ArrayXi;
118 BDCSVD(Index rows, Index cols, unsigned int computationOptions = 0)
174 void allocate(Index rows, Index cols, unsigned int computationOptions);
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);
181 void deflation44(Index firstColu , Index firstColm, Index firstRowW, Index firstColW, Index i, Index j, Index size);
182 void deflation(Index firstCol, Index lastCol, Index k, Index firstRowW, Index firstColW, Index shift);
185 void structured_update(Block<MatrixXr,Dynamic,Dynamic> A, const MatrixXr &B, Index n1);
191 Index m_nRec;
215 void BDCSVD<MatrixType>::allocate(Index rows, Index cols, unsigned int computationOptions)
317 Index Ucols = m_computeThinU ? m_diagSize : householderU.cols();
324 Index Vcols = m_computeThinV ? m_diagSize : householderV.cols();
340 void BDCSVD<MatrixType>::structured_update(Block<MatrixXr,Dynamic,Dynamic> A, const MatrixXr &B, Index n1)
342 Index n = A.rows();
347 Index n2 = n - n1;
352 Index k1=0, k2=0;
353 for(Index j=0; j<n; ++j)
383 //@param firstCol : The Index of the first column of the submatrix of m_computed and for m_naiveU;
384 //@param lastCol : The Index of the last column of the submatrix of m_computed and for m_naiveU;
386 //@param firstRowW : The Index of the first row of the matrix W that we are to change. (see the reference paper section 1 for more information on W)
391 void BDCSVD<MatrixType>::divide (Index firstCol, Index lastCol, Index firstRowW, Index firstColW, Index shift)
397 const Index n = lastCol - firstCol + 1;
398 const Index k = n/2;
475 for (Index i = firstCol + k - 1; i >= firstCol; i--)
490 for (Index i = firstCol + k - 1; i >= firstCol; i--)
571 void BDCSVD<MatrixType>::computeSVDofM(Index firstCol, Index n, MatrixXr& U, VectorType& singVals, MatrixXr& V)
593 Index actual_n = n;
595 Index m = 0; // size of the deflated problem
596 for(Index k=0;k<actual_n;++k)
621 Index actual_n = n;
666 for(Index i=0; i<actual_n-1; ++i)
694 Index m = perm.size();
696 for(Index i=0; i<m; ++i)
698 Index j = perm(i);
712 Index n = col0.size();
713 Index actual_n = n;
716 for (Index k = 0; k < n; ++k)
736 Index l = k+1;
885 Index n = col0.size();
886 Index m = perm.size();
892 Index last = perm(m-1);
894 for (Index k = 0; k < n; ++k)
904 for(Index l = 0; l<m; ++l)
906 Index i = perm(l);
909 Index j = i<k ? i : perm(l-1);
933 Index n = zhat.size();
934 Index m = perm.size();
936 for (Index k = 0; k < n; ++k)
946 for(Index l=0;l<m;++l)
948 Index i = perm(l);
957 for(Index l=1;l<m;++l)
959 Index i = perm(l);
975 void BDCSVD<MatrixType>::deflation43(Index firstCol, Index shift, Index i, Index size)
980 Index start = firstCol + shift;
1004 void BDCSVD<MatrixType>::deflation44(Index firstColu , Index firstColm, Index firstRowW, Index firstColW, Index i, Index j, Index size)
1044 void BDCSVD<MatrixType>::deflation(Index firstCol, Index lastCol, Index k, Index firstRowW, Index firstColW, Index shift)
1048 const Index length = lastCol + 1 - firstCol;
1055 RealScalar maxDiag = diag.tail((std::max)(Index(1),length-1)).cwiseAbs().maxCoeff();
1079 for (Index i=1;i<length;++i)
1089 for (Index i=1;i<length; i++)
1113 Index *permutation = m_workspaceI.data();
1116 Index p = 1;
1119 for(Index i=1; i<length; ++i)
1123 Index i=1, j=k+1;
1136 for(Index i=1; i<length; ++i)
1138 Index pi = permutation[i];
1149 // Current index of each col, and current column of each index
1150 Index *realInd = m_workspaceI.data()+length;
1151 Index *realCol = m_workspaceI.data()+2*length;
1159 for(Index i = total_deflation?0:1; i < length; i++)
1161 const Index pi = permutation[length - (total_deflation ? i+1 : i)];
1162 const Index J = realCol[pi];
1175 const Index realI = realInd[i];
1189 Index i = length-1;
1203 for(Index j=2;j<length;++j)