【混动动力学引论】求解字提升法得出的超稳定周期序列对应的方程

超稳定周期序列及其 μ \mu μ值方程

在《从抛物线谈起——混动动力学引论》第9节“周期窗口何处有——字提升法”中,提到了周期5的三个超稳定周期序列及其对应的 μ \mu μ值方程

超稳定周期序列对应的 μ \mu μ值方程
RLRRO μ = μ + μ − μ − μ \mu = \sqrt{\mu + \sqrt{\mu - \sqrt{\mu - \sqrt{\mu}}}} μ=μ+μμμ
RLLRO μ = μ + μ + μ − μ \mu = \sqrt{\mu + \sqrt{\mu + \sqrt{\mu - \sqrt{\mu}}}} μ=μ+μ+μμ
RLLLO μ = μ + μ + μ + μ \mu = \sqrt{\mu + \sqrt{\mu + \sqrt{\mu + \sqrt{\mu}}}} μ=μ+μ+μ+μ

迭代法求解

因为上述 μ \mu μ值方程如果作为极限数列的话,明显是收敛的,所以书中提到使用迭代法进行求解: μ n + 1 = μ n + μ n − μ n − μ n \mu_{n+1} = \sqrt{\mu_n + \sqrt{\mu_n - \sqrt{\mu_n - \sqrt{\mu_n}}}} μn+1=μn+μnμnμn
其Python代码实现为:

# 迭代法求解字提升法的mu值方程

import sympy as sp
from scipy.optimize import fsolve

# 声明mu值变量
mu = sp.symbols('mu')
# 字提升法得出的mu值方程,这里是周期5的超稳定周期序列之一:RLRRO
equation = sp.sqrt(mu + sp.sqrt(mu - sp.sqrt(mu - sp.sqrt(mu))))
# 将符号表达式转化为函数
func = sp.lambdify(mu, equation)
# 设置初值
x = 1
# 对初值进行迭代
for i in range(100):
    x = func(x)
print(x)
# 1.6254137251233038

得出RLRRO序列对应的 μ \mu μ值约为:1.6254137251233038

数值法求解

迭代法本身也是一种数值求解方法,对于更广泛的数值求解方法(虽然大多数也是基于迭代),可以使用scipy.optimize.fsolve()求解。
对应方程: 0 = μ + μ − μ − μ − μ 0 = \sqrt{\mu + \sqrt{\mu - \sqrt{\mu - \sqrt{\mu}}}} - \mu 0=μ+μμμ μ
Python求解代码:

# 数值法求解字提升法的mu值方程

import sympy as sp
import numpy as np
from scipy.optimize import fsolve

# 声明mu值变量
mu = sp.symbols('mu')
# 字提升法得出的mu值方程,这里是周期5的超稳定周期序列之一:RLRRO
equation = sp.sqrt(mu + sp.sqrt(mu - sp.sqrt(mu - sp.sqrt(mu)))) - mu
# 将符号表达式转化为函数
func = sp.lambdify(mu, equation)
# 求数值解
fsolve(func, np.array(1))

同样得出 μ \mu μ值约为:1.625414

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值