bcds.phison.gm
Class AlgebraicConnectivity<V,E>

java.lang.Object
  extended by bcds.phison.gm.GraphMetricBase<V,E>
      extended by bcds.phison.gm.AlgebraicConnectivity<V,E>
All Implemented Interfaces:
GraphMetric<V,E>, WithEnvParams

public class AlgebraicConnectivity<V,E>
extends GraphMetricBase<V,E>
implements GraphMetric<V,E>

Computes the algebraic connectivity of a topology, that is, the second smallest eigenvalue of its Laplacian spectrum. The computation is performed by using the jblas library.

Beware: This implementation does not consider a topology with just one node nor a disconnected topology.

Author:
mmanzano

Constructor Summary
AlgebraicConnectivity()
          Default constructor.
AlgebraicConnectivity(SimGraph<V,E> g, Environ env)
          Creates a new instance and calls setup to complete the initialization.
 
Method Summary
 float[][] createLaplacianMatrix()
          Creates the laplacian matrix of the graph according to Wikipedia: Laplacian Matrix
 java.lang.String getDescription()
          Returns a string describing the metric, for example, article where it has been published, URL where to find reference implementation, etc.
 double getGraphMetric()
          Returns the algebraic connectivity of the topology.
 java.lang.String getLabel()
          Returns "Algebraic connectivity".
 boolean isApplicableTo(MetricTarget m)
          Returns true if m is MetricTarget.GRAPH.
 
Methods inherited from class bcds.phison.gm.GraphMetricBase
dump, getEdgeMetric, getEnviron, getEnvParams, getGraph, getGraphMetricStdev, getName, getNodeMetric, run, setup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface bcds.phison.gm.GraphMetric
dump, getEdgeMetric, getGraphMetricStdev, getNodeMetric, run, setup
 
Methods inherited from interface bcds.phison.WithEnvParams
getEnviron, getEnvParams, getName
 

Constructor Detail

AlgebraicConnectivity

public AlgebraicConnectivity()
Default constructor.


AlgebraicConnectivity

public AlgebraicConnectivity(SimGraph<V,E> g,
                             Environ env)
Creates a new instance and calls setup to complete the initialization.

Method Detail

isApplicableTo

public boolean isApplicableTo(MetricTarget m)
Returns true if m is MetricTarget.GRAPH.

Specified by:
isApplicableTo in interface GraphMetric<V,E>
Overrides:
isApplicableTo in class GraphMetricBase<V,E>

getGraphMetric

public double getGraphMetric()
Returns the algebraic connectivity of the topology.

Beware: This implementation does not consider a topology with just one node nor a disconnected topology.

Specified by:
getGraphMetric in interface GraphMetric<V,E>
Overrides:
getGraphMetric in class GraphMetricBase<V,E>

createLaplacianMatrix

public float[][] createLaplacianMatrix()
Creates the laplacian matrix of the graph according to Wikipedia: Laplacian Matrix


getLabel

public java.lang.String getLabel()
Returns "Algebraic connectivity".

Specified by:
getLabel in interface GraphMetric<V,E>

getDescription

public java.lang.String getDescription()
Description copied from interface: GraphMetric
Returns a string describing the metric, for example, article where it has been published, URL where to find reference implementation, etc.

Specified by:
getDescription in interface GraphMetric<V,E>