参数化算法计算多变量阿多米安多项式

阿多米安多项式一种参数化算法推广至多变量情形。

方法

非线性表达式$N(u_1,u_2,\cdots,u_m)$有$m$个变量$u_1,u_2,\cdots,u_m$,每个变量都可以展开成级数$u_i=\sum_{j=0}^{\infty}u_{i,j}$。$N(u_1,u_2,\cdots,u_m)$展开成阿多米安多项式,第$n$项为

\begin{equation} \begin{split} &A_n(u_{1,0},u_{1,1},\cdots,u_{1,n};u_{2,0},u_{2,1},\cdots,u_{2,n};\cdots;u_{m,0},u_{m,1},\cdots,u_{m,n})\\ &=\frac{1}{2\pi}\int_{-\pi}^{\pi}N\left(\sum_{k=0}^{n}u_{1,k}e^{ik\lambda},\sum_{k=0}^{n}u_{2,k}e^{ik\lambda},\cdots,\sum_{k=0}^{n}u_{m,k}e^{ik\lambda} \right)e^{-in\lambda}\mathrm d\lambda \\ &=N_0(u_{1,0},u_{2,0},\cdots,u_{m,0}) \mathrm{Coefficient[e^{in\lambda}]} \end{split} \label{mm} \end{equation}

举例

例 $N(u_1,u_2)=\frac{u_2}{2+u_1}$

本例来自 International Mathematical Forum, 1, 2006, no. 39, 1919-1924

\begin{equation*} \begin{split} A_n=&\frac{1}{2\pi}\int_{-\pi}^{\pi}\frac{u_{2,0}+\sum_{k=1}^nu_{2,k}e^{ik\lambda}}{2+u_{1,0}+\sum_{k=1}^nu_{1,k}e^{ik\lambda}}e^{-in\lambda}\mathrm d\lambda \\ =& \frac{1}{2\pi}\int_{-\pi}^{\pi}\frac{u_{2,0}+\sum_{k=1}^nu_{2,k}e^{ik\lambda}}{2+u_{1,0}}\frac{1}{1+\frac{\sum_{k=1}^nu_{1,k}e^{ik\lambda}}{2+u_{1,0}}}e^{-in\lambda}\mathrm d\lambda \\ =& \frac{1}{2\pi}\int_{-\pi}^{\pi}\frac{u_{2,0}}{2+u_{1,0}}\left(1-\frac{\sum_{k=1}^nu_{1,k}e^{ik\lambda}}{2+u_{1,0}}+\left( \frac{\sum_{k=1}^nu_{1,k}e^{ik\lambda}}{2+u_{1,0}} \right )^2+\cdots \right)e^{-in\lambda}\mathrm d\lambda +\\ & \frac{1}{2\pi}\int_{-\pi}^{\pi}\sum_{k=1}^nu_{2,k}e^{ik\lambda}\left(1-\frac{\sum_{k=1}^nu_{1,k}e^{ik\lambda}}{2+u_{1,0}}+\left( \frac{\sum_{k=1}^nu_{1,k}e^{ik\lambda}}{2+u_{1,0}} \right )^2+\cdots \right)e^{-in\lambda}\mathrm d\lambda \\ =& \mathrm{Coefficient[e^{i\lambda}]} \end{split} \end{equation*}

\begin{equation*} A_0=\frac{u_{2,0}}{2+u_{1,0}} \end{equation*}

