2 #ifndef _LIL_MATRIX_SYM_PERM_H_ 3 #define _LIL_MATRIX_SYM_PERM_H_ 5 template<
class el_type>
7 vector<idx_vector_type> m_idx_new(m_n_cols);
8 vector<elt_vector_type> m_x_new(m_n_cols);
12 vector<int> pinv(m_n_cols);
13 for (i = 0; i < m_n_cols; i++) {
18 for (j = 0; j < m_n_cols; j++) {
21 for (i = 0; i < (int) m_idx[j].size(); i++) {
22 pi = pinv[m_idx[j][i]];
26 m_idx_new[ pi ].push_back(pj);
27 m_x_new[ pi ].push_back(px);
28 list[pj].push_back(pi);
31 m_idx_new[ pj ].push_back(pi);
32 m_x_new[ pj ].push_back(px);
35 list[pi].push_back(pj);
41 m_idx.swap(m_idx_new);
44 for (i = 0; i < m_n_cols; i++) {
45 ensure_invariant(i, i, m_idx[i]);
46 ensure_invariant(i, i, list[i],
true);
50 #endif // _LIL_MATRIX_SYM_PERM_H_ void sym_perm(vector< int > &perm)
Given a permutation vector perm, A is permuted to P'AP, where P is the permutation matrix associated ...
Definition: lilc_matrix_sym_perm.h:6