UNPKG

@graphty/layout

Version:

graph layout algorithms based on networkx

33 lines (32 loc) 1.24 kB
/** * Kamada-Kawai layout algorithm optimization functions */ import { Graph } from '../../types'; import { DistanceMap } from './types'; /** * Compute all-pairs shortest path distances for the graph * * @param G - NetworkX graph * @param weight - Edge attribute for weight * @returns Dictionary of dictionaries of shortest path distances */ export declare function _computeShortestPathDistances(G: Graph, weight: string): DistanceMap; /** * Solve the Kamada-Kawai layout optimization problem * * @param distMatrix - Matrix of desired distances between nodes * @param positions - Initial node positions * @param dim - Dimension of layout * @returns Optimized node positions */ export declare function _kamadaKawaiSolve(distMatrix: number[][], positions: number[][], dim: number): number[][]; /** * Cost function and gradient for Kamada-Kawai layout algorithm * * @param posVec - Flattened position array * @param invDist - Inverse distance matrix * @param meanWeight - Weight for centering positions * @param dim - Dimension of layout * @returns Array with [cost, gradient] */ export declare function _kamadaKawaiCostfn(posVec: number[], invDist: number[][], meanWeight: number, dim: number): [number, number[]];