laplacian_eigenmaps
#
- hypercoil.functional.connectopy.laplacian_eigenmaps(W: Array | ndarray, k: int = 10, normalise: bool = True) Tuple[Array | ndarray, Array | ndarray] [source]#
Manifold coordinates estimated using Laplacian eigenmaps.
Warning
Sparse inputs are currently unsupported because an implementation of a sparse extremal eigenvalue solver does not yet exist in JAX. For sparse inputs, use the generalised connectopic functional instead – once we implement VJP rules for elementary operations on sparse matrices, anyway.
- Dimension:
- W : \((*, N, N)\)
*
denotes any number of preceding dimensions, N denotes number of vertices, and E denotes number of edges.- Q : \((*, N, k)\)
k denotes the number of eigenmaps.
- L : \((*, k)\)
As above.
- Parameters:
- Wtensor
Edge weight tensor. If
edge_index
is not provided, then this should be the graph adjacency (or affinity) matrix; otherwise, it should be a list of weights corresponding to the edges inedge_index
.- kint (default 10)
Number of eigenmaps to compute.
- normalisebool (default True)
Indicates that the Laplacian should be normalised using the degree matrix.
- Returns:
- Qtensor
Eigenmaps.
- Ltensor
Eigenvalues corresponding to eigenmaps.
See also