Skip to content
Pasqal Documentation

Results are limited to the current section : Qoolqit

qoolqit.embedding.algorithms.spring_layout_embedding

module
qoolqit.embedding.algorithms.spring_layout_embedding

Classes

Functions

dataclass
SpringLayoutConfig (iterations: int = 100, threshold: float = 0.0001, seed: int | None = None)

Bases : EmbeddingConfig

Configuration parameters for the spring-layout embedding.

spring_layout_embedding (graph: DataGraph, iterations: int, threshold: float, seed: int | None) → DataGraph

Force-directed embedding, wrapping nx.spring_layout.

Generates a new graph with the same nodes and edges as the original graph, but with node coordinates set to embed edge weights into pairwise distances as wᵢⱼ=1/rᵢⱼ^6.

The positions are generated by nx.spring_layout. Since nx.spring_layout embeds edge weights as wᵢⱼ = (k/rᵢⱼ)^3, we set: - k=1 and scale=None to disable global rescaling of positions. - rescale weights wᵢⱼ -> wᵢⱼ^1/2 to achieve our target embedding wᵢⱼ=1/rᵢⱼ^6.

Check the documentation for `nx.spring_layout` for more information about each parameter

Parameters

  • graph : DataGraph the graph to embed according to its edge weights.

  • iterations : int maximum number of iterations to take.

  • threshold : float Threshold for relative error in node position changes. The iteration stops if force-displacement is below this threshold.

  • seed : int | None random seed for reproducibility.

Returns

  • DataGraph graph with the node coordinates set according to the spring-layout embedding.