Morphisms and Pushforwards
This page highlights the APIs for mapping sheaves across graphs and comparing sheaf data under those maps.
When to use this page
Use this guide when you want to:
- Relate two graphs with an explicit map.
- Verify sheaf-level compatibility under graph maps.
- Transport sections and operators along a map.
Graph Homomorphisms
- Main types and combinators:
GraphHomomorphism,compose,fiber_vertices,fiber_edges,cross_edges,graph_pushout. - See: Graph Homomorphisms.
Sheaf Morphisms
- Core APIs:
SheafMorphism,ComplexMorphism,is_morphism,make_sheaf_morphism_spec,id. - See: Sheaf Morphisms.
Pushforward and Transfer Maps
- Main APIs:
all_fiber_bases,fiber_section_basis,pushforward_sheaf,pushforward_transfer_map. - See: Pushforwards.
Pushout Construction
- Main APIs:
SheafSpan,pushout_sheaf. - See: Pushouts.
# Sketch: build a graph map f : G -> H and pushforward a sheaf.
# (Use your concrete graph and sheaf constructors from examples/tests.)
f = GraphHomomorphism(g_dom, g_cod, vmap, emap)
Sf = pushforward_sheaf(s, f)
T = pushforward_transfer_map(s, f)Typical workflow:
- Define a
GraphHomomorphism. - Build or validate the induced sheaf map with
SheafMorphism/is_morphism. - Compute
pushforward_sheafandpushforward_transfer_mapfor downstream computations.