Graphviz 13.0.0~dev.20241220.2304
|
#include <cgraph/list.h>
#include <limits.h>
#include <sparse/general.h>
#include <sparse/SparseMatrix.h>
#include <sparse/mq.h>
#include <stdbool.h>
#include <string.h>
#include <util/alloc.h>
Go to the source code of this file.
Macros | |
#define | STANDALONE |
Functions | |
static double | get_mq (SparseMatrix A, int *assignment, int *ncluster0, double *mq_in0, double *mq_out0, double **dout0) |
static Multilevel_MQ_Clustering | Multilevel_MQ_Clustering_init (SparseMatrix A, int level) |
static void | Multilevel_MQ_Clustering_delete (Multilevel_MQ_Clustering grid) |
static Multilevel_MQ_Clustering | Multilevel_MQ_Clustering_establish (Multilevel_MQ_Clustering grid, int maxcluster) |
static Multilevel_MQ_Clustering | Multilevel_MQ_Clustering_new (SparseMatrix A0, int maxcluster) |
static void | hierachical_mq_clustering (SparseMatrix A, int maxcluster, int *nclusters, int **assignment, double *mq) |
void | mq_clustering (SparseMatrix A, int maxcluster, int *nclusters, int **assignment, double *mq) |
|
static |
Definition at line 68 of file mq.c.
References A, free(), gv_calloc(), MATRIX_TYPE_REAL, NULL, and SparseMatrix_is_symmetric().
Referenced by Multilevel_MQ_Clustering_establish(), and Multilevel_MQ_Clustering_init().
|
static |
Definition at line 529 of file mq.c.
References A, free(), grid, gv_calloc(), Multilevel_MQ_Clustering_struct::matching, Multilevel_MQ_Clustering_struct::mq, Multilevel_MQ_Clustering_delete(), Multilevel_MQ_Clustering_new(), Multilevel_MQ_Clustering_struct::n, Multilevel_MQ_Clustering_struct::next, NULL, Multilevel_MQ_Clustering_struct::P, Multilevel_MQ_Clustering_struct::prev, and SparseMatrix_multiply_vector().
Referenced by mq_clustering().
void mq_clustering | ( | SparseMatrix | A, |
int | maxcluster, | ||
int * | nclusters, | ||
int ** | assignment, | ||
double * | mq | ||
) |
Definition at line 583 of file mq.c.
References A, B, hierachical_mq_clustering(), MATRIX_TYPE_REAL, SparseMatrix_copy(), SparseMatrix_delete(), SparseMatrix_remove_diagonal(), SparseMatrix_set_entries_to_real_one(), and SparseMatrix_symmetrize().
Referenced by attached_clustering(), and Import_coord_clusters_from_dot().
|
static |
Definition at line 207 of file mq.c.
References free(), grid, Multilevel_MQ_Clustering_delete(), and SparseMatrix_delete().
Referenced by hierachical_mq_clustering(), and Multilevel_MQ_Clustering_delete().
|
static |
Definition at line 227 of file mq.c.
References A, B, Multilevel_MQ_Clustering_struct::deg_intra, Multilevel_MQ_Clustering_struct::dout, FORMAT_COORD, free(), get_mq(), grid, gv_calloc(), gv_recalloc(), Multilevel_MQ_Clustering_struct::matching, MATRIX_TYPE_REAL, Multilevel_MQ_Clustering_struct::mq, Multilevel_MQ_Clustering_establish(), Multilevel_MQ_Clustering_init(), SparseMatrix_struct::n, Multilevel_MQ_Clustering_struct::prev, RETURN, SIZE_MAX, SparseMatrix_coordinate_form_add_entry(), SparseMatrix_delete(), SparseMatrix_from_coordinate_format(), SparseMatrix_multiply(), SparseMatrix_new(), SparseMatrix_transpose(), UNMATCHED, Verbose, and Multilevel_MQ_Clustering_struct::wgt.
Referenced by Multilevel_MQ_Clustering_establish(), and Multilevel_MQ_Clustering_new().
|
static |
Definition at line 154 of file mq.c.
References A, get_mq(), grid, gv_alloc(), gv_calloc(), MATRIX_TYPE_REAL, Multilevel_MQ_Clustering_struct::n, NULL, and SparseMatrix_is_symmetric().
Referenced by Multilevel_MQ_Clustering_establish(), and Multilevel_MQ_Clustering_new().
|
static |
Definition at line 510 of file mq.c.
References A, grid, SparseMatrix_struct::m, MATRIX_TYPE_REAL, Multilevel_MQ_Clustering_establish(), Multilevel_MQ_Clustering_init(), SparseMatrix_get_real_adjacency_matrix_symmetrized(), and SparseMatrix_is_symmetric().
Referenced by hierachical_mq_clustering().