# Generators as Symbolic Exploration
First Domain Extension via Gamma Function
During the development of -dimensional figurate number generators in my libraries figuratenum and figurate_numbers, I encoded several sequences using the factorial and its companions.
Both the rising factorial and the classical factorial, interpreted as a special case of the falling factorial , are perhaps at their core a very natural way of counting dimensions and constructing geometric universes through monotonic multiplications along complementary paths.
Yet, seeking a different perspective to address my concerns, I often think of sequences as an enriched, serpentine wave connecting the discrete world of counting with the continuity of analysis (inspired by Artin’s book). The order in which I present the following winding identities simply reflects my personal taste.
All these expressions unite in the object called the k_hypertetrahedron
, following Figurate Numbers (2012), where combinatorics, geometry, and analysis converge.
On the purely combinatorial side, is tightly connected to integer partitions. In a geometry view, it counts the integer points satisfying the equation , forming a discrete -simplex. This often reminds me of a modified Tonnetz, where simplices tile symbolic space.
Finally, seen through the lens of the Gamma function it becomes malleable and extends to fractional or complex values , provided the constraints on the real part are respected.
Towards a Symbolic Extension in Each Term
I have thought of building generators as a form of navigation. It is not just about producing sequences, but about following a winding path through ideas, like a symbolic river.
Although implementations may appear rigid for the sake of efficiency, as I mentioned in the previous post, I also included book-style versions. That choice made me reflect on the possibility of creating broader, more elegant functions.
def k_dimensional_hypertetrahedron_from_book(k: int) -> Generator[int]:
"""Book definition. For reference only."""
delta = 1
while True:
yield rising_factorial(delta, k) // factorial(k)
# One alternative under the analytic mantle:
# yield pochhammer_symbol(delta, k) / gamma_func(k + 1)
delta += 1
I always keep these ideas in mind as the conceptual foundation for designing generators more deeply rooted in different mathematical spaces. In that spirit, I hold on to this question:
If the symbolic expressions that define the figurate number are themselves the first elements generated by that figurate number: what new definition, equivalent yet amplified, whether combinatorial, geometric, algebraic, or analytic, emerges in a given dimension and at the -th term?