Skip to content

Endofunctions ​

A name from the enumeratio catalogue with no kernel of its own yet; this page carries its crosswalk only.

Catalogued in the enumeratio database, with crosswalk rows in mathlib4, oeis; not yet written up here.

✓ checked against that system · ! checked, with disagreements (hover a chip)OEISA000312✓mathlib4Function.End (Fin n)
Endofunctions(...)Catalogued in the enumeratio database, with crosswalk rows in mathlib4, oeis; not yet written up here.
Typed signatures
TypePackageApplies
(integer<0..>) -> indexed_collection<endofunction>combinatoricsalways

Domain: Combinatorics

Definition

Epsil, as the implementation runs it.

count(_n)

1 if _n == 0 else _n ^ _n

unrank(_n, _r)

Map(
     Function((_r - _r % _n ^ (_n - j)) / _n ^ (_n - j) % _n + 1, j),
     Range(1, _n, 1),
   )

rank(_n, _x)

Fold(Function(acc * _n + (_x[j] - 1), acc, j), 0, Range(1, _n, 1))

valid(_n, _x)

Length(_x) == _n && Fold(Function(
                                   ok_j && 1 <= _x[j] && _x[j] <= _n + 1 - 1,
                                   ok_j,
                                   j,
                                 ), True, Range(1, Length(_x), 1))

Maps

Into and out of Endofunction, called as CombinatorialMap(x, "Name"). Properties are the laws we state and what FindStat records.

To Endofunction

  • ArcRepresentationSetPartition → EndofunctionEach position linked to the next in its block, or to itself when last.

Enumeration

Examples

Basic #

33=273^3 = 27 maps from {1,2,3}\{1,2,3\} to itself

live ↗
InCount(Endofunctions(3))\mathrm{Count}(\mathrm{Endofunctions}(3))Out2727

The first endofunction of 2, written by its images

live ↗
InEndofunctions(2)[1]\mathrm{Endofunctions}(2)[1]OutEndofunction⁡([1,1]){\operatorname{Endofunction}}([1, 1])
Properties #

All four, in enumeration order

live ↗
InTake(Endofunctions(2),4)\mathrm{Take}(\mathrm{Endofunctions}(2), 4)Out[Endofunction⁡([1,1]),Endofunction⁡([1,2]),Endofunction⁡([2,1]),Endofunction⁡([2,2])]\bigl\lbrack{\operatorname{Endofunction}}([1, 1]), {\operatorname{Endofunction}}([1, 2]), {\operatorname{Endofunction}}([2, 1]), {\operatorname{Endofunction}}([2, 2])\bigr\rbrack
About
Examples3
CrosswalkOEISmathlib4