在学校玩计算器时无意发现一个神奇的式子

tan(sin1(x))xtan(sin^{-1}(x))\rarr x

xx 初始值为 110\frac{1}{10} 时 按上面的式子迭代19次会得到19\frac{1}{9} 再继续迭代17次会得到18\frac{1}{8};以此类推 最终到1
简单整理一下 定义

an+1=an1an2 (nZ)a_{n+1}=\frac{a_n}{\sqrt{1-a_n^2}}\space(n\in\Z)

ai=1k (iZ,kZ[2,+))a_i=\frac{1}{k}\space(i\in\Z,k\in\Z\cap[2,+\infin))ai+2k1=1k1a_{i+2k-1}=\frac{1}{k-1}
显然只要将表达式代入自身19次就能看出端倪了 但由于我计算力低下且在学校没时间 于是回家用代码测一测它
首先数值模拟就不必多说了(毕竟在学校用计算器模拟的足够多了) 我直接import sympy

1
2
3
4
5
6
7
from sympy import Symbol, sqrt, simplify

x = Symbol('x')
for i in range(19):
x = x / sqrt(1 - x ** 2)
x = simplify(x)
print(x)

本来那个sqrt图省事用的是** 0.5 但是这两个在sympy里面似乎不等价 ** 0.5还是当成幂计算 算了好久也算不到19
后来改sqrt之后总算快了一点 但是算出来的式子有点抽象 再怎么simplify()也只能得出这样的结果

x2x21x213x212x214x213x215x214x216x215x217x216x218x217x219x218x2110x219x2111x2110x2112x2111x2113x2112x2114x2113x2115x2114x2116x2115x2117x2116x2118x2117x2119x2118x211x2\frac{x}{\sqrt{\frac{2 x^{2} - 1}{x^{2} - 1}} \sqrt{\frac{3 x^{2} - 1}{2 x^{2} - 1}} \sqrt{\frac{4 x^{2} - 1}{3 x^{2} - 1}} \sqrt{\frac{5 x^{2} - 1}{4 x^{2} - 1}} \sqrt{\frac{6 x^{2} - 1}{5 x^{2} - 1}} \sqrt{\frac{7 x^{2} - 1}{6 x^{2} - 1}} \sqrt{\frac{8 x^{2} - 1}{7 x^{2} - 1}} \sqrt{\frac{9 x^{2} - 1}{8 x^{2} - 1}} \sqrt{\frac{10 x^{2} - 1}{9 x^{2} - 1}} \sqrt{\frac{11 x^{2} - 1}{10 x^{2} - 1}} \sqrt{\frac{12 x^{2} - 1}{11 x^{2} - 1}} \sqrt{\frac{13 x^{2} - 1}{12 x^{2} - 1}} \sqrt{\frac{14 x^{2} - 1}{13 x^{2} - 1}} \sqrt{\frac{15 x^{2} - 1}{14 x^{2} - 1}} \sqrt{\frac{16 x^{2} - 1}{15 x^{2} - 1}} \sqrt{\frac{17 x^{2} - 1}{16 x^{2} - 1}} \sqrt{\frac{18 x^{2} - 1}{17 x^{2} - 1}} \sqrt{\frac{19 x^{2} - 1}{18 x^{2} - 1}} \sqrt{1 - x^{2}}}

显然sympy有点注意力底下了 连明显的分式因子都消不掉
于是启动mathematica

1
2
3
Subscript[a, n_] := Subscript[a, n-1] / Sqrt[1-Subsuperscript[a, n-1, 2]]
Subscript[a, 0] := x
Subscript[a, 19] // FullSimplify

不得不说mathematica的计算能力还是一流的 很快得到结果

a19=a0119a02a_{19}=\frac{a_0}{\sqrt{1-19a_0^2}}

虽然mathematica暂不能(我不会写)给出 ana_n 关于 a0a_0 的表达式 但经过更多数据的测试 我们可以有根据地猜测

an=a01na02 (nN)a_n=\frac{a_0}{\sqrt{1-na_0^2}}\space(n\in\N^*)

an=ak1(nk)ak2 (nN,kN,n>k)a_{n}=\frac{a_k}{\sqrt{1-(n-k)a_k^2}}\space(n\in\N^*,k\in\N,n>k)

由此显然可以得出开头的结论
顺便用matplotlib.pyplot画了个 a0=0.1a_0=0.1 时的图
alt text
下面是用desmos直接画表达式的图