升降幂原则是怎么来的呢?
从最初的虚数单位的定义我们知道,
而广义的虚数单位,
当我们说,
也就是升幂运算的时候,实际上我们用的是,
前者对应的是,
具体来说就是,不管是多少,
这个单位在基于差比较的模运算上,结果必然为0。
后者对应的是,
也就是,
这个单位在基于比的比较的模运算上,结果必然为1。
而虚数单位的成立,同时建立于基于差和比的比较模式,
广义虚数单位还基于幂次,
所以涉及到虚数单位的地方,就隐含了模运算基础上的升降幂之后的等价关系。
由此虚数单位的定义需要引入模运算,也就是,
首先虚数单位的定义就必须内禀这些关系,然后,才有可能对其进行升降幂运算。说到底就是内差的模运算和内比的模运算的补数共同构成了根号下的部分。这种内在性质向外的体现,就是倍数和幂次在模运算前提下的等价性。对于考拉兹猜想来说,就是为什么奇数能在
这种运算中依赖
这三个虚数单位获得方程上的递推关系,具体来说就是左边的结果是怎么等于右边的运算的。其中每一次计算实际上都引入了-1,而这就意味着存在特殊的周期,以及对这个周期进行模运算的结果为-1,所以一个数,它的三倍可能会非常大,再三倍可能更大,若干次三倍都可以,但每一次三倍,都在某个由+1运算所隐含的虚数单位-1对应的周期里面,那么这些周期就可以都当作
到
的投影来处理,这就等价于
到
的投影的补数,这就使得一系列看上去无关的运算,在虚数单位的前提下,都按照
归并为统一的形式。而如果没有虚数单位以及它所对应的超越结构,这个内在的关系是无法被识别出来的。
具体看,
成立的条件,
要求,
虽然也可以,但是
的时候,外面的开0次方无法计算,因为那相当于某数的
次幂。所以这里只能保证,
后面的部分,
需要,
需要,
可见,
对于的时候只能写成,
因为此时,
也就是说,有求差求比和模运算,就可以构造;在这个基础上还得有至少二次以上的高次幂,才能构造
。而且再往上
,也都可以构造了。综合来说,这里涉及四种运算:求差(及其逆运算求和),求比(及其逆运算求积),幂次(及其逆运算开方),求模(其逆运算求模逆元,目前没有用到)。可以想象,如果还有其它的运算能够参与其中,那么虚数单位能够提供的运算能力,将会获得极大的提升。比如我们再引入指数(及其逆运算对数),
并用递归模式构造指数塔,那么我们就有可能创造新的虚数单位以及复数形式。
using System.Numerics; namespace CollatzConjecture; public static class Program { //考拉兹函数 static BigInteger Collatz(BigInteger n) => n <= BigInteger.One ? BigInteger.MinusOne : n.IsEven ? (n >> 1) : (3 * n + 1); public static void Main(string[] args) { const long MaxNumber = 10000; for (int i = 0; i < 10; i++) { var n = new BigInteger(Random.Shared.NextInt64(MaxNumber)); do { Console.Write(n > BigInteger.One ? $"{n}->" : $"{n}"); n = Collatz(n); } while (n >= BigInteger.One); Console.WriteLine(); } } }