This can probably be made more elegant:
MakeSymAndPersym[list_] :=
With[
{len = Length[list]/2},
MapAt[Reverse, List /@ Range[-len, -1]]@*
SubsetMap[Reverse, -len ;;]@*
NestList[SubsetMap[RotateRight, -len ;;]@*SubsetMap[RotateLeft, ;; len], Length[list] - 1]@
list] /; EvenQ[Length[list]]
MakeSymAndPersym[list]
(* {{1, 5, 6, 7},
{5, 1, 7, 6},
{6, 7, 1, 5},
{7, 6, 5, 1}} *)
Update
I think this is compatible with version 11:
MakeSymAndPersym2[list_] :=
With[
{halfLength = Length[list]/2},
With[
{seed = TakeDrop[list, halfLength]},
With[
{quad1 = NestList[RotateLeft, seed[[1]], halfLength - 1],
quad2 = NestList[RotateRight, seed[[-1]], halfLength - 1]},
With[
{quad3 = Map[Reverse, quad2, {0, 1}],
quad4 = Map[Reverse, quad1, {0, 1}]},
Flatten[{{quad1, quad2}, {quad3, quad4}}, {{1, 3}, {2, 4}}]]]]] /; EvenQ[Length[list]]
mat
when there are infinitely many that satisfy both of your equations and have the same first row? $\endgroup$