Use this if you are using igraph from R
Spectral decomposition of Laplacian matrices of graphs.
embed_laplacian_matrix( graph, no, weights = NULL, which = c("lm", "la", "sa"), type = c("default", "D-A", "DAD", "I-DAD", "OAP"), scaled = TRUE, options = igraph.arpack.default )
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 |
weights |
Optional positive weight vector for calculating a weighted
embedding. If the graph has a |
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 default is ‘lm’. Note that for directed graphs ‘la’ and ‘lm’ are the equivalent, because the singular values are used for the ordering. |
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:
The default (i.e. type |
scaled |
Logical scalar, if |
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 |
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.
A list containing with entries:
X |
Estimated latent positions,
an |
Y |
|
D |
The eigenvalues (for undirected graphs) or the singular values (for directed graphs) calculated by the algorithm. |
options |
A named list, information about the underlying ARPACK
computation. See |
Gabor Csardi csardi.gabor@gmail.com
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
embed_adjacency_matrix
,
sample_dot_product
## 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)