これはLindstedtコードで最初のパスです。 摂動方程式上の初期条件が i>0に対して z[i]=0, z'[i]=0で、 入力した初期条件―(%k1と%k2だけでなく)任意の定数があり得ます―で問題を解くことができます。 icは初期条件のリストです。
初期条件が与えられない時、 摂動方程式の中の定数がゼロ次方程式解と同じなので、問題が起こります。 また、Van der Pol方程式のように、摂動方程式の初期条件がi>0に対して z[i]=0, z'[i]=0でない時、問題が起こります。
例:
(%i1) load("makeOrders")$
(%i2) load("lindstedt")$
(%i3) Lindstedt('diff(x,t,2)+x-(e*x^3)/6,e,2,[1,0]);
          2
         e  (cos(5 T) - 24 cos(3 T) + 23 cos(T))
(%o3) [[[---------------------------------------
                          36864
   e (cos(3 T) - cos(T))
 - --------------------- + cos(T)],
            192
          2
       7 e    e
T = (- ---- - -- + 1) t]]
       3072   16
この関数を使うには、最初にload("makeOrders")とload("lindstedt")を書いてください。