Isorropia: Partitioning, Load Balancing and more

Interface (abstract base class) for describing the weights or costs associated with the vertices and/or edges or hyperedges of the object to be partitioned, ordered or colored. More...
#include <Isorropia_CostDescriber.hpp>
Public Member Functions  
virtual  ~CostDescriber () 
Destructor.  
Private Member Functions  
virtual void  setParameters (const Teuchos::ParameterList ¶mlist)=0 
Set parameters for the CostDescriber instance.  
virtual bool  haveVertexWeights () const =0 
Query whether vertex weights have been supplied by the application.  
virtual int  getNumVertices () const =0 
Get the number of vertices for which this process supplied vertex weights.  
virtual void  getVertexWeights (int numVertices, int *global_ids, float *weights) const =0 
Get lists of the vertex ids and weights supplied by this process.  
virtual bool  haveGraphEdgeWeights () const =0 
Query whether graph edge weights have been supplied by the application.  
virtual int  getNumGraphEdges (int vertex_global_id) const =0 
Get the number of graph edges for a specified vertex.  
virtual void  getGraphEdgeWeights (int vertex_global_id, int num_neighbors, int *neighbor_global_ids, float *weights) const =0 
Get the graph edge weights for a specified vertex.  
virtual bool  haveHypergraphEdgeWeights () const =0 
Query whether hypergraph edge weights have been supplied by the application.  
virtual int  getNumHypergraphEdgeWeights () const =0 
Get the number of Hypergraph edges.  
virtual void  getHypergraphEdgeWeights (int numEdges, int *global_ids, float *weights) const =0 
Get the hypergraph edge weights that were supplied by this process. 
Interface (abstract base class) for describing the weights or costs associated with the vertices and/or edges or hyperedges of the object to be partitioned, ordered or colored.
A CostDescriber object is created by the application. If no CostDescriber is supplied by the application, sensible default weights should be used.
virtual Isorropia::CostDescriber::~CostDescriber  (  )  [inline, virtual] 
Destructor.
Reimplemented in Isorropia::Epetra::CostDescriber.
virtual void Isorropia::CostDescriber::setParameters  (  const Teuchos::ParameterList &  paramlist  )  [private, pure virtual] 
Set parameters for the CostDescriber instance.
The contents of the input paramlist object are copied into an internal ParameterList attribute. Instances of this interface should not retain a reference to the input ParameterList after this method returns.
Implemented in Isorropia::Epetra::CostDescriber.
virtual bool Isorropia::CostDescriber::haveVertexWeights  (  )  const [private, pure virtual] 
Query whether vertex weights have been supplied by the application.
Implemented in Isorropia::Epetra::CostDescriber.
virtual int Isorropia::CostDescriber::getNumVertices  (  )  const [private, pure virtual] 
Get the number of vertices for which this process supplied vertex weights.
Vertices typically correspond to matrix rows.
Implemented in Isorropia::Epetra::CostDescriber.
virtual void Isorropia::CostDescriber::getVertexWeights  (  int  numVertices, 
int *  global_ids,  
float *  weights  
)  const [private, pure virtual] 
Get lists of the vertex ids and weights supplied by this process.
numVertices  size of global_ids and weights arrays 
global_ids  pointer to an array of vertex global IDs, allocated by the caller. 
weights  pointer to an array of vertex weights, allocated by the caller. 
Implemented in Isorropia::Epetra::CostDescriber.
virtual bool Isorropia::CostDescriber::haveGraphEdgeWeights  (  )  const [private, pure virtual] 
Query whether graph edge weights have been supplied by the application.
Implemented in Isorropia::Epetra::CostDescriber.
virtual int Isorropia::CostDescriber::getNumGraphEdges  (  int  vertex_global_id  )  const [private, pure virtual] 
Get the number of graph edges for a specified vertex.
Graph edges typically correspond to matrix nonzeros.
vertex_global_id  The global ID for the vertex (on this process) for which the number of edges is desired 
Implemented in Isorropia::Epetra::CostDescriber.
virtual void Isorropia::CostDescriber::getGraphEdgeWeights  (  int  vertex_global_id, 
int  num_neighbors,  
int *  neighbor_global_ids,  
float *  weights  
)  const [private, pure virtual] 
Get the graph edge weights for a specified vertex.
vertex_global_id  vertex global ID (on this process) for which edge information is requested 
num_neighbors  size for which neighbor_global_ids and weights had been preallocated 
neighbor_global_ids  buffer allocated by caller, on return will contain a list of neighbor vertex global IDs 
weights  buffer allocated by caller, on return will contain a weight for each edge indicated in neighbor_global_ids 
Implemented in Isorropia::Epetra::CostDescriber.
virtual bool Isorropia::CostDescriber::haveHypergraphEdgeWeights  (  )  const [private, pure virtual] 
Query whether hypergraph edge weights have been supplied by the application.
Implemented in Isorropia::Epetra::CostDescriber.
virtual int Isorropia::CostDescriber::getNumHypergraphEdgeWeights  (  )  const [private, pure virtual] 
Get the number of Hypergraph edges.
Hypergraph edges typically correspond to matrix columns.
Implemented in Isorropia::Epetra::CostDescriber.
virtual void Isorropia::CostDescriber::getHypergraphEdgeWeights  (  int  numEdges, 
int *  global_ids,  
float *  weights  
)  const [private, pure virtual] 
Get the hypergraph edge weights that were supplied by this process.
numEdges  size for which global_ids and weights had been preallocated 
global_ids  buffer allocated by caller, on return will contain a list of hyperedge global IDs 
weights  buffer allocated by caller, on return will contain a weight for each hyperedge indicated in global_ids 
Implemented in Isorropia::Epetra::CostDescriber.