把数组化成了{-20~18}, 使总和为0,相应的{洞组, 本原解数}如下:
{{-19, -13, -7}, 2}
{{-17, -15, -7}, 1}
{{-15, -13, -11}, 1}
在搜索过程中,我会指定一个格子的数值,将和它紧挨着的某个格子绕着它转动就可以转出6种不同的解。由于hujunhua还将数值做了对称转化,也就是转化后每个数值的相反数估计又被搜索出了一次,所以总共会重复12次 mathe 发表于 2020-1-3 09:04
在搜索过程中,我会指定一个格子的数值,将和它紧挨着的某个格子绕着它转动就可以转出6种不同的解。由于huj ...
由于{-20~18}本身不是正负对称的,也没有使用相反数组{-18~20}, 所以这48个里面不会有取相反数重复的幻方。
重复12次,是由于旋转6次×转置2次。
你估计的取反重复的幻方,使用正负对称数组的情况下发现过(在先前的104解中)。接下来去重时必须考虑这种情况。
{1~39}的168个非对称数组的情况去重处理结果
接40#的分类方法。{{-10, -8, 18}, 36}
{{-18, 8, 10}, 36}
两组正负对应重复,共有3个本原解,每解重复24次。旋转6X转置2X正负2.
{{-10, -6, 16}, 12},
{{-16, 6, 10}, 12}
两组正负对应重复,共有1个本原解,重复24次。
{{-14, -4, 18},36},
{{-18, 4, 14}, 36}}
两组正负对应重复,共有3个本原解,每解重复24次。
(图待补) 接40#的分类
最后剩下6624个{1~39}对称洞组的
{洞组, 频数}
{{-2, 0, 2}, 180},
{{-4, 0, 4}, 240},
{{-6, 0, 6}, 972},
{{-8, 0, 8}, 540},
{{-10, 0, 10}, 768},
{{-12, 0, 12}, 888},
{{-14, 0, 14}, 312},
{{-16, 0, 16}, 780},
{{-18, 0, 18}, 1944}
注意到其中有些频数不是24的倍数,所以不可能都是每解24重。
失重的应该是正负对称,那些中心对称、镜像对称和平移对称的可能会正负失重,因为它们是自对称的。
所有频数都是12的倍数,由于不存在旋转和转置自对称者,故可预料每解至少12重。 哈哈哈,找到一个很简明的画6阶模幻方的M10程序。再也不用手工在excel里面排版了。
运行时显示有bug, 可是照样画的出来,于是把bug信息屏蔽了。
RulesArray =Solve;
mf := m13906[, Mod]]
Graphics3D[{Sphere[{x, y, z}], Text, Medium, Bold, If > 0, Black, Red]], {x, y, z}]} /. RulesArray, ViewPoint -> {100, 100, 100}, Boxed -> False]
程序中的坐标{5-z,y+1}的选择是为了使画出来的图的左上角幻方与 mathe 的解的排列顺序一致。
坐标使用±{-x, y}, ±{-y, x}, ±{-y, z}, ±{-z, y}, ±{-z, x}或±{-x, z}都是可以的,无非是旋转和镜像的关系。
或者在此基础上再加一个常数也行(比如我们用的+5和+1),这是平移。
画法原理:就是在平面 x+y+z=15 的下图所示整点上画单位球,利用球的相贯线自动形成蜂巢状。
现在可以方便地给44#补图了。
洞组{-10, -8, 18}、{-18, 8, 10}的三个本原解:
(把 0 平移到了图形中心)
洞组{-10, -6, 16}、{-16, 6, 10}的唯一本原解:
(把 0 平移到了图形中心)
洞组{-14, -4, 18}、{-18, 4, 14}的三个本原解:
(把 0 平移到了图形的中心)
{{-2, 0, 2}, 180}去重
mathe是固定 a(3, 2)=2,化为对称数组后即红18不动。下面画图时,a(3, 2)位于中心。去掉旋转和镜像重复后得15个解,它们的相反数对全都是平移对称的,因此没有取反重复,故此即本原解。