Learn R Programming

iGraphMatch

iGraphMatch is a R package for graph matching. The package works for both igraph objects and matrix objects. You provide the adjacency matrices of two graphs and some other information you might know, choose the graph matching method, and it returns the graph matching results. iGraphMatch also provides a bunch of useful functions you might need during the process of graph matching.

Installation

# install.packages("devtools")
devtools::install_github("dpmcsuss/iGraphMatch")

This package is still in development. The dev branch of the package might be more stable. This can be installed via devtools with

# install.packages("devtools")
devtools::install_github("dpmcsuss/iGraphMatch", ref = "dev")

Usage

After installation, we recommend loading igraph first.

library(igraph)
library(iGraphMatch)

Documentation

Documentation can be found via the help in R and at https://dpmcsuss.github.io/iGraphMatch/.

Author and Contributors

The primary authors for the package are Vince Lyzinski, Zihuan Qiao, and Daniel Sussman.

Joshua Agterberg, Lujia Wang, and Yixin Kong also provided important contributions. We also want to thank all of our users, especially Youngser Park, for their feedback and patience as we continue to develop the package.

Support

This work was supported in part by grants from DARPA (FA8750-20-2-1001 and FA8750-18-0035) and from MIT Lincoln Labs.

Copy Link

Version

Install

install.packages('iGraphMatch')

Monthly Downloads

285

Version

2.0.5

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Daniel Sussman

Last Published

May 17th, 2024

Functions in iGraphMatch (2.0.5)

gm

Graph Matching Methods
get_perm_mat

Get Permutation
plot,igraph,igraph-method

Plotting methods for visualizing matches
graph_match_percolation

Percolation Graph Matching Methods
pad

Pad a matrix object with extra rows/columns of 0s.
init_start

Initialization of the start matrix
split_igraph

Split an igraph object into aligned graphs by attribute
iGraphMatch-package

iGraphMatch: Tools for Graph Matching
innerproduct

Matrix inner products
graph_match_Umeyama

Spectral Graph Matching Methods: Umeyama Algorithm
lapjv

Solves a linear assignment problem using the Jonker-Vogenant algorithm or LAPMOD variant
sample_correlated_sbm_pair

Sample graphs pair from stochastic block model
largest_common_cc

Find the largest common connected subgraph (LCCS) of two graphs
graphMatch-class

Graph matching results class
matrix_list-class

Lists of Matrices
as.data.frame,graphMatch-method

Methods for the graphMatch class
splrMatrix-class

Sparse Plus Low-Rank Matrices
splr_sparse_plus_constant

Add a constant to a splrMatrix object
graph_match_convex

Frank-Wolfe Graph Matching Methods
sample_correlated_ieg_pair

Sample graphs from edge probability matrix and correlation matrix
sample_correlated_gnp_pair

Sample correlated G(n,p) random graphs
show,splrMatrix-method

"SPLR" Methods
splr_to_sparse

Convert splr "Matrix" to Sparse
Transportation

Britain Transportation Network
do_lap

Linear (sum) assignment problem
check_sim

Check the similarity matrix passed to a matching function
check_graph

Parameter checking for a graph-pair
as.character.splrMatrix

splr "Matrix" as character
Enron

Email communication networks of Enron Corporation
C.Elegans

Chemical synapses and electrical synapses networks of roundworm
center_graph

Center adjacency matrix
best_matches

Rank best matches
check_seeds

Standardize seeds input data type
graph_match_IsoRank

Spectral Graph Matching Methods: IsoRank Algorithm
summary,graphMatch-method

Summary methods for graphMatch objects
%*%,graphMatch,ANY-method

Operator methods for graphMatch objects