Given a functor F: C → D and a C-set X, compute Σ_F(X) — a D-set. This is the left Kan extension of X along F, computed via colimits.
Details
For each object d in D, the sigma is computed as the sum over all c with F(c)=d of X(c). Parts from different C-objects mapping to the same D-object are combined.
Examples
# Identity functor: sigma migration copies the ACSet unchanged
cat_g <- FinCat(schema = SchGraph)
F_id <- FinFunctor(
ob_map = list(V = "V", E = "E"),
hom_map = list(src = "src", tgt = "tgt"),
dom = cat_g, codom = cat_g
)
g <- path_graph(3)
g2 <- sigma_migrate(F_id, g, Graph)
nv(g2) # 3
#> [1] 3
ne(g2) # 2
#> [1] 2