Package edu.claflin.finder.algo.clustering.struct.leading_eigenvector_struct

# Class LeadingEigenvectorAlgorithm

java.lang.Object
edu.claflin.finder.algo.clustering.struct.leading_eigenvector_struct.LeadingEigenvectorAlgorithm

public final class LeadingEigenvectorAlgorithm extends Object

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `private class`
  `LeadingEigenvectorAlgorithm.MappedModularityMatrix`
  `private class`
  `LeadingEigenvectorAlgorithm.SwapInfo`
  `private class`
  `LeadingEigenvectorAlgorithm.VectorInfo`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `private HashMap<Integer,List<Node>>`
  `communities`
  `private Graph`
  `graph`
  `private int`
  `groupLabel`
  `private int[]`
  `groupVector`
  `private double[][]`
  `modularityMatrix`
  `private int`
  `nodeCount`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LeadingEigenvectorAlgorithm(Graph g)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `private double[][]`
  `getAdjacencyMatrix()`
  `HashMap<Integer,List<Node>>`
  `getCommunities()`
  `Graph`
  `getGraph()`
  `private LeadingEigenvectorAlgorithm.MappedModularityMatrix`
  `getGroupModMatrix(int groupLabel)`
  `private int[]`
  `getGroupVector(double[][] modMatrix)`
  `private double`
  `getModularityDelta(int nodeID, int oldGroup, int newGroup)`
  `private double[][]`
  `getModularityMatrix()`
  `private double`
  `getModularityScore(double[][] modMatrix, int[] groupVector)`
  `private boolean`
  `hasNeighbor(int nodeID, int groupToCheck)`
  `private void`
  `normalizeGroupVector()`
  `private void`
  `split(int groupLabel)`
  `private void`
  `stepOptimization()`
  `private void`
  `updateGroupVector(int[] map, int[] localGroupVector)`

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

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

- ## Field Details

  - ### graph

    private Graph graph

  - ### groupVector

    private int[] groupVector

  - ### nodeCount

    private int nodeCount

  - ### groupLabel

    private int groupLabel

  - ### modularityMatrix

    private double[][] modularityMatrix

  - ### communities

    private HashMap<Integer,List<Node>> communities

- ## Constructor Details

  - ### LeadingEigenvectorAlgorithm

    public LeadingEigenvectorAlgorithm(Graph g)

- ## Method Details

  - ### split

    private void split(int groupLabel)

  - ### getAdjacencyMatrix

    private double[][] getAdjacencyMatrix()

  - ### getModularityMatrix

    private double[][] getModularityMatrix()

  - ### getModularityScore

    private double getModularityScore(double[][] modMatrix, int[] groupVector)

  - ### getModularityDelta

    private double getModularityDelta(int nodeID, int oldGroup, int newGroup)

  - ### getGroupModMatrix

    private LeadingEigenvectorAlgorithm.MappedModularityMatrix getGroupModMatrix(int groupLabel)

  - ### getGroupVector

    private int[] getGroupVector(double[][] modMatrix)

  - ### stepOptimization

    private void stepOptimization()

  - ### hasNeighbor

    private boolean hasNeighbor(int nodeID, int groupToCheck)

  - ### updateGroupVector

    private void updateGroupVector(int[] map, int[] localGroupVector)

  - ### normalizeGroupVector

    private void normalizeGroupVector()

  - ### getCommunities

    public HashMap<Integer,List<Node>> getCommunities()

  - ### getGraph

    public Graph getGraph()