Prepare a graph-first geodesic-MDS path cache
Source:R/export_examples.R, R/geodesic_mds.R
prepare.graph.geodesic.mds.Rdprepare.graph.geodesic.mds() prepares the full all-pairs chosen
geodesic cache for an arbitrary connected weighted graph. This is the
graph-first entry point corresponding to the manuscript's definition of GMDS
on a connected weighted graph together with a chosen geodesic family
\((G, \Gamma)\).
Usage
prepare.graph.geodesic.mds(
edges = NULL,
n = NULL,
adj_list = NULL,
weight_list = NULL,
edge_weights = NULL,
tie_mode = c("single", "average")
)Arguments
- edges
Two-column integer matrix of edges (1-based vertex ids).
- n
Number of vertices. If omitted with
adj_list, defaults tolength(adj_list). If omitted withedges, defaults tomax(edges).- adj_list
Adjacency list (1-based) for an undirected graph.
- weight_list
Optional parallel list of positive edge weights.
- edge_weights
Optional positive edge-weight vector parallel to
edges.- tie_mode
Shortest-path aggregation mode.
"single"uses one deterministic chosen shortest path per pair."average"replaces each tied shortest-path family by the exact uniform average over all shortest paths between the pair.
Value
A prepared object with class "grip_gmds_prepared" layered on
top of the existing full geodesic path-cache structure.
Details
The graph can be supplied either as an edge list plus parallel weights or as an adjacency-list representation. The returned object stores the all-pairs graph distances, the chosen shortest-path family, and the flattened edge-path cache reused by the GMDS scorer and optimizer.
The all-pairs distance_matrix contains symmetric strict graph
distances. Retained-route lengths in pair_graph_distance follow the
deterministic near-tie path convention and can differ slightly from these
targets. Route selection and path diagnostics are not changed by this
distinction.
Examples
cycle_edges <- edges.cycle(6)
prepared <- prepare.graph.geodesic.mds(cycle_edges, n = 6)