svd_transform(data, processed_paths)

Perform SVD transformation on graph adjacency matrix and store eigenvalues/vectors.

Parameters:
  • data (Data) –

    Input graph data object containing edge indices and node features

  • processed_paths (str) –

    Path to save processed eigenvalues and eigenvectors

Returns:
  • Data

    Data object augmented with eigenvalues and eigenvectors

Notes

Processing Steps:

  • Graph Processing:

  • Extract number of nodes

  • Compute Laplacian matrix
  • Convert to dense adjacency

  • SVD Computation:

  • Choose components based on graph size

  • Small graphs (<1000 nodes): 100 components
  • Large graphs: 1000 components
  • Perform truncated SVD

  • Data Storage:

  • Save square root of explained variance

  • Save component vectors
  • Load into data object

Features:

  • Adaptive dimensionality
  • Memory efficient SVD
  • Sparse to dense conversion
  • Eigendecomposition storage

Mathematical Details:

  • Uses truncated SVD for dimensionality reduction
  • Computes graph Laplacian eigendecomposition
  • Stores sqrt{explained_variance} as eigenvalues
  • Preserves principal components as eigenvectors