Skip to content

ProfinitePlot ​

The graph of f:Z^→Z^f: \hat{\mathbb{Z}} \to \hat{\mathbb{Z}} in the variable xx, at precision kk (default 5) — Lenstra's picture of a profinite function, drawn as an ArrayPlot.

ProfinitePlot(f, x, k)residue classes mod k!k! laid out by their factorial digits
ProfinitePlot(f, x)default precision k=5k = 5
Typed signatures
TypePackageApplies
(expression, symbol, integer?) -> expression<ArrayPlot>adelesalways

Domain: Adèles and idèles

Details
  • Each cell is a pair of residue classes mod k!k!; a cell is filled when ff maps its column class into its row class, evaluating ff on ProfiniteNumber(a, k!) for every aa.
  • kk is capped at 6 (6!=7206! = 720 cells a side) to keep the plot tractable.
  • The result is an ArrayPlot of 0/1 cells, as in Hertogh's ProfiniteGraph.

Examples

Basic #

the identity function: an anti-diagonal of filled cells

live ↗
InProfinitePlot(x,x,3)\mathrm{ProfinitePlot}(x, x, 3)OutArrayPlot([[0,0,0,0,0,1],[0,0,0,0,1,0],[0,0,0,1,0,0],[0,0,1,0,0,0],[0,1,0,0,0,0],[1,0,0,0,0,0]])\mathrm{ArrayPlot}(\bigl\lbrack\bigl\lbrack0, 0, 0, 0, 0, 1\bigr\rbrack, \bigl\lbrack0, 0, 0, 0, 1, 0\bigr\rbrack, \bigl\lbrack0, 0, 0, 1, 0, 0\bigr\rbrack, \bigl\lbrack0, 0, 1, 0, 0, 0\bigr\rbrack, \bigl\lbrack0, 1, 0, 0, 0, 0\bigr\rbrack, \bigl\lbrack1, 0, 0, 0, 0, 0\bigr\rbrack\bigr\rbrack)
Possible issues #

kk is capped at 6 to keep the plot tractable; asking for more leaves the call standing

live ↗
InProfinitePlot(x,x,9)\mathrm{ProfinitePlot}(x, x, 9)OutProfinitePlot(x,x,9)\mathrm{ProfinitePlot}(x, x, 9)
About
Examples2

See also: ProfiniteNumber, ArrayPlot