定义:对于1个给定的函数
f
(
x
)
{\displaystyle f(x)}
,能使
f
(
x
)
=
x
{\displaystyle f(x)=x}
成立的自变量取值
x
=
x
0
{\displaystyle x=x_{0}}
叫做该函数的不动点(fixed point) 。[ 1] [ 2]
与递推式形式一致的函数也被叫做递推关系式的特征函数 (characteristic function )或背景函数 [ 1] 。递推式特征函数的不动点也叫做递推式的不动点。不动点在对应函数图象上的对应点也叫做函数图象的不动点 [ 2] 。
在解决高中数列递推问题时,我们讨论的不动点都是可逆函数的不动点。可逆函数的不动点有以下特点:
如果
(
x
0
,
y
0
)
{\displaystyle (x_{0},y_{0})}
是可逆函数
y
=
f
(
x
)
{\displaystyle y=f(x)}
的不动点,等价于
(
y
0
,
x
0
)
{\displaystyle (y_{0},x_{0})}
是其反函数
x
=
f
−
1
(
y
)
{\displaystyle x=f^{-1}(y)}
的不动点。换句话说,可逆函数的不动点与其反函数的不动点是一一对应的。
函数的不动点坐标具有
(
x
0
,
x
0
)
{\displaystyle (x_{0},x_{0})}
的形式,即不动点一定是函数图象与特殊直线
y
=
x
{\displaystyle y=x}
的交点。
如果把可逆函数
y
=
f
(
x
)
{\displaystyle y=f(x)}
与其反函数
x
=
f
−
1
(
y
)
{\displaystyle x=f^{-1}(y)}
的图象画在同一个直角坐标系中,则它们的图象交点都是不动点。
不动点本身是拓扑学 的知识点,表示物体或空间在某种拓扑变换的作用下,仍保持固定不动的点。它的几何意义是函数图象与恒等变换直线
y
=
x
{\displaystyle y=x}
交点的横坐标。但是它也出现在有关数列的解题方法中。
利用不动点简化一阶常系数线性递推关系式的通项求解
编辑
在从递推式
a
n
+
1
=
p
a
n
+
q
(
p
≠
1
)
{\displaystyle a_{n+1}=pa_{n}+q\quad (p\neq 1)}
构造等比数列的过程中,使用待定系数法所求的需要分配到等式两边的数值,刚好就可以用对应函数
f
(
x
)
=
p
x
+
q
{\displaystyle f(x)=px+q}
的不动点来确定。我们先给出用不动点法解决这类数列的通用解题步骤,然后结合例题说明它的具体运用。
用不动点法可以求出一阶线性递推数列
a
n
+
1
=
p
a
n
+
q
{\displaystyle a_{n+1}=pa_{n}+q}
(其中p和q为常数,且
p
≠
1
{\displaystyle p\neq 1}
)的通项的一般式[ 3] 。其主要步骤为:
(1) 写出与
a
n
+
1
=
p
a
n
+
q
{\displaystyle a_{n+1}=pa_{n}+q}
对应的特征函数
f
(
x
)
=
p
x
+
q
{\displaystyle f(x)=px+q}
(2) 求出函数
f
(
x
)
{\displaystyle f(x)}
的不动点
x
0
{\displaystyle x_{0}}
,即求解方程
f
(
x
0
)
=
x
0
⇒
p
x
0
+
q
=
x
0
{\displaystyle f(x_{0})=x_{0}\Rightarrow px_{0}+q=x_{0}}
,解得:
x
0
=
q
1
−
p
{\displaystyle x_{0}={\frac {q}{1-p}}}
(3) 在原始
a
n
+
1
=
p
a
n
+
q
{\displaystyle a_{n+1}=pa_{n}+q}
的等号两边同时减去刚才求出的不动点
x
0
{\displaystyle x_{0}}
,即:
a
n
+
1
−
x
0
=
p
a
n
+
q
−
x
0
⇒
a
n
+
1
−
x
0
=
p
(
a
n
+
q
−
x
0
p
)
⇒
a
n
+
1
−
x
0
=
p
(
a
n
−
x
0
)
{\displaystyle a_{n+1}-x_{0}=pa_{n}+q-x_{0}\quad \Rightarrow \quad a_{n+1}-x_{0}=p(a_{n}+{\frac {q-x_{0}}{p}})\quad \Rightarrow \quad a_{n+1}-x_{0}=p(a_{n}-x_{0})}
(4) 将
a
n
−
x
0
{\displaystyle a_{n}-x_{0}}
整体地看作一个等比数列求解,求出
a
n
−
x
0
{\displaystyle a_{n}-x_{0}}
的表达式后,
a
n
{\displaystyle a_{n}}
的表达式自然也就知道了。
可以证明,这样求得的最终结果形式为
a
n
=
a
1
p
n
−
1
+
q
(
1
−
p
n
−
1
)
1
−
p
{\displaystyle a_{n}=a_{1}p^{n-1}+{\frac {q(1-p^{n-1})}{1-p}}}
[ 3] 。但是实际上,解题时并不需要记住这个最终形式,只需要记住上面的几个关键步骤即可。
提示:如果求出的不动点形式比较复杂(例如算出的解带着根号跑),此时使用不动点法对于简化数列构造时的系数运算也无法提供太多帮助。求解兔子数列的通项公式问题就是一个例子。
关于在一阶常系数线性递推关系式的通项求解中,为什么会与不动点的概念产生联系,我们在这里给予一个比较简单的论证。
先设
a
n
+
1
=
k
a
n
+
d
{\displaystyle a_{n+1}=ka_{n}+d}
再假设我们期待的构造好的等比数列形式
a
n
+
1
−
p
=
k
(
a
n
−
p
)
{\displaystyle a_{n+1}-p=k(a_{n}-p)}
用后一式的两端同时对前一式的两端作差,可得:
(
a
n
+
1
−
p
)
−
a
n
+
1
=
k
(
a
n
−
p
)
−
(
k
a
n
+
d
)
⇒
−
p
=
−
k
p
−
d
⇒
p
=
k
p
+
d
{\displaystyle {\begin{array}{l}(a_{n+1}-p)-a_{n+1}=k(a_{n}-p)-(ka_{n}+d)\\\Rightarrow -p=-kp-d\quad \Rightarrow \quad p=kp+d\end{array}}}
最后一个式子显然说明所需要的常数p就是函数
f
(
x
)
=
k
x
+
d
{\displaystyle f(x)=kx+d}
的不动点。
从几何上讲,从截距不为零的一次函数(对应于上述非齐次一阶线性递推关系式)变形为正比例函数(对应于构造出来的等比数列满足的关系式)的变换就是一种图象平移操作,而此类函数的不动点提供了同时沿y轴方向和x轴方向进行图象平移的距离参考值。
一阶常系数分式线性递推关系式的概念及其通项的待定系数解法
编辑
形如
a
n
+
1
=
A
a
n
+
B
C
a
n
+
D
{\displaystyle a_{n+1}={\frac {Aa_{n}+B}{Ca_{n}+D}}}
的一阶常系数分式线性递推关系式的构造也可以借助不动点的求解实现[ 2] 。
提示:我们先在本小节简述如何使用待定系数法求这类分式线性递推式通项的大体思路,再在后面的小节介绍基于不动点法的优化和解题实例,最后谈谈在这类情形下可以使用不动点法的原理。
定义:具有以下形式的递推式
a
n
+
1
=
f
(
a
n
)
{\displaystyle a_{n+1}=f(a_{n})}
叫做常系数分式线性递推关系 :
a
n
+
1
=
A
a
n
+
B
C
a
n
+
D
(
n
∈
N
+
,
A
,
B
,
C
,
D
∈
R
,
A
D
−
B
C
≠
0
)
{\displaystyle a_{n+1}={\frac {Aa_{n}+B}{Ca_{n}+D}}\quad (n\in \mathbb {N} ^{+},A,B,C,D\in \mathbb {R} ,AD-BC\neq 0)}
利用不动点简化一阶常系数分式线性递推关系式的通项求解
编辑
我们接下来从不动点的角度,指出这种常系数分式线性递推关系的通项公式求解方法。
提示:本小节前半部分展示的代数变形过程比较冗长罗嗦,主要就是讲述了2种情况下最基本的分类讨论,外加上常见优化步骤的思路由来。没有耐心的读者可以先看结论和具体例题,然后有时间再回过头来大致浏览一下这些纯字母化的运算和论证。
设函数
f
(
x
)
=
A
x
+
B
C
x
+
D
{\displaystyle f(x)={\frac {Ax+B}{Cx+D}}}
满足
x
,
A
,
B
,
C
,
D
∈
C
,
A
D
−
B
C
≠
0
{\displaystyle x,A,B,C,D\in \mathbb {C} ,AD-BC\neq 0}
,其不动点为
x
=
λ
{\displaystyle x=\lambda }
。
其不动点满足的方程
λ
=
A
λ
+
B
C
λ
+
D
{\displaystyle \lambda ={\frac {A\lambda +B}{C\lambda +D}}}
可能只有1个解,也可能有2个不同的解(不同的实数根或不同的虚数根)[ 4] 。
如果
x
0
{\displaystyle x_{0}}
为以上方程的任何一个根(从而
x
0
{\displaystyle x_{0}}
也是函数的不动点),那么可以先对原递推式两边同时减去不动点:
a
n
+
1
−
x
0
=
A
a
n
+
B
C
a
n
+
D
−
x
0
=
(
A
−
C
x
0
)
(
a
n
−
x
0
)
C
a
n
+
D
{\displaystyle a_{n+1}-x_{0}={\frac {Aa_{n}+B}{Ca_{n}+D}}-x_{0}={\frac {(A-Cx_{0})(a_{n}-x_{0})}{Ca_{n}+D}}}
再对上式两侧同时颠倒可得:
1
a
n
+
1
−
x
0
=
C
a
n
+
D
(
A
−
C
x
0
)
(
a
n
−
x
0
)
=
C
x
0
+
D
A
−
C
x
0
1
a
n
−
x
0
+
C
A
−
C
x
0
{\displaystyle {\frac {1}{a_{n+1}-x_{0}}}={\frac {Ca_{n}+D}{(A-Cx_{0})(a_{n}-x_{0})}}={\frac {Cx_{0}+D}{A-Cx_{0}}}{\frac {1}{a_{n}-x_{0}}}+{\frac {C}{A-Cx_{0}}}}
由上式可知此时
{
1
a
n
−
x
0
}
{\displaystyle \{{\frac {1}{a_{n}-x_{0}}}\}}
整体来说是一个一阶常系数线性递推数列,且包含有取值为常数的非齐次项。
如果不动点方程
λ
=
A
λ
+
B
C
λ
+
D
{\displaystyle \lambda ={\frac {A\lambda +B}{C\lambda +D}}}
的2个根是重根,则有
x
1
=
x
2
=
A
−
D
2
C
{\displaystyle x_{1}=x_{2}={\frac {A-D}{2C}}}
且
C
x
1
+
D
A
−
C
x
1
=
1
{\displaystyle {\frac {Cx_{1}+D}{A-Cx_{1}}}=1}
。此时可以继续化简:
1
a
n
+
1
−
x
0
=
C
x
0
+
D
A
−
C
x
0
1
a
n
−
x
0
+
C
A
−
C
x
0
=
1
a
n
−
x
0
+
C
A
−
C
x
0
{\displaystyle {\frac {1}{a_{n+1}-x_{0}}}={\frac {Cx_{0}+D}{A-Cx_{0}}}{\frac {1}{a_{n}-x_{0}}}+{\frac {C}{A-Cx_{0}}}={\frac {1}{a_{n}-x_{0}}}+{\frac {C}{A-Cx_{0}}}}
即
{
1
a
n
−
x
0
}
{\displaystyle \{{\frac {1}{a_{n}-x_{0}}}\}}
变为以
1
a
1
−
x
0
{\displaystyle {\frac {1}{a_{1}-x_{0}}}}
为首项、
C
A
−
C
x
0
{\displaystyle {\frac {C}{A-Cx_{0}}}}
为公差的等差数列,易知其通项为:
1
a
n
−
x
0
=
1
a
1
−
x
0
+
2
C
(
n
−
1
)
A
+
D
{\displaystyle {\frac {1}{a_{n}-x_{0}}}={\frac {1}{a_{1}-x_{0}}}+{\frac {2C(n-1)}{A+D}}}
既然在这种情形下都已经得到
1
a
n
−
x
0
{\displaystyle {\frac {1}{a_{n}-x_{0}}}}
的解析式,从而
a
n
{\displaystyle a_{n}}
的解析式也容易知道了。
如果不动点方程
λ
=
A
λ
+
B
C
λ
+
D
{\displaystyle \lambda ={\frac {A\lambda +B}{C\lambda +D}}}
有2个相异的根,那么最直接的想法是只能麻烦一点,针对得到的常系数线性递推式再使用不动点法构造一次:
1
a
n
+
1
−
x
1
+
1
x
1
−
x
2
=
A
−
C
x
1
A
−
C
x
2
(
1
a
n
−
x
1
+
1
x
1
−
x
2
)
{\displaystyle {\frac {1}{a_{n+1}-x_{1}}}+{\frac {1}{x_{1}-x_{2}}}={\frac {A-Cx_{1}}{A-Cx_{2}}}({\frac {1}{a_{n}-x_{1}}}+{\frac {1}{x_{1}-x_{2}}})}
此时
{
1
a
n
−
x
1
+
1
x
1
−
x
2
}
{\displaystyle \{{\frac {1}{a_{n}-x_{1}}}+{\frac {1}{x_{1}-x_{2}}}\}}
构成公比为
A
−
C
x
1
A
−
C
x
2
{\displaystyle {\frac {A-Cx_{1}}{A-Cx_{2}}}}
的等比数列,即:
1
a
n
−
x
1
+
1
x
1
−
x
2
=
(
1
a
n
−
x
1
+
1
x
1
−
x
2
)
(
A
−
C
x
1
A
−
C
x
2
)
n
−
1
⇒
1
a
n
−
x
1
=
(
1
a
n
−
x
1
+
1
x
1
−
x
2
)
(
A
−
C
x
1
A
−
C
x
2
)
n
−
1
−
1
x
1
−
x
2
⇒
a
n
=
x
2
(
a
1
−
x
1
)
(
A
−
C
x
1
)
n
−
1
−
x
1
(
a
1
−
x
2
)
(
A
−
C
x
2
)
n
−
1
(
a
1
−
x
1
)
(
A
−
C
x
1
)
n
−
1
−
(
a
1
−
x
2
)
(
A
−
C
x
2
)
n
−
1
{\displaystyle {\begin{aligned}{\frac {1}{a_{n}-x_{1}}}+{\frac {1}{x_{1}-x_{2}}}=({\frac {1}{a_{n}-x_{1}}}+{\frac {1}{x_{1}-x_{2}}})({\frac {A-Cx_{1}}{A-Cx_{2}}})^{n-1}\\\Rightarrow {\frac {1}{a_{n}-x_{1}}}=({\frac {1}{a_{n}-x_{1}}}+{\frac {1}{x_{1}-x_{2}}})({\frac {A-Cx_{1}}{A-Cx_{2}}})^{n-1}-{\frac {1}{x_{1}-x_{2}}}\\\Rightarrow a_{n}={\frac {x_{2}(a_{1}-x_{1})(A-Cx_{1})^{n-1}-x_{1}(a_{1}-x_{2})(A-Cx_{2})^{n-1}}{(a_{1}-x_{1})(A-Cx_{1})^{n-1}-(a_{1}-x_{2})(A-Cx_{2})^{n-1}}}\end{aligned}}}
如果方程有2个不等的根
x
1
{\displaystyle x_{1}}
和
x
2
{\displaystyle x_{2}}
(是不同的实数根或不同的虚数根都行),此时还有一种基于不动点但是构造方向与上述思路有一些差异的解法。先在原递推式的两侧分别减去这2个根,可以得到:
{
a
n
+
1
−
x
1
=
(
A
−
C
x
1
)
(
a
n
−
x
1
)
C
a
n
+
D
a
n
+
1
−
x
2
=
(
A
−
C
x
2
)
(
a
n
−
x
2
)
C
a
n
+
D
{\displaystyle \left\{{\begin{array}{l}a_{n+1}-x_{1}={\frac {(A-Cx_{1})(a_{n}-x_{1})}{Ca_{n}+D}}\\a_{n+1}-x_{2}={\frac {(A-Cx_{2})(a_{n}-x_{2})}{Ca_{n}+D}}\end{array}}\right.}
如果观察上述2个式子,可以发现它们的右侧都有相同的分母,且右侧的分子形式非常相似,最好能利用这个相同点去掉它们的分母。于是不妨对上述2个式子的两端同时作商(相除)可得:
a
n
+
1
−
x
1
a
n
+
1
−
x
2
=
k
a
n
−
x
1
a
n
−
x
2
{\displaystyle {\frac {a_{n+1}-x_{1}}{a_{n+1}-x_{2}}}=k{\frac {a_{n}-x_{1}}{a_{n}-x_{2}}}}
,其中
k
=
A
−
C
x
1
A
−
C
x
2
{\displaystyle k={\frac {A-Cx_{1}}{A-Cx_{2}}}}
。
易知此时
{
a
n
−
x
1
a
n
−
x
2
}
{\displaystyle \{{\frac {a_{n}-x_{1}}{a_{n}-x_{2}}}\}}
整体来说是一个以
a
1
−
x
1
a
1
−
x
2
{\displaystyle {\frac {a_{1}-x_{1}}{a_{1}-x_{2}}}}
为首项、k为公比的等比数列,所以得到
{
a
n
−
x
1
a
n
−
x
2
}
{\displaystyle \{{\frac {a_{n}-x_{1}}{a_{n}-x_{2}}}\}}
的通项公式:
a
n
−
x
1
a
n
−
x
2
=
a
1
−
x
1
a
1
−
x
2
k
n
−
1
=
(
A
−
C
x
1
A
−
C
x
2
)
n
−
1
a
1
−
x
1
a
1
−
x
2
{\displaystyle {\frac {a_{n}-x_{1}}{a_{n}-x_{2}}}={\frac {a_{1}-x_{1}}{a_{1}-x_{2}}}k^{n-1}=({\frac {A-Cx_{1}}{A-Cx_{2}}})^{n-1}{\frac {a_{1}-x_{1}}{a_{1}-x_{2}}}}
既然已经得到
a
n
−
x
1
a
n
−
x
2
{\displaystyle {\frac {a_{n}-x_{1}}{a_{n}-x_{2}}}}
的解析式,从而
a
n
{\displaystyle a_{n}}
的解析式也容易知道了。
这种方法此时可以更快地得到同样的最终结果:
a
n
=
x
2
(
a
1
−
x
1
)
(
A
−
C
x
1
)
n
−
1
−
x
1
(
a
1
−
x
2
)
(
A
−
C
x
2
)
n
−
1
(
a
1
−
x
1
)
(
A
−
C
x
1
)
n
−
1
−
(
a
1
−
x
2
)
(
A
−
C
x
2
)
n
−
1
{\displaystyle a_{n}={\frac {x_{2}(a_{1}-x_{1})(A-Cx_{1})^{n-1}-x_{1}(a_{1}-x_{2})(A-Cx_{2})^{n-1}}{(a_{1}-x_{1})(A-Cx_{1})^{n-1}-(a_{1}-x_{2})(A-Cx_{2})^{n-1}}}}
综上所述,我们可以将常系数分式线性递推式的通项求解思路简化如下[ 5] :
当只有1个不动点时,可以对原递推式的两边同时减去不动点,然后再同时取倒数,进而转化为等差数列求解。
当有2个相异的不动点时,可以先对原递推式的两边同时减去第1个不动点并取倒数,再对原递推式的两边同时减去第2个不动点并取倒数,然后将分别得到的2个式子作商,进而转化为等比数列求解。
分式线性变换的概念与分式线性递推式的不动点解法由来
编辑
定义:具有以下形式的函数
f
:
C
→
C
{\displaystyle f:\mathbb {C} \rightarrow \mathbb {C} }
叫做分式线性变换 (linear fractional transformation ):
f
(
x
)
=
A
x
+
B
C
x
+
D
(
A
,
B
,
C
,
D
∈
C
,
A
D
−
B
C
≠
0
)
{\displaystyle f(x)={\frac {Ax+B}{Cx+D}}\quad (A,B,C,D\in \mathbb {C} ,AD-BC\neq 0)}
因为德国数学家奥古斯特·莫比乌斯 曾对其进行过大量研究,所以分式线性变换也叫做莫比乌斯变换 (Möbius transformation )。[ 4]
通过简单的分式分解,易知莫比乌斯函数可以分解为以下形式:
f
(
x
)
=
B
C
−
A
D
C
1
C
x
+
D
+
A
C
{\displaystyle f(x)={\frac {BC-AD}{C}}{\frac {1}{Cx+D}}+{\frac {A}{C}}}
由于我们只考虑自变量值取实数的情形,因此可以对于特定的一组系数可以画出函数的图像。而由上述表达式的图象性质可知,分式线性变换是可逆的。
容易验证以下性质:
分式线性变换
f
(
x
)
=
A
x
+
B
C
x
+
D
(
A
D
−
B
C
≠
0
)
{\displaystyle f(x)={\frac {Ax+B}{Cx+D}}\quad (AD-BC\neq 0)}
的逆变换(即反函数)为[ 4] :
x
=
−
D
y
+
B
C
y
−
A
{\displaystyle x={\frac {-Dy+B}{Cy-A}}}
一次函数是特殊的分式线性变换[ 4] 。
分式线性映射之间的复合结果仍然是分式线性变换[ 4] 。
如果
x
=
x
0
{\displaystyle x=x_{0}}
是分式线性变换
f
(
x
)
{\displaystyle f(x)}
的不动点,等价于
f
(
x
0
)
{\displaystyle f(x_{0})}
是其反函数的不动点。这是因为可逆函数的不动点与其反函数的不动点是一一对应的。
我们下面先通过一种计算量较少的思路来说明使用待定系数法时,第一步减去的常数一定是其不动点的原因。
按照待定系数法的思路,假定对分式线性变换解析式的
f
(
x
)
{\displaystyle f(x)}
两侧同时减去某个合适的常数P再同时取倒数后,能得到形式一致的分母。先做第一步减法,得:
a
n
+
1
−
P
=
A
a
n
+
B
C
a
n
+
D
−
P
=
A
a
n
+
B
−
P
C
a
n
−
D
P
C
a
n
+
D
=
(
A
−
P
C
)
a
n
+
(
B
−
D
P
)
C
a
n
+
D
{\displaystyle a_{n+1}-P={\frac {Aa_{n}+B}{Ca_{n}+D}}-P={\frac {Aa_{n}+B-PCa_{n}-DP}{Ca_{n}+D}}={\frac {(A-PC)a_{n}+(B-DP)}{Ca_{n}+D}}}
要使上面的式子取倒数后的分母满足要求,由于分母取倒数前是位于分子的位置,基于前面的解题实例可知,我们只需要保证上式最左边的量与最右边的分子形式相似即可。
即只需要使
a
n
+
1
−
P
{\displaystyle a_{n+1}-P}
与
(
A
−
P
C
)
a
n
+
(
B
−
D
P
)
{\displaystyle (A-PC)a_{n}+(B-DP)}
的对应系数成相同比例即可。即:
1
A
−
P
C
=
−
P
B
−
D
P
{\displaystyle {\frac {1}{A-PC}}={\frac {-P}{B-DP}}}
,解得:
P
=
B
−
D
P
C
P
−
A
{\displaystyle P={\frac {B-DP}{CP-A}}}
。
显然,这个所需的P值是
f
(
x
)
{\displaystyle f(x)}
的反函数的不动点。根据前面总结的性质,可知P也是
f
(
x
)
{\displaystyle f(x)}
的不动点。
即对
f
(
x
)
{\displaystyle f(x)}
两侧同时减去其不动点后,再取同时倒数,就一定能构造出一次的常系数非齐次递推式。
也可以从函数同胚变换(也就是函数相似变换)的角度出发,来理解函数的多重迭代与分式线性递推式的求解。不动点法在这两类问题中都有登场出现。首先由于一次函数属于特殊的分式线性变换,而且分式线性变换是可逆变化,所以自然想到能否将分式线性递推式还原为某种更简单的一次线性递推式的形式。求出与之相关的一次线性递推式的迭代结果后,再利用逆变换反推出原递推式的多次迭代结果。另一方面,我们已经知道使用不动点法可以简化一次线性递推式的求解,我们希望将不动点也整合到分式线性变换还原为线性递推式的系数配凑过程中。
使得
f
(
x
)
{\displaystyle f(x)}
可以与另一个函数
g
(
x
)
{\displaystyle g(x)}
建立下列联系的可逆函数
T
(
x
)
{\displaystyle T(x)}
叫做桥函数
[ 6] :
f
(
x
)
=
T
−
1
(
g
(
T
(
x
)
)
)
{\displaystyle f(x)=T^{-1}(g(T(x)))}
此时
f
(
x
)
{\displaystyle f(x)}
和
g
(
x
)
{\displaystyle g(x)}
叫做关于桥函数
T
(
x
)
{\displaystyle T(x)}
的一对相似函数 [ 6] ,或者说
f
(
x
)
{\displaystyle f(x)}
和
g
(
x
)
{\displaystyle g(x)}
关于桥函数
T
(
x
)
{\displaystyle T(x)}
互为相似函数。用拓扑学术语来说,桥函数是一种同胚 (homeomorphism )变换,它建立了
f
(
x
)
{\displaystyle f(x)}
和
g
(
x
)
{\displaystyle g(x)}
之间的拓扑共轭 (topological conjugacy )。
桥函数是计算函数迭代或巧妙构造数列的辅助函数。通过找到合适的桥函数,把不易得到迭代公式的
f
(
x
)
{\displaystyle f(x)}
变为容易得到迭代公式的形式更简单的
g
(
x
)
{\displaystyle g(x)}
,计算完
g
(
x
)
{\displaystyle g(x)}
的n次迭代结果后,再使用桥函数的逆变换即可得到
f
(
x
)
{\displaystyle f(x)}
的n次迭代式。这种思路把函数迭代的问题转化为桥函数的寻找与研究问题。
可以通过数学归纳法验证函数
f
(
x
)
{\displaystyle f(x)}
的上述相似性(也就是拓扑共轭性)满足以下规律(
T
(
x
)
{\displaystyle T(x)}
为
f
(
x
)
{\displaystyle f(x)}
的桥函数,
g
(
x
)
{\displaystyle g(x)}
是其共轭,下标表示迭代计算的次数)[ 6] :
f
n
(
x
)
=
T
−
1
(
g
n
(
T
(
x
)
)
)
{\displaystyle f_{n}(x)=T^{-1}(g_{n}(T(x)))}
知识背景:将函数借助一个可逆的辅助函数,变换到另一个更容易求解或更容易研究的形式,在数学与物理学的许多分支中都是常见思想。矩阵对角化 、傅立叶变换 、Z变换 、卷积 等技巧都是这类思想的体现。用泛函分析 的术语来说,函数可以看成抽象空间中的点,如果一个函数直接研究起来不方便,我们就可以用可逆变换将它挪到其它更简单明了的空间中再研究。变换的可逆性保证了函数本身的某些关键特性在某些恰当选取的空间中并不会改变太多,解决问题以后还可以把结果再变回到原来的空间。
了解了桥函数方法的转换思想,下面使用不动点法的动机就是借助不动点套出桥函数可能满足的性质,以便确定所需桥函数中的未知待定系数。只要确定了桥函数的各个细节,就可以通过相似变换的方法巧妙地得到原函数的n次迭代式。
假设
f
(
x
)
=
T
−
1
(
g
(
T
(
x
)
)
)
{\displaystyle f(x)=T^{-1}(g(T(x)))}
,且
x
0
{\displaystyle x_{0}}
是
f
(
x
)
{\displaystyle f(x)}
的不动点,那么
T
(
x
0
)
{\displaystyle T(x_{0})}
一定也会是
g
(
x
)
{\displaystyle g(x)}
的不动点[ 6] 。这说明如果我们求出了
f
(
x
)
{\displaystyle f(x)}
的不动点,并且有了简单可行的
T
(
x
)
{\displaystyle T(x)}
,那么
g
(
x
)
{\displaystyle g(x)}
的不动点也就知道了。
通常为了便于求解
g
(
x
)
{\displaystyle g(x)}
的n次迭代式,可以尝试将
g
(
x
)
{\displaystyle g(x)}
取为下列形式[ 6] :
g
(
x
)
=
x
+
a
{\displaystyle g(x)=x+a}
g
(
x
)
=
a
x
{\displaystyle g(x)=ax}
g
(
x
)
=
a
x
2
{\displaystyle g(x)=ax^{2}}
g
(
x
)
=
a
x
3
{\displaystyle g(x)=ax^{3}}
对于这几种情况,
g
(
x
)
{\displaystyle g(x)}
的不动点为0或
∞
{\displaystyle \infty }
。此时如果
f
(
x
)
{\displaystyle f(x)}
只有唯一的不动点a,可以考虑取
g
(
x
)
=
x
−
a
{\displaystyle g(x)=x-a}
或
g
(
x
)
=
1
x
−
a
{\displaystyle g(x)={\frac {1}{x-a}}}
;如果
f
(
x
)
{\displaystyle f(x)}
有2个相异的不动点a和b,则可以考虑取
g
(
x
)
=
x
−
a
x
−
b
{\displaystyle g(x)={\frac {x-a}{x-b}}}
。
就分式线性变换的例子来说,如果我们先求出了
f
(
x
)
=
A
x
+
B
C
x
+
D
{\displaystyle f(x)={\frac {Ax+B}{Cx+D}}}
的不动点
x
0
{\displaystyle x_{0}}
,那么如果还能通过尝试一些特例猜出合适的桥函数具有
T
(
x
)
=
1
x
−
k
{\displaystyle T(x)={\frac {1}{x-k}}}
的形式,并且目标函数是一次函数,那么
p
=
T
(
x
0
)
{\displaystyle p=T(x_{0})}
也一定是一次函数
g
(
x
)
=
a
x
+
b
{\displaystyle g(x)=ax+b}
的不动点。即有下列关系式成立:
p
=
g
(
p
)
⇒
p
=
a
p
+
b
{\displaystyle p=g(p)\quad \Rightarrow \quad p=ap+b}
我们先不急着移项。因为我们可以从包含无穷大的扩展实数线 或扩充复平面 上考虑问题,易知从方程
λ
=
a
λ
+
b
(
a
,
b
≠
0
)
{\displaystyle \lambda =a\lambda +b\quad (a,b\neq 0)}
解出的唯一不动点是
λ
=
∞
{\displaystyle \lambda =\infty }
。所以
p
=
λ
=
∞
{\displaystyle p=\lambda =\infty }
,即可反推:
T
(
x
0
)
=
p
=
∞
⇒
1
x
0
−
k
=
∞
⇒
k
=
x
0
{\displaystyle T(x_{0})=p=\infty \quad \Rightarrow \quad {\frac {1}{x_{0}-k}}=\infty \quad \Rightarrow \quad k=x_{0}}
所以所求的关键待定系数k就是原函数
f
(
x
)
{\displaystyle f(x)}
的不动点
x
0
{\displaystyle x_{0}}
。
对于二次函数或包含二次项的分式函数,除了恰巧可以用简单的配方法将二次项配凑进某个完全平方式的情形,一般都没有什么好办法获得n次迭代后的简洁表达式[ 6] 。
其它可以解决分式线性递推式的方法还包括转化为二阶常系数线性递推数列 和多元递推与矩阵方法 。
本节介绍的一阶常系数非齐次线性递推式和分式线性递推式都可以用Mathematica软件 提供的“RSolve”命令求解出通项公式。我们在这里分别用Mathematica展示2种递推式的通项公式求解方法。它的更多递推式求解用法还会在常系数线性递推数列 章节中继续补充。
求解差分方程
a
1
=
1
,
a
n
+
1
=
2
a
n
+
3
{\displaystyle a_{1}=1,a_{n+1}=2a_{n}+3}
的示例:
RSolve [{ a [ n + 1 ] == 2 a [ n ] + 3 , a [ 1 ] == 1 }, a [ n ], n ]; (* 在Mathematica中表示相等,需要2个"="在一起连用 *)
在新单元格(cell)输入完上述命令后,一般按组合键Shift + Enter即可得到结果。
求解分式线性差分方程
a
1
=
1
,
a
n
+
1
=
a
n
+
2
3
a
n
+
4
{\displaystyle a_{1}=1,a_{n+1}={\frac {a_{n}+2}{3a_{n}+4}}}
的示例:
RSolve [{ a [ n + 1 ] == ( a [ n ] + 2 ) / ( 3 a [ n ] + 4 ), a [ 1 ] == 1 }, a [ n ], n ]; (* 在Mathematica中表示相除,需要使用"/"符号 *)
此题的答案很复杂很可怕哦~
提示:如果RSolve命令没有输入错误,但是执行后出现“RSolve::deqn: Equation or list of equations expected instead of True in the first argument True.”一类的报错信息,一般是由于没有清除同名标识符 中的已有信息。如果是这种情况:(1)可以先在其它地方输入独立命令“ClearAll[a]”清除标识符a中的内容,然后重新执行RSolve命令;(2)也可以改用除a以外的其它未使用过的标识符来命名要求解的数列。
提示:“RSolve”命令中的“R”是递推(recurrence relation)、递归(recursion)的意思。它与“Resolve”命令拼写相似,但功能不同。Resolve是用于化简约束条件的,例如可以求解一些不等式或不等式组。
相关例题1:
已知在数列
{
a
n
}
{\displaystyle \{a_{n}\}}
中,满足
a
1
=
1
,
a
n
+
1
=
2
a
n
+
3
{\displaystyle a_{1}=1,a_{n+1}=2a_{n}+3}
,使用Mathematica求它的通项公式。
解答:
在Mathematica软件中输入命令(因为只有一行命令,分号此时可以不写):
RSolve[{a[n + 1] == 2 a[n] + 3, a[1] == 1}, a[n], n];
然后按组合键Shift + Enter即可得到结果为:
a
n
=
1
2
(
(
1
−
2
)
n
+
(
1
+
2
)
n
)
{\displaystyle a_{n}={\frac {1}{2}}((1-{\sqrt {2}})^{n}+(1+{\sqrt {2}})^{n})}
。
答案:
a
n
=
−
3
+
2
1
+
n
{\displaystyle a_{n}=-3+2^{1+n}}
。
相关例题2:
已知数列
{
a
n
}
{\displaystyle \{a_{n}\}}
满足
a
1
=
1
,
a
n
+
1
=
2
a
n
+
3
a
n
+
4
{\displaystyle a_{1}=1,a_{n+1}={\frac {2a_{n}+3}{a_{n}+4}}}
,使用Mathematica求它的通项公式。
解答:
命令用法示例:
RSolve[{a[n + 1] == (2 a[n] + 3) / (a[n] + 4), a[1] == 1}, a[n], n];
然后按组合键Shift + Enter即可得到结果为:
a
n
=
1
2
(
(
1
−
2
)
n
+
(
1
+
2
)
n
)
{\displaystyle a_{n}={\frac {1}{2}}((1-{\sqrt {2}})^{n}+(1+{\sqrt {2}})^{n})}
。
答案:
a
n
=
3
(
(
−
1
)
n
+
(
−
1
)
1
+
n
5
1
−
n
)
3
(
−
1
)
n
+
(
−
1
)
n
5
1
−
n
{\displaystyle a_{n}={\frac {3((-1)^{n}+(-1)^{1+n}5^{1-n})}{3(-1)^{n}+(-1)^{n}5^{1-n}}}}
。