利用Mathematica:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
In[11]:= Subscript[u, 2, 0]/(2 + Subscript[u, 1, 0])*
Coefficient[
Normal[Series[1/(1 + x), {x, 0, 1}]] /.
x -> ((Subscript[u, 1, 1]*Exp[I*x])/(2 + Subscript[u, 1, 0])),
Exp[I*x], 1] +
1/(2 + Subscript[u, 1, 0])*
Coefficient[
Subscript[u, 2, 1]*Exp[I*x]*
Normal[Series[1/(1 + t), {t, 0, 1}]] /.
t -> ((Subscript[u, 1, 1]*Exp[I*x])/(2 + Subscript[u, 1, 0])),
Exp[I*x], 1]
<p>Out[11]= -((<br />
Subscript[u, 1, 1] Subscript[u, 2,<br />
</p>

计算得

\begin{equation*} A_1=\frac{u_{2,1}}{u_{1,0}+2}-\frac{u_{1,1} u_{2,0}}{\left(u_{1,0}+2\right){}^2} \end{equation*}

(可见,原文有误)

利用Mathematica:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
In[12]:= Subscript[u, 2, 0]/(2 + Subscript[u, 1, 0])*
Coefficient[
Normal[Series[1/(1 + x), {x, 0, 2}]] /.
x -> ((Subscript[u, 1, 1]*Exp[I*x] +
Subscript[u, 1, 2]*Exp[2*I*x])/(2 + Subscript[u, 1, 0])),
Exp[I*x], 2] +
1/(2 + Subscript[u, 1, 0])*
Coefficient[(Subscript[u, 2, 1]*Exp[I*x] +
Subscript[u, 2, 2]*Exp[2*I*x])*
Normal[Series[1/(1 + t), {t, 0, 2}]] /.
t -> ((Subscript[u, 1, 1]*Exp[I*x] +
Subscript[u, 1, 2]*Exp[2*I*x])/(2 + Subscript[u, 1, 0])),
Exp[I*x], 2]
<p>Out[12]= ((<br />
!(*SubsuperscriptBox[(u), (1,<br />
1), (2)])/(2 + Subscript[u, 1, 0])^2 - Subscript[u, 1, 2]/(<br />
2 + Subscript[u, 1, 0])) Subscript[u, 2, 0])/(<br />
2 + Subscript[u, 1,<br />
</p>
<p>In[13]:= Collect[%, 2 + Subscript[u, 1, 0]]</p>
<p>Out[13]= (!(<br />
*SubsuperscriptBox[(u), (1, 1), (2)]\<br />
*SubscriptBox[(u), (2, 0)]))/(2 + Subscript[u, 1,<br />
</p>

计算得

\begin{equation*} A_2= \frac{u_{2,0} u_{1,1}^2}{\left(u_{1,0}+2\right){}^3}+\frac{-u_{1,2} u_{2,0}-u_{1,1} u_{2,1}}{\left(u_{1,0}+2\right){}^2}+\frac{u_{2,2}}{u_{1,0}+2} \end{equation*}

利用Mathematica:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
In[14]:= Subscript[u, 2, 0]/(2 + Subscript[u, 1, 0])*
Coefficient[
Normal[Series[1/(1 + x), {x, 0, 3}]] /.
x -> ((Subscript[u, 1, 1]*Exp[I*x] +
Subscript[u, 1, 2]*Exp[2*I*x] +
Subscript[u, 1, 3]*Exp[3*I*x])/(2 + Subscript[u, 1, 0])),
Exp[I*x], 3] +
1/(2 + Subscript[u, 1, 0])*
Coefficient[(Subscript[u, 2, 1]*Exp[I*x] +
Subscript[u, 2, 2]*Exp[2*I*x] + Subscript[u, 2, 3]*Exp[3*I*x])*
Normal[Series[1/(1 + t), {t, 0, 3}]] /.
t -> ((Subscript[u, 1, 1]*Exp[I*x] +
Subscript[u, 1, 2]*Exp[2*I*x] +
Subscript[u, 1, 3]*Exp[3*I*x])/(2 + Subscript[u, 1, 0])),
Exp[I*x], 3]
<p>Out[14]= ((-(<br />
!(*SubsuperscriptBox[(u), (1,<br />
1), (3)])/(2 + Subscript[u, 1, 0])^3) + (<br />
2 Subscript[u, 1, 1] Subscript[u, 1,<br />
2])/(2 + Subscript[u, 1, 0])^2 - Subscript[u, 1, 3]/(<br />
2 + Subscript[u, 1, 0])) Subscript[u, 2, 0])/(<br />
2 + Subscript[u, 1, 0]) + ((!(<br />
*SubsuperscriptBox[(u), (1, 1), (2)]\<br />
*SubscriptBox[(u), (2, 1)]))/(2 + Subscript[u, 1, 0])^2 - (<br />
Subscript[u, 1, 2] Subscript[u, 2, 1])/(2 + Subscript[u, 1, 0]) - (<br />
Subscript[u, 1, 1] Subscript[u, 2, 2])/(2 + Subscript[u, 1, 0]) +<br />
Subscript[u, 2, 3])/(2 + Subscript[u, 1, 0])</p>
<p>In[15]:= Collect[%, 2 + Subscript[u, 1, 0]]</p>
<p>Out[15]= -((!(<br />
*SubsuperscriptBox[(u), (1, 1), (3)]\<br />
*SubscriptBox[(u), (2, 0)]))/(2 + Subscript[u, 1, 0])^4) + (<br />
2 Subscript[u, 1, 1] Subscript[u, 1, 2] Subscript[u, 2, 0] + !(<br />
*SubsuperscriptBox[(u), (1, 1), (2)]\<br />
*SubscriptBox[(u), (2, 1)]))/(2 + Subscript[u, 1,<br />
</p>

计算得

\begin{equation*} A_3= -\frac{u_{2,0} u_{1,1}^3}{\left(u_{1,0}+2\right){}^4}+\frac{u_{2,1} u_{1,1}^2+2 u_{1,2} u_{2,0} u_{1,1}}{\left(u_{1,0}+2\right){}^3}+\frac{-u_{1,3} u_{2,0}-u_{1,2} u_{2,1}-u_{1,1} u_{2,2}}{\left(u_{1,0}+2\right){}^2}+\frac{u_{2,3}}{u_{1,0}+2} \end{equation*}

类似可计算$A_4$,$A_5$,$\cdots$。

标签: 阿多米安分解法

添加新评论

captcha
请输入验证码