Package edu.claflin.finder.algo.clustering

# Class LeadingEigenvector

java.lang.Object
edu.claflin.finder.algo.Algorithm
edu.claflin.finder.algo.clustering.ClusteringAlgorithm
edu.claflin.finder.algo.clustering.LeadingEigenvector

All Implemented Interfaces:
  `Processable<Graph,Graph>`

public class LeadingEigenvector extends ClusteringAlgorithm
Leading Eigenvector Algorithm for Community Detection, following Mark Newman's "Finding community structure in networks using the eigenvectors of matrices". Uses JAMA to calculate leading eigenvectors and eigenvalues. For more information see "Finding community structure in networks using the eigenvectors of matrices" by Mark Newman There are also detailed comments and descriptions in: edu.claflin.finder.algo.clustering.struct.leading_eigenvector_struct.LeadingEigenvectorAlgorithm.java

Author:
  Samuel Perez

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class edu.claflin.finder.algo.Algorithm

  `Algorithm.GraphSortOrder`

- ## Field Summary

  ### Fields inherited from class edu.claflin.finder.algo.Algorithm

  `args, PROP_PROGRESS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LeadingEigenvector(ArgumentsBundle args)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ArrayList<Graph>`
  `process(Graph graph)`
  Performs community detection using Mark Newman's Leading Eigenvector algorithm on a given Graph object, returning the clustering the highest approximated modularity.
  `String`
  `toString()`

  ### Methods inherited from class edu.claflin.finder.algo.clustering.ClusteringAlgorithm

  `buildCommunityGraphs, isWeighted`

  ### Methods inherited from class edu.claflin.finder.algo.Algorithm

  `addPropertyChangeListener, cull, getGraphSortOrder, getMinNodeCount, getPartiteNumber, getWeightName, removePropertyChangeListener, setGraphSortOrder, setMinNodeCount, setPartiteNumber, setProgress, setWeightName, zeropad`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### LeadingEigenvector

    public LeadingEigenvector(ArgumentsBundle args)

- ## Method Details

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### process

    public ArrayList<Graph> process(Graph graph)
    Performs community detection using Mark Newman's Leading Eigenvector algorithm on a given Graph object, returning the clustering the highest approximated modularity.
    Parameters:
      `graph` - the Graph on which community detection will be performed
    Returns:
      the list of Graphs representing the clustering with the highest approximated modularity