Let s
be a finite set of integer lattice points, for example s = { {0,0} , {0,3} , {1,1} , {0,2} }
.
I am trying to do two things:
- Create a list of all the automorphisms on
s
. That is, if $s$ is our set, I want to list all onto functions $f:s \rightarrow s$, not including duplicates. (Consider $f$ and $g$ duplicates if for each point in $s$, that point is taken by $f$ and $g$ to the same point.) - Among the automorphisms, find those $f$ for which
Condition[ x , f[x] ]
isTrue
for allx
ins
.
Here, Condition
is just an aribtrary function that takes in two $2$-tuples and returns True
or False
.
I am trying to do (1) to accomplish (2). But, I have never tried to handle lists of functions before, and am not sure how to do it in Mathematica. I am trying to do this by treating a 'function' as a collection of $2$-tuples of $2$-tuples, where the second element is the target of the function acting on the first. But this is very, very, tedious, and I am hoping there is a better way.
s
and calculate its automorphism group with the help of Magma. $\endgroup$