2 #ifndef _LIL_MATRIX_SYM_EQUIL_H_ 3 #define _LIL_MATRIX_SYM_EQUIL_H_ 7 template<
class el_type>
11 int i, ncols = n_cols();
15 std::pair<idx_it, elt_it> elem_its;
16 for (i = 0; i < ncols; i++) {
18 if (!m_idx[i].empty() && m_idx[i][0] == i)
19 S[i] = sqrt(abs(m_x[i][0]));
24 for (idx_it it = list[i].begin(); it != list[i].end(); it++) {
25 S[i] = std::max(S[i], abs(coeff(i, *it)));
30 for (idx_it it = list[i].begin(); it != list[i].end(); it++) {
31 coeffRef(i, *it, elem_its);
34 *(elem_its.second) /= S[i];
37 if (!m_idx[i].empty() && (m_idx[i][0] == i) )
39 for (elt_it it = m_x[i].begin(); it != m_x[i].end(); it++) {
45 for (i = 0; i < ncols; i++) {
47 for (elt_it it = m_x[i].begin(); it != m_x[i].end(); it++) {
48 S[i] = std::max(S[i], abs(*it));
52 std::cerr <<
"Error: Matrix has a null column/row." << std::endl;
56 for (elt_it it = m_x[i].begin(); it != m_x[i].end(); it++) {
62 for (i = 0; i < ncols; i++) {
67 #endif // _LIL_MATRIX_SYM_EQUIL_H_ void sym_equil()
The symmetric matrix A is equilibrated and the symmetric equilibrated matrix SAS is stored in A...
Definition: lilc_matrix_sym_equil.h:8