}
-Multilevel Multilevel_new(SparseMatrix A0, SparseMatrix D0, double *node_weights, Multilevel_control ctrl){
+Multilevel Multilevel_new(SparseMatrix A0, SparseMatrix D0, Multilevel_control ctrl){
/* A: the weighting matrix. D: the distance matrix, could be NULL. If not null, the two matrices must have the same sparsity pattern */
Multilevel grid;
SparseMatrix A = A0, D = D0;
if (D && (!SparseMatrix_is_symmetric(D, false) || D->type != MATRIX_TYPE_REAL)){
D = SparseMatrix_symmetrize_nodiag(D);
}
- grid = Multilevel_init(A, D, node_weights);
+ grid = Multilevel_init(A, D, NULL);
grid = Multilevel_establish(grid, ctrl);
if (A != A0) grid->delete_top_level_A = TRUE;/* be sure to clean up later */
return grid;
void Multilevel_delete(Multilevel grid);
-Multilevel Multilevel_new(SparseMatrix A, SparseMatrix D, double *node_weights, Multilevel_control ctrl);
+Multilevel Multilevel_new(SparseMatrix A, SparseMatrix D, Multilevel_control ctrl);
Multilevel Multilevel_get_coarsest(Multilevel grid);
mctrl = Multilevel_control_new(ctrl->multilevel_coarsen_scheme, ctrl->multilevel_coarsen_mode);
mctrl->maxlevel = ctrl->multilevels;
- grid0 = Multilevel_new(A, D, NULL, mctrl);
+ grid0 = Multilevel_new(A, D, mctrl);
grid = Multilevel_get_coarsest(grid0);
if (Multilevel_is_finest(grid)){