Research Interests
Direct Links
Relevant Links


Complex Networks Package Reference

General Concepts

The Complex Networks Package is designed along few common principles. These principles should be maintained as you use and expend the package in order to allow simple code sharing and overall stability.

All networks, analyzable by the package are stored within the unique Data Structure. In fact, this data structure is the major difference distinguishing between various versions of the packages. Indeed, all other changes are considered minor and can only influence only a very limited number of algorithms. Structural changes to the way networks are stored influences virtually every function of the package.

All methods are thoroughly documented and I suggest to study behavior of each method for every set of parameters. The documentation is also available online. m-file with the appropriate name which contains only documentation is provided for each of the mex-files. This is a standard MatLab approach.

Methods Naming. Names of the methods, contained in the package start with either Graph or mexGraph prefix. The other one indicates that the method is a mex file. Few methods, shared between this and other packages (which I do not currently release) override this convention, but (except for ObjectCreateGraph.m) they are utility methods and are rarely called directly.

Some of the package functions make use of FlexIO - a small toolbox I've developed to allow convenient and flexible interface for MatLab functions.

Data Structure


The package is designed to complement the network research environment, so networks can be easily imported and exported from it quite easily. Network Data section of this site provides few data sets which can be used directly from the provided files or easily exported from the SQL databases.

  • GraphLoad
  • GraphLoadFromFile
  • GraphSaveAsDirectedListToFile
  • GraphSaveToFile
  • GraphExportToFile
  • GraphExportToGML
  • GraphConvertFromV2
  • GraphDrawGraphViz
  • GraphDrawPajek



  • ObjectCreateGraph
  • mexGraphCreateRandomGraph
  • GraphCreateRandomGraph
  • GraphGenerateCompleteGraph
  • GraphGenerateCompleteBipartiteGraph
  • GraphGenerateCompleteKPartiteGraph
  • mexGraphGeneratePoissonRandomGraph


  • GraphNodeAdd
  • GraphLinkAdd
  • GraphLinkFind
  • GraphLinkRemove
  • GraphNodeRemove
  • GraphRemoveDuplicateLinks
  • GraphRemoveUnlinkedNodes
  • GraphReverseLinks
  • GraphNodeIDs
  • GraphGetNodeNames
  • GraphGetNodeProperty
  • GraphSetNodeProperty
  • mexGraphMergeNodes
  • mexGraphNodeRemove
  • mexGraphSqueeze

Network Browsing Tool

  • GraphGIUBrowseGraph
  • GraphGIUSelectGraph


  • GraphCountNodeDegree
  • GraphCountNodesDegree
  • GraphCountNumberOfLinks
  • GraphCountNumberOfNodes
  • GraphCountUnderectionality
  • GraphMakeUndirected
  • GraphBetweennessCentrality
  • GraphBetweennessDegreeHierarchy
  • GraphComponents
  • GraphComponentsDirected
  • GraphKShell
  • GraphNodeDistancesDistribution
  • GraphNodeFirstNeighbours
  • mexBetweenesCentrality
  • mexCirclesOfDegree
  • mexGraphAllNodeNeighbours
  • mexGraphAllNodeShortestPasses
  • mexGraphAverageNearestNeighborDegree
  • mexGraphBetweennessCentrality
  • mexGraphBoxCounting
  • mexGraphClusteringCoefficient
  • mexGraphClustersList
  • mexGraphConnectedComponents
  • mexGraphCountCircles
  • mexGraphFlowHierarchy
  • mexGraphHITS
  • mexGraphPageRank
  • mexGraphKCore
  • mexGraphNeighboursDegree
  • mexGraphNeighboursOverlap
  • mexGraphNodeConnectivity
  • mexGraphNodeConnectivityFunnel
  • mexGraphNodeCountShortestPasses
  • mexNodeNeighbours
  • mexNodeSurroundings


  • GraphCountStatistics
  • GraphPlotNodesDegreeDistribution
  • GraphPlotNodesDegreeDistributionNature


  • FIOAddParameter
  • FIOParameterNames
  • FIOProcessInputParameters
  • FIOTestInput