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

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

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

Computes the largest eigenvalue of the connectivity matrix C of a topology as a GraphMetric.

The connectivity matrix C is a matrix of size D x D, where D is max(v_d). Each element of C is e[r,c]=\frac{F}{Sr}, where:

- F is the number of times a node of degree r connects with a node of degree c,
- Sr is the number of nodes of the topology with a degree r.

Additionally, it provides a connectivity matrix, although that functionality is not accessible through the GraphMetric interface. returns

Author:
mmanzano

Constructor Summary
ConnectivityMatrixSpectralRadius()
          Default constructor.
ConnectivityMatrixSpectralRadius(SimGraph<V,E> g, Environ env)
          Creates a new instance and calls setup to complete the initialization.
 
Method Summary
 float[][] createConnectivityMatrix()
          Creates the connectivity matrix C of the graph.
 float[][] getConnectivityMatrix()
          Returns the connectivity matrix C.
 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 spectral radius of the connectivity matrix C of the topology.
 java.lang.String getLabel()
          Returns "Connectivity matrix spectral radius".
 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

ConnectivityMatrixSpectralRadius

public ConnectivityMatrixSpectralRadius()
Default constructor.


ConnectivityMatrixSpectralRadius

public ConnectivityMatrixSpectralRadius(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 spectral radius of the connectivity matrix C of the topology.

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

createConnectivityMatrix

public float[][] createConnectivityMatrix()
Creates the connectivity matrix C of the graph.


getLabel

public java.lang.String getLabel()
Returns "Connectivity matrix spectral radius".

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>

getConnectivityMatrix

public float[][] getConnectivityMatrix()
Returns the connectivity matrix C.