Lines Matching defs:degree
159 /* a degree list */
160 Index hash ; /* hash value, if col is not in a degree list */
161 Index prev ; /* previous column in degree list, if col is in a */
162 /* degree list (but not at the head of a degree list) */
166 Index degree_next ; /* next column, if col is in a degree list */
179 Index degree ; /* number of principal & non-principal columns in row */
312 * \brief Computes a column ordering using the column approximate minimum degree ordering
343 Index max_deg ; /* maximum row degree */
651 Row [row].shared1.degree = Row [row].length ;
702 each column, and places all columns in the degree lists. Not user-callable.
718 Index *p_max_deg /* maximum row degree */
726 Index deg ; /* degree of a row or column */
736 Index max_deg ; /* maximum row degree */
737 Index next_col ; /* Used to add to degree list.*/
785 Row [*cp++].shared1.degree-- ;
796 deg = Row [r].shared1.degree ;
806 /* keep track of max degree of remaining rows */
842 /* add row's external degree */
843 score += Row [row].shared1.degree - 1 ;
874 /* === Initialize degree lists ========================================== */
887 /* only add principal columns to degree lists */
924 /* === Return number of remaining columns, and max row degree =========== */
939 degree ordering method. Not user-callable.
954 Index max_deg, /* Maximum row degree */
1008 /* make sure degree list isn't empty */
1013 /* get pivot column from head of minimum degree list */
1135 /* === Approximate degree computation =============================== */
1137 /* Here begins the computation of the approximate degree. The column */
1142 /* external degree). */
1175 /* === Remove column from degree list =========================== */
1215 COLAMD_ASSERT (Row [row].shared1.degree <= max_deg) ;
1216 set_difference = Row [row].shared1.degree ;
1314 /* degree list "hash" is non-empty, use prev (shared3) of */
1315 /* first column in degree list as head of hash bucket */
1321 /* degree list "hash" is empty, use head as hash bucket */
1333 /* The approximate external column degree is now computed. */
1375 /* retrieve score so far and add on pivot row's degree. */
1377 /* row's degree was reduced due to mass elimination). */
1385 /* make the score the external degree of the union-of-rows */
1395 /* === Place column back in degree list ========================= */
1424 Row [pivot_row].shared1.degree = pivot_row_degree ;
1528 The columns under consideration are currently *not* in the degree lists,
1534 if head [h] is >= 0, then head [h] contains a degree list, so:
1536 head [h] is the first column in degree bucket h.
1539 otherwise, the degree list is empty, and:
1550 just been computed in the approximate degree computation.
1560 Index head [], /* head of degree lists and hash buckets */
1578 Index head_column ; /* first column in hash bucket or degree list */
1680 /* corresponding degree list "hash" is not empty */
1685 /* corresponding degree list "hash" is empty */