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.