如何比较整点的大小(排序)?

提问

当我知道复数是无法比较大小的时候,我就怀疑这个命题了,如果我能从复数映射到实数,并且从实数映射到复数:
CRRC \mathbb{C}\rightarrow\mathbb{R}\\ \mathbb{R}\rightarrow\mathbb{C}

也就是任意的复数都有一个实数与之一一对应,那我就可以利用实数的性质将所有复数进行排序了,这就可以比较复数大小了。我们知道复数可以与平面上的点一一对应,经过我的思考,我想了一个办法,利用等速螺线:


如图,从原点出发,沿着螺旋线运动,我们用不等号做记号,排序先到达的点和后到达的点,如图是先到达 AA 点,后到达 BB 点,也就是 A<BA<B ,这样我就可以将螺旋线上的所有点排序了。

但当我仔细思考,平面上点是稠密的,如果我想排序所有的点,那螺旋线就得无限密集,这显然是做不到的。

我又开始思考,既然平面上的所有点无法排序,那平面上的整点能否排序呢?
我第一时间想到的当然还是螺旋,不过是方形的螺旋:

如图,这样我就可以用方形的螺旋线顺次将平面内所有的整点连接,从原点出发,按照先后顺序将所有的整点映射到整数(整数就是从原点出发沿着方形螺旋线运动的路程)。如图 A(0,0)0B(1,0)1E(1,1)6A (0, 0)\rightarrow 0 , B (1, 0) \rightarrow 1 , E (-1, -1) \rightarrow 6 。所有的整数与平面上的整点一一对应,也就可以将所有整点排序了,DDEE 的前面,这里可以用记号表示 D<ED<E ,也就是 (1,1)<(1,1)(-1,1)<(-1,-1)

如果整点用复数 x+yix+yi 表示,整数用 zz 表示,其中 x,y,zZx,y,z\in\mathbb{Z} ,那么函数 f(x+yi)=zf(x+yi)=z 和其反函数 f1(z)=x+yif^{-1}(z)=x+yi 的映射关系是什么呢?如何用表达式表示它们呢?

解答

As your wish:

points on x-axes:
fx(n)=4n2n2n f_x(n)=4 n^2-\left| n\right| -2 n

points on y-axes:
fy(n)=4n2+n2n f_y(n)=4 n^2+\left| n\right| -2 n

x+yifmax(x,y)(max(x,y))min(x,y) x+yi\rightarrow f_{\max(x,y)}(\max(x,y))\mp\min(x,y) The inverse function will be more complicated:

xn=i=1nsin(π2(4i3mod4)) x_n=\sum _{i=1}^n \sin \left(\frac{ \pi}{2} (\left\lfloor \sqrt{4 i-3}\right\rfloor \bmod 4)\right)

yn=i=1ncos(π2(4i3mod4)) y_n=-\sum _{i=1}^n \cos \left(\frac{ \pi}{2} (\left\lfloor \sqrt{4 i-3}\right\rfloor \bmod 4)\right)

n(xn,yn) n\rightarrow (x_n,y_n)

说明

解答来自知乎 https://www.zhihu.com/question/296719713/answer/501579029 —— 酱紫君

如何比较整点的大小(排序)?

https://hk-shao.github.io/p/21e1.html

作者

烧风

发布于

2018-09-30

更新于

2021-07-11

许可协议

评论