Catenary degree of an element

Definition

Let \(S\) be a numerical semigroup, let \(s \in S\) and let \(\mathbf{Z}(s)\) be the set of factorizations of \(s\) in \(S\). It is defined the catenary degree of \(s\), denoted by \(\mathbf{C}(s)\), as the least \(N\) such that for any two factorizations \(x, y \in \mathbf{Z}(s)\), there is an N-chain joining them.

From the catenary degree of an element it is defined the catenary degree of a numerical semigroup.

Examples

\(\circ\) Let \(S = \langle 6, 13, 17\rangle\) and \(s = 85\). The set of factorizations is

\[ \mathbf{Z}(85) = \{(12, 1, 0), (7, 2, 1), (2, 3, 2), (0, 0, 5)\}. \]

If we compute the distance between each pair, it is obtained the following graph.

```{r librerias, include=FALSE, warning=FALSE}

library(tidyverse) library(tidygraph) library(ggraph)


```{r grafo ejemplo1, fig.height=5, fig.width=5}
tabla_aristas = data.frame(
  "from" = c( "(12, 1, 0)", "(12, 1, 0)", "(12, 1, 0)",
              "(7, 2, 1)", "(7, 2, 1)",
              "(2, 3, 2)"),
  "to" = c( "(7, 2, 1)", "(2, 3, 2)", "(0, 0, 5)",
            "(2, 3, 2)", "(0, 0, 5)",
            "(0, 0, 5)"),
  "weight" = c(5, 10, 13, 5, 9, 5))


ggraph(tabla_aristas, layout = "igraph", algorithm = "kk") + 
  geom_edge_link(width = 1, colour = "lightgray") +
  geom_edge_hive(aes(label = tabla_aristas[, "weight"]), strength = 0) +
  geom_node_point(size = 5.5, colour = "lightblue") +
  geom_node_text(aes(label = c("(12,1,0)", "(7, 2, 1)", "(2, 3, 2)", "(0, 0, 5)")), repel = TRUE, nudge_y = 0.1) +
  coord_fixed() +
  theme_graph()

From this graph, it is deduced that the least \(N\) is \(N = 5\), concluding that \(\mathbf{C}(85) = 5\).

Examples with GAP

The following example is made with the package NumericalSgps in GAP.

\(\diamond\) Let \(S = \langle 47, 63, 81, 90 \rangle\), in GAP:

gap> S := NumericalSemigroup(47, 63, 81, 90);
<Numerical semigroup with 4 generators>

Given the set of factorizations of an element, the functions CatenaryDegree and CatenaryDegreeOfSetOfFactorizations compute the catenary degree with respect to the given set of factorizations.

gap> z := Factorizations(715, S);
[ [ 2, 6, 3, 0 ], [ 2, 2, 5, 1 ], [ 2, 7, 0, 2 ], [ 2, 3, 2, 3 ],
  [ 2, 0, 1, 6 ] ]
gap> CatenaryDegree(z);
4
gap> CatenaryDegree(z) = CatenaryDegreeOfSetOfFactorizations(z);
true

If we give a numerical semigroup \(S\) and an element \(n\) of it in CatenaryDegree, then the function returns the catenary degree of \(n\) in \(S\).

gap> CatenaryDegree(715, S);
4
gap> CatenaryDegree(S, 715);
4

Moreover, if we give only a numerical semigroup \(S\), the function returns the catenary degree of \(S\).

gap> CatenaryDegree(S);
9

References

Assi, Abdallah, Marco D’Anna, and Pedro A. Garcı́a-Sánchez. 2020. Numerical Semigroups and Applications. Vol. 3. RSME Springer Series. Springer, [Cham]. https://doi.org/10.1007/978-3-030-54943-5.
Delgado, M., P. A. Garcia-Sanchez, and J. Morais. 2024. NumericalSgps, a Package for Numerical Semigroups, Version 1.4.0.” https://gap-packages.github.io/ numericalsgps.