mathe
发表于 2021-9-20 22:38:02
这条线横向宽度太窄了,软件就找不到了。这种竖线分布可以通过连分数寻找
mathe
发表于 2021-9-21 15:33:54
f(a,b,y)=log(-sin(y*b)/sin(y*a))/log(3/5)-log(sin(y*(a+b))/sin(y*a))/log(4/5)
gen2N(N)=
{
local(a,b,ku,mu,k,m,y1s,ys,y1e,ye,dy,y,x);
a=log(4/3);b=log(5/4);
ku=ceil(a*N/(2*Pi));
mu=ceil((b*N+Pi)/(2*Pi));
for(h=0,ku,
k=h;
m=floor(b/a*(2*k+1));
if(bitand(m,1),
m=(m+1)/2,
k=-k-1;m=-m/2);
y1s=(2*m*a-2*k*b)*Pi/(a+b);
ys=(2*k*Pi+y1s)/a;
ye=(2*k*Pi+Pi)/a;
dy=ye-ys;
y=solve(x=ys+dy/1000,ye-dy/1000,f(a,b,x));
x=log(sin(y*log(5/3))/sin(y*log(4/3)))/log(4/5);
if(-N<y && y<N,
print("+M1:2k+1="2*k+1",\t2m="2*m",\tys="ys",\tye="ye",\tdy="dy",\ty="y",\tx="x);
print("-M1:2k+1="2*k+1",\t2m="2*m",\tys="0-ye",\tye="0-ys",\tdy="dy",\ty="0-y",\tx="x);
)
);
for(h=1,mu,
m=h;
k=floor(a/b*2*m);
if(bitand(k,1),
m=-m;k=(-k-1)/2
, k=k/2
);
y1s=(2*m*a-2*k*b)*Pi/(a+b);
y1e=2*m*a*Pi/b-2*k*Pi;
ys=(2*k*Pi+y1s)/a;
ye=(2*k*Pi+y1e)/a;
dy=ye-ys;
y=solve(x=ys+dy/1000,ye-dy/1000,f(a,b,x));
x=log(sin(y*log(5/3))/sin(y*log(4/3)))/log(4/5);
if(-N<y &&y<N,
print("+M2:2k="2*k",\t2m="2*m",\tys="ys",\tye="ye",\tdy="dy",\ty="y",\tx="x);
print("-M2:2k="2*k",\t2m="2*m",\tys="0-ye",\tye="0-ys",\tdy="dy",\ty="0-y",\tx="x);
)
)
}
? gen2N(150)
+M1:2k+1=-1, 2m=0, ys=-12.300058992455544630787122398065696222, ye=-10.920362978532014758460644304598333588, dy=1.3796960139235298723264780934673626336, y=-11.674617249316682932795055976349421582, x=-1.6925861974690941365463338177277917742
-M1:2k+1=-1, 2m=0, ys=10.920362978532014758460644304598333588, ye=12.300058992455544630787122398065696222, dy=1.3796960139235298723264780934673626336, y=11.674617249316682932795055976349421582, x=-1.6925861974690941365463338177277917742
+M1:2k+1=-3, 2m=-2,ys=-36.900176977366633892361367194197088665, ye=-32.761088935596044275381932913795000764, dy=4.1390880417705896169794342804020879010, y=-35.162008224779753324763408731382230170, x=-0.88255694795800700185822351708893962457
-M1:2k+1=-3, 2m=-2,ys=32.761088935596044275381932913795000764, ye=36.900176977366633892361367194197088665, dy=4.1390880417705896169794342804020879010, y=35.162008224779753324763408731382230170, x=-0.88255694795800700185822351708893962457
+M1:2k+1=5, 2m=4, ys=49.200235969822178523148489592262784886, ye=54.601814892660073792303221522991667940, dy=5.4015789228378952691547319307288830537, y=51.226842886729362037717164582840446874, x=-0.18392835315492911479914590888902746030
-M1:2k+1=5, 2m=4, ys=-54.601814892660073792303221522991667940, ye=-49.200235969822178523148489592262784886, dy=5.4015789228378952691547319307288830537, y=-51.226842886729362037717164582840446874, x=-0.18392835315492911479914590888902746030
+M1:2k+1=7, 2m=6, ys=73.800353954733267784722734388394177330, ye=76.442540849724103309224510132188335116, dy=2.6421868949908355245017757437941577866, y=74.974742738468190837552715691175962226, x=-1.4355535522459831168968000596434214451
-M1:2k+1=7, 2m=6, ys=-76.442540849724103309224510132188335116, ye=-73.800353954733267784722734388394177330, dy=2.6421868949908355245017757437941577866, y=-74.974742738468190837552715691175962226, x=-1.4355535522459831168968000596434214451
+M1:2k+1=-9, 2m=-6,ys=-98.400471939644357046296979184525569773, ye=-98.283266806788132826145798741385002292, dy=0.11720513285622422015118044314056748087, y=-98.347008301183836650717817266298776584, x=-1.7848155235802083587068257371828420073
-M1:2k+1=-9, 2m=-6,ys=98.283266806788132826145798741385002292, ye=98.400471939644357046296979184525569773, dy=0.11720513285622422015118044314056748087, y=98.347008301183836650717817266298776584, x=-1.7848155235802083587068257371828420073
+M1:2k+1=-11, 2m=-8,ys=-123.00058992455544630787122398065696222, ye=-120.12399276385216234306708735058166947, dy=2.8765971607032839648041366300752927483, y=-121.72941872076433983860861065386730309, x=-1.3679049304779023091203024770333750010
-M1:2k+1=-11, 2m=-8,ys=120.12399276385216234306708735058166947, ye=123.00058992455544630787122398065696222, dy=2.8765971607032839648041366300752927483, y=121.72941872076433983860861065386730309, x=-1.3679049304779023091203024770333750010
+M1:2k+1=-13, 2m=-10, ys=-147.60070790946653556944546877678835466, ye=-141.96471872091619185998837595977833665, dy=5.6359891885503437094570928170100180154, y=-145.55360511648348883607632050255768630, x=-0.034939648035551202302517069908794473903
-M1:2k+1=-13, 2m=-10, ys=141.96471872091619185998837595977833665, ye=147.60070790946653556944546877678835466, dy=5.6359891885503437094570928170100180154, y=145.55360511648348883607632050255768630, x=-0.034939648035551202302517069908794473903
+M2:2k=2, 2m=2, ys=24.600117984911089261574244796131392443, ye=28.157593038985903944760631414819438857, dy=3.5574750540748146831863866186880464137, y=26.065085956763874974995040345177462062, x=1.4361172544252695375886607530231238872
-M2:2k=2, 2m=2, ys=-28.157593038985903944760631414819438857, ye=-24.600117984911089261574244796131392443, dy=3.5574750540748146831863866186880464137, y=-26.065085956763874974995040345177462062, x=1.4361172544252695375886607530231238872
+M2:2k=-6, 2m=-4,ys=-61.500294962277723153935611990328481109, ye=-56.315186077971807889521262829638877714, dy=5.1851088843059152644143491606896033948, y=-59.575850581841736290148499086116437454, x=0.77921185971581539241519569466548872715
-M2:2k=-6, 2m=-4,ys=56.315186077971807889521262829638877714, ye=61.500294962277723153935611990328481109, dy=5.1851088843059152644143491606896033948, y=59.575850581841736290148499086116437454, x=0.77921185971581539241519569466548872715
+M2:2k=-8, 2m=-6,ys=-86.100412947188812415509856786459873552, ye=-84.472779116957711834281894244458316571, dy=1.6276338302311005812279625420015569809, y=-85.396311322306566755306481465356301097, x=1.8852885140995865632830904948390000685
-M2:2k=-8, 2m=-6,ys=84.472779116957711834281894244458316571, ye=86.100412947188812415509856786459873552, dy=1.6276338302311005812279625420015569809, y=85.396311322306566755306481465356301097, x=1.8852885140995865632830904948390000685
+M2:2k=10, 2m=8, ys=110.70053093209990167708410158259126599, ye=112.63037215594361577904252565927775543, dy=1.9298412238437141019584240766864894329, y=111.53160738608806343274147442243371672, x=1.8381792109947714536730941160839442131
-M2:2k=10, 2m=8, ys=-112.63037215594361577904252565927775543, ye=-110.70053093209990167708410158259126599, dy=1.9298412238437141019584240766864894329, y=-111.53160738608806343274147442243371672, x=1.8381792109947714536730941160839442131
+M2:2k=12, 2m=10,ys=135.30064891701099093865834637872265844, ye=140.78796519492951972380315707409719428, dy=5.4873162779185287851448106953745358467, y=137.27755925186101045171398317631958816, x=0.63371452341055648924011491198523384192
-M2:2k=12, 2m=10,ys=-140.78796519492951972380315707409719428, ye=-135.30064891701099093865834637872265844, dy=5.4873162779185287851448106953745358467, y=-137.27755925186101045171398317631958816, x=0.63371452341055648924011491198523384192
wayne
发表于 2021-9-21 16:46:32
我发现一个比较有意思的现象。根据虚部 对根从小到大排列,做一阶差分,再直接画图,发现刚好是椭圆。椭圆的方程是 $\frac{x^2}{3.73049^2}+\frac{(y-12.1692)^2}{3.95997^2}=1$
ans=Flatten]^2]-Log]^2])/(2Log),y}/.NSolve[(Log]^2]-Log]^2])/(2Log)==(Log]^2]-Log]^2])/(2Log)&&-(Sin]/Sin])>0&&Sin]/Sin]>0&&n<y/10^3< n+1,y],{n,0,10}],1];
ppp={{-3.7304922372715232`,12.16921343839931`},{3.7304922372715232`,12.16921343839931`},{0,8.209239153336966`},{0,16.129187723461655`}};
Show[{ListPlot,AxesOrigin->{0,0}],Graphics[{PointSize,Blue,Point}],ContourPlot}]
wayne
发表于 2021-9-21 19:47:07
y的差分与x的差分构成椭圆,如上图,但是y的差分与前x和后x也 构成一个稳定的封闭曲线,但不是椭圆、
mathe
发表于 2021-9-21 21:46:56
挺神奇的,还可以更换参数3,4,5为其它参数试一试看看
mathe
发表于 2021-9-21 22:10:05
另外相邻的差分再连线,是不是这些连线也相切一个椭圆?
mathe
发表于 2021-9-22 15:05:06
我计算了一下误差还是存在的,只是画图看不出来,所以只是近似椭圆,误差基本上在1.2%之内。
mathe
发表于 2021-9-22 16:21:31
原方程等价于\(\left(\frac4{\sqrt{15}}\right)^z=\left(\sqrt{\frac53}\right)^z-\left(\sqrt{\frac35}\right)^z\)
设\(a=\ln\sqrt{\frac53}\approx 0.255, b=\ln\frac4{\sqrt{15}}\approx 0.032\)
于是原方程可以改写为\(f(z)= sh(a z)-\frac12 exp(b z) =0\)
另外我们知道
\(|sh(x+iy)|^2=|sh(x)cos(y)+ch(x)sin(y)i|^2\ge sh^2(x)\)
\(sh(z+\frac{\pi}2i)=ch(z)i, sh(z-\frac{\pi}2i)=-ch(z)i\)
另外我们可以证明对于实数x,如果$x\lt -1.785...$或$x\gt 2$,那么必然有$|sh(ax)|\gt |\frac1 2 exp(b x)|$
任意选择实数$u<-1.785...,v>2$,然后我们使用直线\(Re Z=u, Re Z=v, Im Z=\frac{k\pi+\frac{\pi}2}a\) 在复平面上割出一些矩形。
容易证明在这些矩形边界上总有\(|sh(a z)| \gt |\frac1 2 exp(b z)|\)
根据儒歇定理,函数$f(z)$和$sh(a z)$在这些矩形区域内部的零点数目相等。而函数$sh(az)$的零点是均匀分布在虚轴上,每个矩形内部正好一个零点。这证明了$f(z)$在每个矩形内部也正好一个零点。
wayne的猜想可以扩展为对于任意的正实数a,b,如果a远远大于b,那么对于$f(z)$在上半平面的根按虚部顺序排列,相邻两根的差向量近似落在一个椭圆上,特别的b=0时,椭圆退化为一个点。
mathe
发表于 2021-9-22 21:55:39
由于f(z)和sh(az)比较接近,我们可以试着从sh(az)的零点出发,使用牛顿迭代法,计算f(z)的零点,不知道经过一次迭代的解近似度如何
由于\(f'(z)=a ch(az)-\frac b 2\exp(bz)\),得出迭代公式为
\(z^* =z-\frac{sh(az)-\frac12\exp(bz)}{a ch(az)-\frac b2\exp(bz)}\)
于是从零点$\frac{i k \pi}a$出发一次迭代后结果为
\(g(k)=\frac{i k \pi}a + \frac{\exp(\frac{i b k\pi}a)}{2(-1)^k a- b \exp(\frac{i b k\pi}a) } \)
比如
g(1)=-1.7216186913437016036951755377522837382 + 11.624685382709440382273588723289803869i
g(2)=1.3642648786659301302587509129974154385 + 26.124967399855579380458092656853978064i
g(3)=-0.80875066504854861370490582052987363599 + 35.170233221143320641086349608417213243i
g(4)=-0.15571276856787059422582363949168287200 + 51.145666097842309518961426927273551281i
对比一下实际结果,可以看出误差不算大,基本上在小数点后第二位才出现误差。
而上面g(k)中去掉\(\frac{i k \pi}a\)后,对于k是奇数和偶数分别代表两个圆上的点(两个圆分别做反演变换的结果)。
而wayne椭圆中y的中心显然就是$\pi/a$
mathe
发表于 2021-9-23 08:16:45
上面g(k)在k是奇数和偶数分别使用了两个不同的函数$h_1(z)=\frac z{2a-bz}, h_2(z)=\frac z{-2a-bz}$
容易看出$h_1(-z)=h_2(z)$, 这说明了两者把单位圆映射到同一个圆而不是两个不同的圆。记单位复数$\omega=exp(\frac{i b\pi}a)$
于是一次牛顿迭代的近似中的wayne椭圆上每个点相当于向量$h_2(\omega^{k+1})-h_1(\omega^k)=h_1(-\omega^{k+1})-h_1(\omega^k)$,相当于把单位圆上两个具有固定夹角的点经过反演以后连接而成的向量。 如果我们没有经过反演,那么这个向量长度会是固定的,结果是一个标准圆,但是反演使得点的位置发生的扭曲(由于b/a比较小,扭曲的不是特别厉害),结果就不那么圆了,所以看起来会像个椭圆?我是这拟合了一下,和一个真正椭圆的最大误差在5%以内。而如果对一阶迭代结果再次迭代,可以发现两次迭代结果精度已经挺不错的,比较有意思的是再次迭代后会更加接近椭圆了