Graphviz  2.41.20170921.2350
Data Structures | Macros | Typedefs | Enumerations | Functions
Multilevel.h File Reference
#include "SparseMatrix.h"
Include dependency graph for Multilevel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Multilevel_struct
 
struct  Multilevel_control_struct
 

Macros

#define Multilevel_is_finest(grid)   (!((grid)->prev))
 
#define Multilevel_is_coarsest(grid)   (!((grid)->next))
 

Typedefs

typedef struct Multilevel_structMultilevel
 
typedef struct
Multilevel_control_struct
Multilevel_control
 

Enumerations

enum  { MAX_IND_VTX_SET_U = -100, MAX_IND_VTX_SET_F = -1, MAX_IND_VTX_SET_C = 0 }
 
enum  { MAX_CLUSTER_SIZE = 4 }
 
enum  {
  EDGE_BASED_STA, COARSEN_INDEPENDENT_EDGE_SET, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_LEAVES_FIRST,
  COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_SUPERNODES_FIRST, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_DEGREE_SCALED, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_CLUSTER_PERNODE_LEAVES_FIRST, EDGE_BASED_STO,
  VERTEX_BASED_STA, COARSEN_INDEPENDENT_VERTEX_SET, COARSEN_INDEPENDENT_VERTEX_SET_RS, VERTEX_BASED_STO,
  COARSEN_HYBRID
}
 
enum  { COARSEN_MODE_GENTLE, COARSEN_MODE_FORCEFUL }
 

Functions

Multilevel_control Multilevel_control_new (int scheme, int mode)
 
void Multilevel_control_delete (Multilevel_control ctrl)
 
void Multilevel_delete (Multilevel grid)
 
Multilevel Multilevel_new (SparseMatrix A, SparseMatrix D, real *node_weights, Multilevel_control ctrl)
 
Multilevel Multilevel_get_coarsest (Multilevel grid)
 
void print_padding (int n)
 
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)
 

Macro Definition Documentation

#define Multilevel_is_coarsest (   grid)    (!((grid)->next))

Definition at line 68 of file Multilevel.h.

#define Multilevel_is_finest (   grid)    (!((grid)->prev))

Definition at line 67 of file Multilevel.h.

Typedef Documentation

typedef struct Multilevel_struct* Multilevel

Definition at line 19 of file Multilevel.h.

Definition at line 53 of file Multilevel.h.

Enumeration Type Documentation

anonymous enum
Enumerator
MAX_IND_VTX_SET_U 
MAX_IND_VTX_SET_F 
MAX_IND_VTX_SET_C 

Definition at line 36 of file Multilevel.h.

anonymous enum
Enumerator
MAX_CLUSTER_SIZE 

Definition at line 38 of file Multilevel.h.

anonymous enum
Enumerator
EDGE_BASED_STA 
COARSEN_INDEPENDENT_EDGE_SET 
COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE 
COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_LEAVES_FIRST 
COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_SUPERNODES_FIRST 
COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_DEGREE_SCALED 
COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_CLUSTER_PERNODE_LEAVES_FIRST 
EDGE_BASED_STO 
VERTEX_BASED_STA 
COARSEN_INDEPENDENT_VERTEX_SET 
COARSEN_INDEPENDENT_VERTEX_SET_RS 
VERTEX_BASED_STO 
COARSEN_HYBRID 

Definition at line 40 of file Multilevel.h.

anonymous enum
Enumerator
COARSEN_MODE_GENTLE 
COARSEN_MODE_FORCEFUL 

Definition at line 42 of file Multilevel.h.

Function Documentation

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 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 
)
void Multilevel_delete ( Multilevel  grid)
Multilevel Multilevel_get_coarsest ( Multilevel  grid)

Definition at line 1312 of file Multilevel.c.

References Multilevel_struct::next.

Multilevel Multilevel_new ( SparseMatrix  A,
SparseMatrix  D,
real node_weights,
Multilevel_control  ctrl 
)
void print_padding ( int  n)

Definition at line 1249 of file Multilevel.c.