Graphviz
2.41.20171026.1811
|
#include "Multilevel.h"
#include "PriorityQueue.h"
#include "memory.h"
#include "logic.h"
#include "assert.h"
#include "arith.h"
Go to the source code of this file.
Macros | |
#define | node_degree(i) (ia[(i)+1] - ia[(i)]) |
Functions | |
Multilevel_control | Multilevel_control_new (int scheme, int mode) |
void | Multilevel_control_delete (Multilevel_control ctrl) |
void | Multilevel_delete (Multilevel grid) |
SparseMatrix | DistanceMatrix_restrict_cluster (int ncluster, int *clusterp, int *cluster, SparseMatrix P, SparseMatrix R, SparseMatrix D) |
SparseMatrix | DistanceMatrix_restrict_matching (int *matching, SparseMatrix D) |
SparseMatrix | DistanceMatrix_restrict_filtering (int *mask, int is_C, int is_F, SparseMatrix D) |
void | Multilevel_coarsen (SparseMatrix A, SparseMatrix *cA, SparseMatrix D, SparseMatrix *cD, real *node_wgt, real **cnode_wgt, SparseMatrix *P, SparseMatrix *R, Multilevel_control ctrl, int *coarsen_scheme_used) |
void | print_padding (int n) |
Multilevel | Multilevel_new (SparseMatrix A0, SparseMatrix D0, real *node_weights, Multilevel_control ctrl) |
Multilevel | Multilevel_get_coarsest (Multilevel grid) |
#define node_degree | ( | i | ) | (ia[(i)+1] - ia[(i)]) |
Definition at line 324 of file Multilevel.c.
SparseMatrix DistanceMatrix_restrict_cluster | ( | int | ncluster, |
int * | clusterp, | ||
int * | cluster, | ||
SparseMatrix | P, | ||
SparseMatrix | R, | ||
SparseMatrix | D | ||
) |
Definition at line 815 of file Multilevel.c.
References SparseMatrix_struct::a, assert, FREE, SparseMatrix_struct::ia, SparseMatrix_struct::ja, SparseMatrix_struct::m, MATRIX_TYPE_REAL, SparseMatrix_struct::n, N_GNEW, NULL, real, SparseMatrix_delete(), SparseMatrix_from_coordinate_arrays(), SparseMatrix_multiply3(), SparseMatrix_remove_diagonal(), SparseMatrix_set_pattern_symmetric, SparseMatrix_set_symmetric, and SparseMatrix_struct::type.
SparseMatrix DistanceMatrix_restrict_filtering | ( | int * | mask, |
int | is_C, | ||
int | is_F, | ||
SparseMatrix | D | ||
) |
Definition at line 941 of file Multilevel.c.
SparseMatrix DistanceMatrix_restrict_matching | ( | int * | matching, |
SparseMatrix | D | ||
) |
Definition at line 935 of file Multilevel.c.
void Multilevel_coarsen | ( | SparseMatrix | A, |
SparseMatrix * | cA, | ||
SparseMatrix | D, | ||
SparseMatrix * | cD, | ||
real * | node_wgt, | ||
real ** | cnode_wgt, | ||
SparseMatrix * | P, | ||
SparseMatrix * | R, | ||
Multilevel_control | ctrl, | ||
int * | coarsen_scheme_used | ||
) |
Definition at line 1201 of file Multilevel.c.
References assert, Multilevel_control_struct::coarsen_mode, COARSEN_MODE_FORCEFUL, FREE, Multilevel_control_struct::min_coarsen_factor, SparseMatrix_struct::n, NULL, real, SparseMatrix_delete(), SparseMatrix_multiply(), and Verbose.
void Multilevel_control_delete | ( | Multilevel_control | ctrl | ) |
Definition at line 44 of file Multilevel.c.
References FREE.
Multilevel_control Multilevel_control_new | ( | int | scheme, |
int | mode | ||
) |
Definition at line 22 of file Multilevel.c.
References Multilevel_control_struct::coarsen_mode, Multilevel_control_struct::coarsen_scheme, GNEW, Multilevel_control_struct::maxlevel, Multilevel_control_struct::min_coarsen_factor, Multilevel_control_struct::minsize, Multilevel_control_struct::randomize, and TRUE.
void Multilevel_delete | ( | Multilevel | grid | ) |
Definition at line 66 of file Multilevel.c.
References Multilevel_struct::A, Multilevel_struct::D, Multilevel_struct::delete_top_level_A, FREE, Multilevel_struct::level, Multilevel_delete(), Multilevel_struct::next, Multilevel_struct::node_weights, Multilevel_struct::P, Multilevel_struct::R, and SparseMatrix_delete().
Referenced by Multilevel_delete().
Multilevel Multilevel_get_coarsest | ( | Multilevel | grid | ) |
Definition at line 1312 of file Multilevel.c.
References Multilevel_struct::next.
Multilevel Multilevel_new | ( | SparseMatrix | A0, |
SparseMatrix | D0, | ||
real * | node_weights, | ||
Multilevel_control | ctrl | ||
) |
Definition at line 1294 of file Multilevel.c.
References Multilevel_struct::delete_top_level_A, FALSE, MATRIX_TYPE_REAL, SparseMatrix_get_real_adjacency_matrix_symmetrized(), SparseMatrix_is_symmetric(), SparseMatrix_symmetrize_nodiag(), TRUE, and SparseMatrix_struct::type.
void print_padding | ( | int | n | ) |
Definition at line 1249 of file Multilevel.c.