from sympy import *
from lsk.display import *
from lsk.energy import *
from lsk.symbols import *
6 Asymptotic expansion of the energy and its hessian
The present chapter is organized as follows. In Section 6.1, we derive the following asymptotic expansion of the energy along the bifurcated branch
\[ \begin{aligned}[b] \E[u(\eta), \lambda(\eta)] ={}& \E[u^\star \circ \lambda(\eta), \lambda(\eta)] + \tfrac{1}{6} \eta^3 \, \order[1]{\lambda} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \dot{E}_{ij}\\ &+ \tfrac{1}{24} \eta^4 \, \bigl\{ E_{ijkl} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \order[1]{\xi}_l + 4\order[1]{\lambda} \, \dot{E}_{ijk} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k\\ &+ 6 \bigl[ \bigl( \order[1]{\lambda} \bigr)^2 \, \ddot{E}_{ij} + \order[2]{\lambda} \, \dot{E}_{ij} \bigr] \, \order[1]{\xi}_i \, \order[1]{\xi}_j \bigr\} + o(\eta^4). \end{aligned} \tag{6.1}\]
Then, in Section 6.2, we derive the asymptotic expansion of the hessian of the energy along the bifurcated branch
\[ \begin{aligned}[b] \E_{,uu}[u(\eta), \lambda(\eta); \bullet, \bullet] ={} & \E_2(\bullet, \bullet) + \eta \, \bigl[ \E_3(\order[1]{u}, \bullet, \bullet) + \order[1]{\lambda} \, \dot{\E}_2(\bullet, \bullet) \bigr]\\ &+ \tfrac{1}{2}\eta^2 \, \bigl[ \E_4(\order[1]{u}, \order[1]{u}, \bullet, \bullet) + \E_3(\order[2]{u}, \bullet, \bullet) \\ &+ 2\order[1]{\lambda} \, \dot{\E}_3(\order[1]{u}, \bullet, \bullet) + (\order[1]{\lambda})^2 \, \ddot{\E}_2(\bullet, \bullet) + \order[2]{\lambda} \, \dot{\E}_2(\bullet, \bullet)\bigr]. \end{aligned} \tag{6.2}\]
As in Chapter 5, \(\lambda\) and \(u^\star\) are defined as asymptotic expansions of the powers of \(\eta\).
= η * λ1 + η**2 / 2 * λ2 + η**3 / 6 * λ3 + η**4 / 24 * λ4 + O(η**5)
λ = create_u_star(λ) u_star
Code
r"\lambda(\eta)", λ)
display_latex_equation(r"u^\star(\eta)", u_star, terms_per_line=5) display_latex_long_equation(
\(\displaystyle \lambda(\eta)=\eta {\order[1]{\lambda}} + \frac{\eta^{2} {\order[2]{\lambda}}}{2} + \frac{\eta^{3} {\order[3]{\lambda}}}{6} + \frac{\eta^{4} {\order[4]{\lambda}}}{24} + O\left(\eta^{5}\right)\)
\(\displaystyle \begin{aligned}u^\star(\eta)={} &\frac{\dddot{u}_0 \eta^{3} {\order[1]{\lambda}}^{3}}{6} + \frac{\ddot{u}_0 \eta^{2} {\order[1]{\lambda}}^{2}}{2} + \frac{\dot{u}_0 \eta^{3} {\order[3]{\lambda}}}{6} + \frac{\dot{u}_0 \eta^{2} {\order[2]{\lambda}}}{2} + \dot{u}_0 \eta {\order[1]{\lambda}}\\ &+\frac{\ddddot{u}_0 \eta^{4} {\order[1]{\lambda}}^{4}}{24} + \frac{\dddot{u}_0 \eta^{4} {\order[1]{\lambda}}^{2} {\order[2]{\lambda}}}{4} + \frac{\ddot{u}_0 \eta^{4} {\order[2]{\lambda}}^{2}}{8} + \frac{\ddot{u}_0 \eta^{3} {\order[1]{\lambda}} {\order[2]{\lambda}}}{2} + \frac{\dot{u}_0 \eta^{4} {\order[4]{\lambda}}}{24}\\ &+\frac{\ddot{u}_0 \eta^{4} {\order[1]{\lambda}} {\order[3]{\lambda}}}{6} + O\left(\eta^{5}\right)\end{aligned}\)
The bifurcated branch \(u(\eta)\) is also expanded. Moreover, the second-order term, \(\order[2]{u}\) is expressed as the orthogonal decomposition
\[ \order[2]{u} = \order[2]{u}_V + \order[2]{u}_W, \quad \text{with} \quad \order[2]{u}_V \in V \quad \text{and} \quad \order[2]{u}_W \in W. \]
It was in fact shown in Chapter 5 that
\[ \order[2]{u}_W = \order[1]{\xi}_i \, \order[1]{\xi}_j \, w_{ij} + 2 \order[1]{\lambda} \, \order[1]{\xi}_i \, w_i, \]
while \(\order[2]{u}_V\) is expanded as follows:
\[ \order[2]{u}_V = \order[2]{\xi}_i \, v_i. \]
= expand(u_star + η * u1 + η**2 / 2 * (u2_V + u2_W)
u + η**3 / 6 * u3 + η**4 / 24 * u4)
Code
r"u(\eta)", u, terms_per_line=5) display_latex_long_equation(
\(\displaystyle \begin{aligned}u(\eta)={} &\frac{\eta^{4} {\order[4]{u}}}{24} + \frac{\eta^{3} {\order[3]{u}}}{6} + \frac{\eta^{2} {\order[2]{u}_V}}{2} + \frac{\eta^{2} {\order[2]{u}_W}}{2} + \eta {\order[1]{u}}\\ &+\frac{\dddot{u}_0 \eta^{3} {\order[1]{\lambda}}^{3}}{6} + \frac{\ddot{u}_0 \eta^{2} {\order[1]{\lambda}}^{2}}{2} + \frac{\dot{u}_0 \eta^{3} {\order[3]{\lambda}}}{6} + \frac{\dot{u}_0 \eta^{2} {\order[2]{\lambda}}}{2} + \dot{u}_0 \eta {\order[1]{\lambda}}\\ &+\frac{\ddddot{u}_0 \eta^{4} {\order[1]{\lambda}}^{4}}{24} + \frac{\dddot{u}_0 \eta^{4} {\order[1]{\lambda}}^{2} {\order[2]{\lambda}}}{4} + \frac{\ddot{u}_0 \eta^{4} {\order[2]{\lambda}}^{2}}{8} + \frac{\ddot{u}_0 \eta^{3} {\order[1]{\lambda}} {\order[2]{\lambda}}}{2} + \frac{\dot{u}_0 \eta^{4} {\order[4]{\lambda}}}{24}\\ &+\frac{\ddot{u}_0 \eta^{4} {\order[1]{\lambda}} {\order[3]{\lambda}}}{6} + O\left(\eta^{5}\right)\end{aligned}\)
6.1 Asymptotic expansion of the energy
We expand the following quantity at the critical point
\[ \Delta\E(\eta) = \E[u(\eta), \lambda(\eta)] - \E[u^\ast \circ \lambda(\eta), \lambda(\eta)], \]
where \(\eta\) is the parametrization of the bifurcated branch introduced in Chapter 5 (\(\eta = 0\) at the critical point).
The asymptotic expansion of \(\Delta\E\) results from plugging the expansions of \(\lambda(\eta)\) and \(u(\eta)\) defined above into the general expression of the energy that was derived in Chapter 4.
We then use these expansions to evaluate the energy along the fundamental and bifurcated branches, as well as the difference \(\Delta\E\) of these two quantities. The resulting expressions are too long to be displayed. We first apply some elementary simplifications.
= (create_E(u, λ) - create_E(u_star, λ)).expand().subs({
ΔE * u1 : 0,
E2 * u2_V : 0
E2 })
assert ΔE.coeff(η, 0) == 0
assert ΔE.coeff(η, 1) == 0
assert ΔE.coeff(η, 2) == 0
Simplification of the third- and fourth- order terms is performed below, first observing that, for all \(v \in V\)
\[ \E_3(\order[1]{u}, \order[1]{u}, v) = -2\order[1]{\lambda} \, \dot{\E}_2(\order[1]{u}, v). \tag{6.3}\]
= {
d * u1 * u1 * u1 : -2 * λ1 * E2_dot * u1 * u1,
E3 * u1 * u1 * u2_V : -2 * λ1 * E2_dot * u1 * u2_V,
E3
}
= ΔE.subs(d).expand() ΔE
The subsequent simplifications rely heavily on definitions (2.5) and (2.4) of \(w_{ij}\) and \(w_{i}\), definitions (2.6), (2.7), (2.8), (2.9) and (2.10) of \(\dot{E}_{ij}\), \(\ddot{E}_{ij}\), \(E_{ijk}\), \(\dot{E}_{ijk}\) and \(E_{ijkl}\). Finally, expressions (5.3) of \(\order[1]{u}\) and \(\order[2]{u}\) are used.
\[ \begin{aligned}[b] \E_2(\order[2]{u}_W, \order[2]{u}_W) ={}& \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \order[1]{\xi}_l \, \E_2(w_{ij}, w_{kl}) + 4 \, \order[1]{\lambda} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \E_2(w_{ij}, w_{k})\\ &+ 4 \bigl( \order[1]{\lambda} \bigr)^2 \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \E_2(w_{i}, w_{j})\\ ={}& \tfrac{1}{3} \, \bigl[ \E_4(\order[1]{u}, \order[1]{u}, \order[1]{u}, \order[1]{u}) - E_{ijkl} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \order[1]{\xi}_l \bigr]\\ &+ \tfrac{4}{3} \order[1]{\lambda} \, \bigl[ \dot{\E}_3(\order[1]{u}, \order[1]{u}, \order[1]{u}) - \dot{E}_{ijk} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \bigr]\\ &+ 2 \bigl( \order[1]{\lambda} \bigr)^2 \, \bigl[ \ddot{\E}_2(\order[1]{u}, \order[1]{u}) - \ddot{E}_{ij} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \bigr] \end{aligned} \tag{6.4}\]
= ((E4 * u1 * u1 * u1 * u1
expr - E[i, j, k, l] * ξ1[i] * ξ1[j] * ξ1[k] * ξ1[l]) / 3
+ 4 * λ1 / 3 * (E3_dot * u1 * u1 * u1
- E_dot[i, j, k] * ξ1[i] * ξ1[j] * ξ1[k])
+ 2 * λ1**2 * (E2_ddot * u1 * u1
- E_ddot[i, j] * ξ1[i] * ξ1[j]))
= ΔE.subs(E2 * u2_W * u2_W, expr).expand() ΔE
\[ \begin{aligned}[b] \dot{\E}_2(\order[1]{u}, \order[2]{u}_W) ={}& \tfrac{1}{3} \bigl[ \dot{E}_{ijk} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k - \dot{\E}_3(\order[1]{u}, \order[1]{u}, \order[1]{u}) \bigr]\\ &+ \order[1]{\lambda} \, \bigl[\ddot{E}_{ij} \, \order[1]{\xi}_i \, \order[1]{\xi}_j - \ddot{\E}_2(\order[1]{u}, \order[1]{u}) \bigr] \end{aligned} \]
= ((E_dot[i, j, k] * ξ1[i] * ξ1[j] * ξ1[k]
expr - E3_dot * u1 * u1 * u1) / 3
+ λ1 * (E_ddot[i, j] * ξ1[i] * ξ1[j]
- E2_ddot * u1 * u1))
= ΔE.subs(E2_dot * u1 * u2_W, expr).expand() ΔE
\[ \begin{aligned}[b] \E_3(\order[1]{u}, \order[1]{u}, \order[2]{u}_W) ={}& \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \order[1]{\xi}_l \, \E_3(v_i, v_j, w_{kl}) + 2\order[1]{\lambda} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \E_3(v_i, v_j, w_{k\lambda})\\ ={}& \tfrac{1}{3} \bigl[ E_{ijkl} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \order[1]{\xi}_l - \E_4(\order[1]{u}, \order[1]{u}, \order[1]{u}, \order[1]{u})\bigr]\\ & + \tfrac{2}{3} \order[1]{\lambda} \, \bigl[ \dot{E}_{ijk} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k - \dot{\E}_3(\order[1]{u}, \order[1]{u}, \order[1]{u}) \bigr] \end{aligned} \]
= ((E[i, j, k, l] * ξ1[i] * ξ1[j] * ξ1[k] * ξ1[l]
expr - E4 * u1 * u1 * u1 * u1) / 3
+ 2 * λ1 / 3 * (E_dot[i, j, k] * ξ1[i] * ξ1[j] * ξ1[k]
- E3_dot * u1 * u1 * u1))
= ΔE.subs(E3 * u1 * u1 * u2_W, expr).expand() ΔE
The energy difference \(\Delta\E\) is finally reordered as follows \[ \Delta\E = \tfrac{1}{6} \eta^3 \, \Delta\order[3]{\E} + \tfrac{1}{24} \eta^4 \, \Delta\order[4]{\E}, \]
with
\[ \Delta\order[3]{\E} = \order[1]{\lambda} \, \dot{\E}_2(\order[1]{u}, \order[1]{u}) = \order[1]{\lambda} \, \dot{E}_{ij} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \]
and
\[ \begin{aligned}[b] \order[4]{\Delta\E} ={} & E_{ijkl} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k \, \order[1]{\xi}_l + 4\order[1]{\lambda} \, \dot{E}_{ijk} \, \order[1]{\xi}_i \, \order[1]{\xi}_j \, \order[1]{\xi}_k\\ &+ 6 \bigl[ \bigl( \order[1]{\lambda} \bigr)^2 \, \ddot{E}_{ij} + \order[2]{\lambda} \, \dot{E}_{ij} \bigr] \, \order[1]{\xi}_i \, \order[1]{\xi}_j. \end{aligned} \tag{6.5}\]
and the asymptotic expansion (6.1) is retrieved.
= expand(6 * ΔE.coeff(η, 3))
ΔE3 = expand(24 * ΔE.coeff(η, 4)) ΔE4
Code
"\order[3]{\Delta\E}", ΔE3)
display_latex_equation("\order[4]{\Delta\E}", ΔE4)
display_latex_equation(
assert ΔE3 == λ1 * E2_dot * u1 * u1
= (E[i, j, k, l] * ξ1[i] * ξ1[j] * ξ1[k] * ξ1[l]
expected + 4 * λ1 * E_dot[i, j, k] * ξ1[i] * ξ1[j] * ξ1[k]
+ 6 * (λ1**2 * E_ddot[i, j] * ξ1[i] * ξ1[j]
+ λ2 * E2_dot * u1 * u1)).expand()
assert ΔE4 == expected
\(\displaystyle \order[3]{\Delta\E}=\dot{\E}_2 {\order[1]{\lambda}} {\order[1]{u}}^{2}\)
\(\displaystyle \order[4]{\Delta\E}=6 \dot{\E}_2 {\order[1]{u}}^{2} {\order[2]{\lambda}} + 6 {\order[1]{\lambda}}^{2} {\ddot{E}}_{i,j} {{\order[1]{\xi}}}_{i} {{\order[1]{\xi}}}_{j} + 4 {\order[1]{\lambda}} {\dot{E}}_{i,j,k} {{\order[1]{\xi}}}_{i} {{\order[1]{\xi}}}_{j} {{\order[1]{\xi}}}_{k} + {E}_{i,j,k,l} {{\order[1]{\xi}}}_{i} {{\order[1]{\xi}}}_{j} {{\order[1]{\xi}}}_{k} {{\order[1]{\xi}}}_{l}\)
6.2 Asymptotic expansion of the hessian of the energy
We now turn to the hessian of the energy, which is expanded to second order in \(\eta\)
\[ \E_{, uu}[u(\eta), \lambda(\eta)] = \order[0]{\mathcal{H}} + \eta \, \order[1]{\mathcal{H}} + \tfrac{1}{2} \eta^2 \, \order[2]{\mathcal{H}} \]
= create_E_uu(u, λ).expand() + O(η**3) E_uu
= E_uu.coeff(η, 0)
H0 = E_uu.coeff(η, 1)
H1 = expand(2 * E_uu.coeff(η, 2)) H2
= {
d r"\order[0]{\mathcal{H}}": H0,
r"\order[1]{\mathcal{H}}": H1,
r"\order[2]{\mathcal{H}}": H2,
}
=1) display_latex_dict(d, num_cols
\(\displaystyle \begin{aligned}\order[0]{\mathcal{H}}&=\E_{2}\\\order[1]{\mathcal{H}}&=\E_{3} {\order[1]{u}} + \dot{\E}_2 {\order[1]{\lambda}}\\\order[2]{\mathcal{H}}&=\E_{3} {\order[2]{u}_V} + \E_{3} {\order[2]{u}_W} + \E_{4} {\order[1]{u}}^{2} + \ddot{\E}_2 {\order[1]{\lambda}}^{2} + \dot{\E}_2 {\order[2]{\lambda}} + 2 \dot{\E}_3 {\order[1]{\lambda}} {\order[1]{u}}\\\end{aligned}\)
Code
assert H0 == E2
assert H1 == E3 * u1 + λ1 * E2_dot
= (E4 * u1 * u1
expected + E3 * u2_V
+ E3 * u2_W
+ 2 * λ1 * E3_dot * u1
+ λ1**2 * E2_ddot
+ λ2 * E2_dot)
assert H2 == expected
Using Eq. (5.3), the above expressions can be expanded as follows
\[ \order[0]{\mathcal{H}} = \E_2, \quad \order[1]{\mathcal{H}} = \order[1]{\xi}_i \, \E_3(v_i, \bullet, \bullet) + \order[1]{\lambda} \, \dot{\E}_2, \]
and
\[ \begin{aligned} \order[2]{\mathcal{H}} = {} & \order[1]{\xi}_i \, \order[1]{\xi}_j \, \E_4(v_i, v_j, \bullet, \bullet) + \order[2]{\xi}_i \, \E_3(v_i, \bullet, \bullet) \\ &+ \order[1]{\xi}_i \, \order[1]{\xi}_j \, \E_3(w_{ij}, \bullet, \bullet) + 2\order[1]{\lambda} \, \order[1]{\xi}_i \, \E_3(w_i, \bullet, \bullet)\\ &+ 2\order[1]{\lambda} \, \order[1]{\xi}_i \, \dot{\E}_3(v_i, \bullet, \bullet) + (\order[1]{\lambda})^2 \, \ddot{\E}_2(\bullet, \bullet) + \order[2]{\lambda} \, \dot{\E}_2(\bullet, \bullet), \end{aligned} \]
and Eq. (6.2) is retrieved.