igraph (version 1.0.0)

embed_laplacian_matrix: Spectral Embedding of the Laplacian of a Graph

Description

Spectral decomposition of Laplacian matrices of graphs.

Usage

embed_laplacian_matrix(graph, no, weights = NULL, which = c("lm", "la",
  "sa"), degmode = c("out", "in", "all", "total"), type = c("default",
  "D-A", "DAD", "I-DAD", "OAP"), scaled = TRUE,
  options = igraph.arpack.default)

Arguments

graph
The input graph, directed or undirected.
no
An integer scalar. This value is the embedding dimension of the spectral embedding. Should be smaller than the number of vertices. The largest no-dimensional non-zero singular values are used for the spectral embedding.
weights
Optional positive weight vector for calculating weighted closeness. If the graph has a weight edge attribute, then this is used by default.
which
Which eigenvalues (or singular values, for directed graphs) to use. lm means the ones with the largest magnitude, la is the ones (algebraic) largest, and sa is the (algebraic) smallest eigenvalues. The de
degmode
TODO
type
The type of the Laplacian to use. Various definitions exist for the Laplacian of a graph, and one can choose between them with this argument.

Possible values: D-A means $D-A$ where $D$ is the degree matrix and $A$ is the adjacency matrix;

scaled
Logical scalar, if FALSE, then $U$ and $V$ are returned instead of $X$ and $Y$.
options
A named list containing the parameters for the SVD computation algorithm in ARPACK. By default, the list of values is assigned the values given by igraph.arpack.default.

Value

  • A list containing with entries:
  • XEstimated latent positions, an n times no matrix, n is the number of vertices.
  • YNULL for undirected graphs, the second half of the latent positions for directed graphs, an n times no matrix, n is the number of vertices.
  • DThe eigenvalues (for undirected graphs) or the singular values (for directed graphs) calculated by the algorithm.
  • optionsA named list, information about the underlying ARPACK computation. See arpack for the details.

Details

This function computes a no-dimensional Euclidean representation of the graph based on its Laplacian matrix, $L$. This representation is computed via the singular value decomposition of the Laplacian matrix.

They are essentially doing the same as embed_adjacency_matrix, but work on the Laplacian matrix, instead of the adjacency matrix.

References

Sussman, D.L., Tang, M., Fishkind, D.E., Priebe, C.E. A Consistent Adjacency Spectral Embedding for Stochastic Blockmodel Graphs, Journal of the American Statistical Association, Vol. 107(499), 2012

See Also

embed_adjacency_matrix, sample_dot_product

Examples

Run this code
## A small graph
lpvs <- matrix(rnorm(200), 20, 10)
lpvs <- apply(lpvs, 2, function(x) { return (abs(x)/sqrt(sum(x^2))) })
RDP <- sample_dot_product(lpvs)
embed <- embed_laplacian_matrix(RDP, 5)

Run the code above in your browser using DataCamp Workspace