A = SparseMatrix_get_real_adjacency_matrix_symmetrized(A);
}
if (D && (!SparseMatrix_is_symmetric(D, FALSE) || D->type != MATRIX_TYPE_REAL)){
- D = SparseMatrix_symmetrize_nodiag(D, FALSE);
+ D = SparseMatrix_symmetrize_nodiag(D);
}
grid = Multilevel_init(A, D, node_weights);
grid = Multilevel_establish(grid, ctrl);
D = SparseMatrix_get_real_adjacency_matrix_symmetrized(A);/* all distance 1 */
weighted = FALSE;
} else {
- D = SparseMatrix_symmetrize_nodiag(D, FALSE);
+ D = SparseMatrix_symmetrize_nodiag(D);
weighted = TRUE;
}
if (hops > 0){
if (!SparseMatrix_is_symmetric(A, FALSE) || A->type != MATRIX_TYPE_REAL){
if (ctrl->method == METHOD_SPRING_MAXENT){
- A = SparseMatrix_symmetrize_nodiag(A, FALSE);
+ A = SparseMatrix_symmetrize_nodiag(A);
assert(D0);
- D = SparseMatrix_symmetrize_nodiag(D, FALSE);
+ D = SparseMatrix_symmetrize_nodiag(D);
} else {
A = SparseMatrix_get_real_adjacency_matrix_symmetrized(A);
}
return A;
}
-SparseMatrix SparseMatrix_symmetrize_nodiag(SparseMatrix A, int pattern_symmetric_only){
+SparseMatrix SparseMatrix_symmetrize_nodiag(SparseMatrix A){
SparseMatrix B;
- if (SparseMatrix_is_symmetric(A, pattern_symmetric_only)) {
+ if (SparseMatrix_is_symmetric(A, FALSE)) {
B = SparseMatrix_copy(A);
return SparseMatrix_remove_diagonal(B);
}
int SparseMatrix_is_symmetric(SparseMatrix A, int test_pattern_symmetry_only);
SparseMatrix SparseMatrix_transpose(SparseMatrix A);
SparseMatrix SparseMatrix_symmetrize(SparseMatrix A, int pattern_symmetric_only);
-SparseMatrix SparseMatrix_symmetrize_nodiag(SparseMatrix A, int pattern_symmetric_only);
+SparseMatrix SparseMatrix_symmetrize_nodiag(SparseMatrix A);
void SparseMatrix_multiply_vector(SparseMatrix A, real *v, real **res, int transposed);/* if v = NULL, v is assumed to be {1,1,...,1}*/
SparseMatrix SparseMatrix_remove_diagonal(SparseMatrix A);
SparseMatrix SparseMatrix_remove_upper(SparseMatrix A);/* remove diag and upper diag */