SparseMatrix B;
real *lambda, *d, *w, diag_d, diag_w, dist;
- assert(SparseMatrix_is_symmetric(A, FALSE));
+ assert((!A) || SparseMatrix_is_symmetric(A, FALSE));
sm = MALLOC(sizeof(struct OverlapSmoother_struct));
lambda = sm->lambda = MALLOC(sizeof(real)*m);
real dist;
int i;
+ if (!A) return;
dist = average_edge_length(A, dim, x);
- fprintf(stderr,"avg edge len=%f avg_label-size= %f\n", dist, avg_label_size);
+ if (Verbose) fprintf(stderr,"avg edge len=%f avg_label-size= %f\n", dist, avg_label_size);
dist = avg_label_size/MAX(dist, MACHINEACC);
avg_label_size = 0;
for (i = 0; i < A->m; i++) avg_label_size += label_sizes[i*dim]+label_sizes[i*dim+1];
+ /* for (i = 0; i < A->m; i++) avg_label_size += 2*MAX(label_sizes[i*dim],label_sizes[i*dim+1]);*/
avg_label_size /= A->m;
scale_to_edge_length(dim, A, x,4*avg_label_size);
-
*flag = 0;
for (i = 0; i < ntry; i++){