InfraAnalysis
InfraAnalysis
[LLM Generated]
Calculus on directed graphs: the real line is an idealization of a DAG, integration an idealization of accumulation. Different treatments of branching give different integrals, each paired with a derivative for which a fundamental theorem holds, and blow-ups provide a renormalization group.
Setup
Setup
Install the paclet from the Wolfram Cloud. The substrates below follow the shared example-graphs notebook: a directed path, a cone, and an acyclically oriented grid.
PacletInstall["https://www.wolframcloud.com/obj/hajek_pavel/InfraAnalysis.paclet",ForceVersionInstall->True];Needs["WolframInstitute`InfraAnalysis`"]
ambientGraphStyles=<|"Default"->{},"GrayFaint"->{EdgeStyle->Directive[StandardGray,Opacity[0.15]],VertexStyle->Directive[StandardGray,Opacity[0.3]]},"GrayOpaque"->{EdgeStyle->Directive[StandardGray,Opacity[0.4]],VertexStyle->Directive[StandardGray,Opacity[0.6]]},"Gray"->{EdgeStyle->StandardGray,VertexStyle->StandardGray}|>;dag=ConeGraph[DirectedPath[4]];gridDag=DirectedGraph[GridGraph[{4,4}],"Acyclic",Sequence@@ambientGraphStyles["GrayOpaque"]];
Function reference
Function reference
Domains and utilities
Domains and utilities
Integration and differentiation
Integration and differentiation
Finite differences and vector fields
Finite differences and vector fields
Renormalization
Renormalization
Decomposition
Decomposition
Domains
Domains
◼
The simplest integration domains: the directed path (the discrete half-line), the cone over it, and the acyclically oriented grid (a causal diamond).
Row[{Graph[DirectedPath[6],ImageSize->100],Graph[dag,ImageSize->200],Graph[gridDag,ImageSize->200]}]
{GraphSources[gridDag],GraphSinks[gridDag]}
{{1},{16}}
Integration is accumulation
Integration is accumulation
◼
The integral of a vertex function accumulates its values along the causal order; the result annotates the graph.
◼
The scalar integral at a sink totals the function over the sink's predecessors.
f=AssociationThread[VertexList[dag],1];GraphIntegrate[dag,f]
GraphIntegral[gridDag,AssociationThread[VertexList[gridDag],1],First[GraphSinks[gridDag]]]
16
Derivative and the fundamental theorem
Derivative and the fundamental theorem
◼
The paired derivative differences accumulated values back along the order, recovering the integrand: the fundamental theorem of graph calculus.
◼
The finite difference is its non-annotated companion.
GraphDerivative[GraphIntegrate[dag,f]]
GraphFiniteDifference[dag,f]
Vector fields and directional differences
Vector fields and directional differences
◼
A vector field assigns to each vertex one of its neighbors; directional differences differentiate along it.
◼
The weighted derivation satisfies a weighted Leibniz rule.
Blow-up as renormalization
Blow-up as renormalization
◼
Blowing up replaces each vertex with a fiber and each edge with a complete bipartite block; contraction collapses it back.
◼
Integration and differentiation commute with this coarse-graining, giving a renormalization group.
◼
Radial expansion grows a domain outward by concentric rings.
Laminar decomposition
Laminar decomposition
◼
The laminar decomposition splits a directed graph into layers whose flow is unbranched, organized as a DAG of layers.
Learn more
Learn more
The paclet lives at github.com/WolframInstitute/InfraAnalysis. It is actively developed, experimental research code. Ready-made substrates: the example-graphs notebook.