多项式辗转相除法求最大公约数_点灯游戏、方格填数与 Chebyshev 多项式(续)...
本文是上一篇文章的续集。
预告:上篇文章说过的基解可视化在本文末尾,不想看中间推导过程的可以直接拉到最底下看图。个人觉得这些图都相当地优美,大概这就是数学的魅力吧。
Chebyshev 多项式的性质
回忆 Chebyshev 多项式的定义:
以上递推式的形式类似于 Fibonacci 数列,事实上 Chebyshev 多项式也有一些类似于 Fibonacci 数列的性质。
引理18 若补充定义
1)
2)
3)
4)
5)若
证明:
1)对
从而
2)可用归纳法证明,或者直接由
重复以上步骤得到
3)若
4)由(3)直接用辗转相除可得
对
5)由(4)立即可得。
定义19 对任意非零多项式
深度,记为
由引理 18 的(4)和(5)立即可得:
推论20 对任意非负整数
这里我们约定
基解的“基解”
回忆上一篇文章最终得到的定理:
定理17 若多项式
其中
则方程(1)有一组基解
其中
注意到式子
定理中对
定理17' 对任意
其中
(注意上述定理中将
利用
定理17'' 对任意
其中
(别忘了我们约定
现在我们换一个角度看这些基解,不把它们按照
定理17''' 对任意
若
为标准基。对任意
若固定
取不同的
规律很明显:
通过若干次镜像翻转操作(上下和左右都翻转,每次翻转都在中间填充一排 0)得到的。实际上这条规律并不准确,当域的特征不为 2 时,每次翻转还要进行反色操作,即将
不妨将这种操作简称为镜像反色操作,容易看出镜像反色操作不仅适用于标准基,事实上任何
(直接运代入原始方程就能验证)。
回头看定理 17''',既然已经找到规律,我们只需证标准基
引理21 设
(1)对任意
(2)对任意
证明:
(1)将
(2)利用
由此立即可得下面的定理。
定理22 设
(1)
(2)
由此可以看出,我们只需研究定理 17''' 中由
定义23 对任意
若
为单体标准基,简称单体。(命名“单体”是为了区别于照镜子出现的“多体”)
c=0 的情况
若取 c=0,直接代入定理 17 立即可得方程(1)的解空间维数等于
可见此时解空间维数有非常容易计算的表达式。不仅如此,当 c=0 时很容易给出方程(1)的一组基解。首先注意,对任意
一般地,对任意
是否同时成立,如果不同时成立则在这个格子里填 0。如果同时成立,则考察
容易验证这样填出来的一组数字确实是方程(1)的解,即我们得到了方程(1)的
对任意
至此得到结论:当
幂次法则
我们知道特征为素数 p 的域上有一条特殊的恒等式
引理24 对任意域
其中
这个引理直接用归纳法即可证明。
命题25 在特征为素数
1)
2)若
证明:
1)在引理 24 构造的域
(这里反复利用了
等式两端都是多项式环
2)注意
若
再由
即可推出
由命题 25 立刻可以得到同一不可约多项式不同次幂对应深度的关系。
命题26 在特征为素数
证明:若
对后一半命题,首先由已知条件可知
接下来用归纳法证明
1)首先由
于是
2)假设
由(1)和(2)完成了归纳法证明,待证命题成立。
以上命题说明对大多数
命题26(补充)
1)在特征为
2)在特征为素数
证明:首先求
容易推出
1)由命题 25 可知对任意非负整数
而
2)由命题 25 可知对任意非负整数
而
有限域
从根本上来说,如果要研究特征为素数 p 的域上的方格填数问题,完全可以假设这个域是有限域(进一步说,可以假设这个域是
1)由上一篇文章的定理 14 可知,如果方格填数问题的方程(1)有非零解,那么 c 一定是
换句话说,如果
2)之前提到过,既然方程(1)是域
本节将总是在有限域
首先我们证明:任意不可约多项式的深度都是有限的。
命题27
1)若
2)若
证明:我们依然在引理 24 构造的域
1)由引理 24 可得
2)由引理 24 可得
命题28 设
1)若
2)若
3)若
以上说明
证明:已知
可见在有限域上应用命题 26,不需要考虑
命题29
1)若
2)若
证明:
1)记
接下来只需要证明
(这只需注意到
因此若
2)定义多项式列
容易证明
下面用归纳法证明多项式等式
首先验证等式对
可得
归纳证明完成。若有非常值多项式
命题 29 说明命题 26 中定义的
构造基解的另一种简便方法
(这里直接给结论,不铺垫了)
设
并假设
A)定义特征多项式
(容易看出
定义两端无限延伸的数列
给出(注意
为了方便处理这种形式的递推公式,引入数列
并以自然方式定义形式级数的加减法,以及形式级数与普通多项式的乘法(约定总将普通多项式写在左边,形式级数写在右边),容易验证形式级数加法构成 Abel 群,乘法满足结合律
引理30 数列
证明:显然我们需要用到
首先由条件
(实际上不是直接代入,而是设
直接归纳法可证
由
接下来只需要证
1)当域
2)当域
已知多项式
容易看出,数列
镜像反色操作铺满数轴上所有整点得到的无穷数列。我们准备用
B)定义形式级数列
同时规定
每个格子都满足方格填数性质(即周围十字区域 5 格之和等于自身的 c 倍)。
容易证明每个形式级数
引理31
证明:有没有注意到形式级数
特别地,
也就是
(多项式
由
至此我们知道数阵
该矩形区域就是矩形填数问题的一个解。至此构造基解的准备工作已经完成。
定义32 设
并假设
称为第二类单体标准基。(该记号与定义 23 类似,参数位置略有不同,并且去掉了尺寸参数
另外,无穷矩阵
第二类无穷标准基,记为
将定义 32 与定义 23 对比可以发现,二者定义的单体标准基尺寸、数量完全相等。一般地,对任意
任意一组第二类单体标准基扩充成相同尺寸后线性无关。
这句话改用无穷标准基叙述更简单,因为不需要扩充成相同尺寸了:
引理33 任意一组第二类无穷标准基线性无关。
证明:任取一组第二类无穷标准基的线性组合并假设其为 0,即
(注意这里把
证明过程中不需要考虑无穷标准基的所有数,只要考虑第一列。把
由之前的讨论可知
其中
第一步先证明
首先注意到各个
由假设条件
第二步证明各个
最低正整数次非零项的次数等于
至此就证明了:我们定义的第二类单体标准基与原先定义的单体标准基一样,也可以用来生成任意尺寸矩形方格的一组基解。可以看到第二类单体标准基计算的计算比较简单:算出多项式的深度之后,只需设定第一列的
It's show time!
有限域的解都可以用颜色对应的方法可视化,我编程绘制了 2, 3, 4, 5, 7, 8, 9 元域对应的所有宽度高度均不超过 1000 的单体标准基,每张图片对应一个单体标准基(每个有限域对应的所有图片压缩后大概几百个 MB)。具体算法就如同上一小节说的那样:
- 枚举不可约多项式
(事先用筛法得到不可约多项式的列表),对每个从小到大枚举正整数。
- 计算
,如果二者有一个大于 1001 说明尺寸超过上限,直接结束关于多项式的计算,枚举下一个多项式。具体方法是递推计算模的余式,直到余式为 0 终止,如果算到 1001 还不归零说明尺寸超过上限了。
- 计算多项式
以推出第一列的递推公式。
- 令
循环取遍中所有整数。对每个,建一个下标范围为的一维数组,将置为零,再将分别置为,最后使用递推公式
计算数组
的其余各项。(注意这里的运算都是有限域的运算,与普通的算术运算不同) - 建一个大小为
的二维数组,令,使用递推公式
计算数组
的其余各项(递推式中遇到下标越界的项一律视为零),数组即为单体标准基,转换成图片输出即可。
以上算法最麻烦的是枚举不可约多项式,因为事先不知道多项式的次数上界,只能试探着枚举到某个次数的不可约多项式,如果一直都找不到不超过 1000 的单体标准基,就认为以后都找不到了。例如对于二元域的情况(
具体确认方法很简单:用 Mathematica 暴力计算所有
素数阶域
本节总假设
先看最简单的情况:
(
由此可以知道:
可见当
分形的味道。
接下来看二次多项式
(单体默认优先按
以上就是 4×4 方格的所有 4 个基解,这也是 4×4 点灯游戏“只要有解,则不按第一行的开关就能过关”的原因。
当
角落和中间出现了一些周期重复的图样,但总体的布局却显得杂乱无章。不过也不是所有的单体都是这种样子:
这就是把多项式
随着不可约多项式
前面提到过:宽高均不超过 1000 的单体对应
下图是
只用简单的递推公式
对其他有限域,单体图片的“整体感觉”大同小异,花纹样式则千变万化。
素数阶域颜色对照表:
——白色 0,灰色 1,黑色 2;——白色 0,浅红 1,深红 2,深蓝 3,浅蓝 4;——白色 0,浅红 1,中红 2,深红 3,深蓝 4,中蓝 5,浅蓝 6。
(是不是很像 Sierpinski 地毯?)
对非素数阶域,c 一般取某个生成元(换句话说,域
非素数阶域颜色对照表:
——c^2+c+1=0,白色 0,黑色 1,浅红 c,深红 c+1;——c^3+c+1=0,白色 0,黑色 1,浅红 c,深红 c+1,浅蓝 c^2,深蓝 c^2+1,浅紫 c^2+c,深紫 c^2+c+1;——c^2+1=0,白色 0,灰色 1,黑色 2,浅红 c,中红 c+1,深红 c+2,浅蓝 c^2,中蓝 c^2+1,深蓝 c^2+2。
后记
本文有关 Chebyshev 多项式性质的部分参考了下面两篇论文:
[HMP] Chebyshev polynomials over finite fields and reversability of σ-automata on square grids, by Markus Hunziker, António Machiavelo, and Jihun Park.
[Su] σ-Automata and Chebyshev-Polynomials, by Klaus Sutner (1996). Theoretical Computer Science, vol. 230, (2000), no. 1-2, pp. 49-73.
这个系列的文章到此告一段落,以上两篇论文还有关于 Chebyshev 多项式的更多性质(这里因为篇幅所限不可能详细介绍),感兴趣的可以看一下。
多项式辗转相除法求最大公约数_点灯游戏、方格填数与 Chebyshev 多项式(续)...相关推荐
- 多项式辗转相除法求最大公约数_辗转相除法求最大公约数
辗转相除法求最大公约数 约数 如果数 a 能被数 b 整除,a 就叫做 b 的倍数,b 就叫做 a 的约数. 最大公约数 最大公约数就是两个数中,大家都能相约且最大的数. 辗转相除法 辗转相除法又名欧 ...
- 多项式辗转相除法求最大公约数_多项式的一些性质
多项式的性质是代数学的基础之一,然而高中数学中并没有深入地讲述多项式的性质.由于高中研究手段的限制,在这篇文章中我只以习题的形式给出几个特殊化的例子. 文里给出的例题应该都是相当经典的,不过似乎鲜有人 ...
- c语言辗转相除法求最大公约数_趣味探究:妙法求“最大公因数”,比书上难一点,你敢挑战吗?(适合56年级)...
[题记] 宝石虽落在泥土里,仍是宝石,砂粒虽被吹到天空中,还是砂粒.--莎士比亚不是有水的地方就有青蛙,但是青蛙叫的地方必定有水.--歌德 [配合教材]本探究配合"因数与倍数".通 ...
- python辗转相除法求最大公约数最小公倍数_辗转相除法求最大公约数/最小公倍数...
http://blog.csdn.net/jtujtujtu/article/details/4407171 2009 辗转相除法求最大公约数: 辗转相除法, 又名欧几里德算法(Euclidean a ...
- 利用辗转相除法——求最大公约数(详解)
辗转相除法 求最大公约数: 给定两个数,求这两个数的最大公约数 欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数.应用领域有数学和计算机两个方面.计算公式gcd(a,b) = g ...
- 辗转相除法求最大公约数原理分析(附代码实现)
辗转相除法求最大公约数原理分析(附代码实现) 前言 解释 原理分析 代码 结语 前言 辗转相除法用起来很简单,但是其原理却自己想不明白.于是乎看了几篇有关辗转相除法原理的分析,在这里自己写下自己的理解 ...
- c语言辗转相除法约分分数,更相损减法和辗转相除法 求最大公约数和最小公倍数(C语言)...
假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因为 a=m*i; b=m* ...
- leetcode----1447.最简分数(辗转相除法求最大公约数)
1447.最简分数 问题:给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于 n 的 最简 分数 .分数可以以 任意 顺序返回. 示例: 输入:n = 2 输出: ...
- P30-P32:逻辑类型,保留小数的输出,辗转相除法求最大公约数
** P30-P32(逻辑类型,保留小数的输出,辗转相除法求最大公约数): ** boolean 代码作用如同上述代码中的isPrime,会用到boolean,将isPrime的int类型改为逻辑类型 ...
最新文章
- oracle网站注入,oracle注入,utl_http方法
- SQL Server 2008 R2中文版快速安装
- C语言 | 基于卡尔曼滤波器的角度测量仪(MPU6050)
- DDGScreenShot —图片加各种滤镜高逼格操作
- MacOS下搭建Fabric开发环境
- 如何把c语言编程成hex,怎么把c文件变成hex文件格式
- 使用FreeHttp强制登出微信公众号登陆状态(实现~原理)
- 解决一例:“无法删除文件,无法读源文件或磁盘”
- MySQL中文存到数据库是,springMVC保存数据到mysql数据库中文乱码问题解决方法
- 百度语音识别结合云知声离线TTSDemo(AS)
- 一名“老”引擎程序员的昨天、今天和明天
- Navicat Premium远程连接ORACLE
- winxp找不到服务器或 dns 错误,详解网络无法使用DNS错误的修复步骤
- 大数据与算法系列之算法性能分析
- 个人项目 小跟班——蓝牙控制小车(蓝牙控制篇)
- 【学习笔记】状态转移矩阵
- 离散数学 (II) 习题 5
- 查看端口状态及端口占用情况
- 1G到5G的技术标准,你都了解有哪些呢?
- 小学生学Arduino------制作流水灯