Me da la impresión de que la primera respuesta no tratar la cuestión de la intención. La acción del grupo diedro $D_4$ en la junta no cumplir con todas las simetrías se muestra en el ejemplo. Yo diría que más bien deberíamos pensar de la junta como un $M\times M$ toro, donde las configuraciones pueden mover horizontal y verticalmente (es decir, ser traducido) así como rotar.
El siguiente Arce programa calcula el ciclo de índice del grupo de simetrías de la $M\times M$ toro para su uso con el Polya Enumeración Teorema.
con(planta):
pet_autom2cycles :=
proc(src, aut)
numa local, numsubs;
local de marcas, pos, cycs, cpos, clen;
numsubs := [seq(src[k]=k, k=1..nops(src))];
numa := subs(numsubs, aut);
marcas := [seq(true, pos=1..nops(aut))];
cycs := []; pos := 1;
mientras pos <= nops(aut)
si las marcas[pos]
clen := 0; cpos := pos;
mientras que las marcas[cpos] ¿
marcas[cpos] := false;
cpos := numa[cpos];
clen := clen+1;
od;
cycs := [op(cycs), clen];
fi;
pos := pos+1;
od;
volver mul(a[cycs[k]], k=1..nops(cycs));
end;
pet_torus_cind :=
proc(M, rot_on)
opción de recordar;
local, la putrefacción, rmx, tx, ty, i, j, x, y, xx, yy, res, r;
si M=1, a continuación, volver a[1] fi;
si M=2, a continuación, rmx := 1 else rmx := 3 fi;
si no rot_on y M>1, entonces rmx := 0 fi;
res := 0;
para la putrefacción de 0 a rmx ¿
para el tx de 0 a M-1 hacer
para ty desde 0 hasta M-1 hacer
A := [];
para i desde 0 hasta M-1 hacer
para j desde 0 hasta M-1 hacer
x := (i+tx) mod M;
y := (j+ty) mod M;
para r a pudrirse ¿
xx := x; yy := y;
x := M-1-yy; y := xx;
od;
A := [op(A), x*M+y];
od;
od;
res := res+
pet_autom2cycles([seq(k, k=0..M*M-1)], A);
od;
od;
od;
volver res/(rmx+1)/M^2;
end;
pet_varinto_cind :=
proc(poli, ind)
local subs1, subs2, polyvars, indvars, v, bote, res;
res := ind;
polyvars := indets(poli);
indvars := indets(ind);
para v en indvars ¿
bote := op(1, v);
subs1 :=
[seq(polyvars[k]=polyvars[k]^olla,
k=1..nops(polyvars))];
subs2 := [v=subs(subs1, poli)];
res := subs(subs2, res);
od;
res;
end;
pet_torus_count :=
proc(M, C, rot_on)
local ind, gf, vs, k;
ind := pet_torus_cind(M, rot_on);
vs := añadir(cat(`X`, k), k=1..C);
gf := pet_varinto_cind(vs ind);
subs([seq(cat(`X`, k)=1, k=1..C)], gf);
end;
El programa anterior se puede calcular el ciclo de índices cuando de 90 grados de rotación de la junta está permitido o no permitido. Esto da el siguiente ciclo de dos índices para el caso de $M=4,$ primero, sin rotaciones utilizando traducciones sólo:
$$1/16\,{a_{{1}}}^{16}+3/4\,{a_{{4}}}^{4}+3/16\,{a_{{2}}}^{8}$$
y como rotaciones:
$${\frac {1}{64}}\,{a_{{1}}}^{16}+{\frac {7}{16}}\,{a_{{4}}}^{4}+{\frac {15}{64}}
\,{a_{{2}}}^{8}+1/4\,{a_{{4}}}^{3}{a_{{1}}}^{2}a_{{2}}+1/16\,{a_{{2}}}^{6}{a_{{1
}}}^{4}.$$
Sustituyendo en estos ciclo de índices obtenemos las dos funciones de generación
$${z}^{16}+{z}^{15}+9\,{z}^{14}+35\,{z}^{13}+122\,{z}^{12}+273\,{z}^{11}\\+511\,{z}^
{10}+715\,{z}^{9}+822\,{z}^{8}+715\,{z}^{7}+511\,{z}^{6}+273\,{z}^{5}+122\,{z}^{
4}+35\,{z}^{3}+9\,{z}^{2}+z+1$$
y
$${z}^{16}+{z}^{15}+5\,{z}^{14}+11\,{z}^{13}+41\,{z}^{12}+75\,{z}^{11}\\+147\,{z}^{
10}+189\,{z}^{9}+231\,{z}^{8}+189\,{z}^{7}+147\,{z}^{6}+75\,{z}^{5}+41\,{z}^{4}+
11\,{z}^{3}+5\,{z}^{2}+z+1.$$
Esto significa que no se $273$ resp. $75$ diferentes configuraciones al $M=4$$N=5$.
También podemos utilizar este programa para calcular el número total de configuraciones toroidales tener $C$ colores. De dos colores con las traducciones, sólo podemos obtener la secuencia de
$$2, 7, 64, 4156, 1342208, 1908897152, 11488774559744, 288230376353050816,
\\ 29850020237398264483840, 12676506002282327791964489728,\ldots$$
que es A179043 de la OEIS.
Como rotaciones tenemos
$$2, 6, 28, 1171, 337664, 477339616, 2872202032640, 72057595967392816,
\\7462505059899322983424, 3169126500571074529242309120,\ldots$$
Para los tres colores se consigue que dos secuencias
$$3, 27, 2211, 2691711, 33891544611, 4169295457320267, 4883659780216684279491,
\\53651309692070594433108320631, 5474401089420219382077156686715199875,\ldots$$
y
$$3, 21, 627, 678051, 8473285827, 1042324154944641, 1220914945265994019395,
\\13412827423019038373526335841, 1368600272355054854637538271201673171,\ldots$$
Finalmente, para el caso especial de $M$ marcas colocadas en un $M\times M$ junta se consigue que dos secuencias
$$1, 3, 12, 122, 2130, 54192, 1753080, 69160548, 3220837758, 173103158180,\ldots$$
y
$$1, 2, 4, 41, 552, 13786, 438776, 17300202, 805232382, 43276368018,\ldots$$