I have a system of differential equations which contain a singular point. To avoid the singular point, I am expanding the coefficients and solutions in a power series around that point.
Due to the physical problem, these coefficients have expansions
$f_1(t) = \frac{n+1}{\Gamma_1 t}\left(1 - \frac{(3k^n)}{n+1} t^{n+1}\right)$
$f_2(t) = (3k^n)\left(1 +(n-3) t + \frac{2(3k^n)}{(n+1)(n+2)} t^{n+1}\right)$
$f_3(t) = \frac{A_s}{t}\left(1 - \frac{(3k^n)}{n+1} t^{n+1}\right)$
$f_4(t) = 1 - 3t + \frac{3k^n}{n+1} t^{n+1}$
which contain inverse powers, small powers, and powers at $n+1$, where $n$ is an exponent from the physical problem itself.
The solutions to the dif. eqs. are suspected to be a power series of the form
$y_i(t) = y_{i0} + y_{i1}t + \cdots + y_{in} t^n + y_{i,n+1} t^{n+1} + \cdots,$
where $y_i$ is one of the solutions.
I define all the functions as series expansions, I put them into the diff. eqs., and I try want to solve order-by-order using, for instance
SeriesCoefficient[ode1[l, t], {t, 0, -1}]==0
Mathematica won't handle that very well, but for good reason. Depending on the value of $n$, the powers $t^n, t^{n+1}$ might enter at any given order. So I try to help Mathematica out by letting it know that $n>1$, so that powers of $n$ or higher can be ignored at this order. So I write
Refine[SeriesCoefficient[ode1[l, t], {t, 0, -1}], n >= 1] == 0
However, Mathematica still isn't happy and still won't produce a result, even though it should now know to ignore powers $t^n$ or higher.
Trying instead
Refine[SeriesCoefficient[ode1[l, t], {t, 0, -1}], n ==2] == 0
works. It produces a result at the correct order and without $t^n$ terms. The problem with this is that $n$ also enters at the coefficient-level, and I don't want a "2" in the answer it gives, but "n".
How can I use Refine
with Series
and SeriesCoefficient
to let Mathematica know that a variable power $n$ is larger than some value so can be left out of low-order results?
To help you help me, below are code snippets
(*coefficient functions*)
r[t_] := R (1 - t);
f1[t_] := (n + 1)/(G t) (1 - (3 k^n)/(n + 1) t^(n + 1));
f2[t_] := (3 k^n) t^n (1 - (3 - n) t + (2 (3 k^n))/((n + 1) (n + 2)) t^(n + 1));
f3[t_] := (n - (n + 1)/G)/t (1 - (3 k^n)/(n + 1) t^(n + 1));
f4[t_] := 1 - 3 t + (3 k^n)/(n + 1) t^(n + 1);
(*solutions*)
y1[t_] := W[0] + W[1] t + W[n] t^n + W[n + 1] t^(n + 1) + W[2 n + 1] t^(2 n + 1);
y2[t_] := X[0] + X[1] t + X[n] t^n + X[n + 1] t^(n + 1) + X[2 n + 1] t^(2 n + 1);
y3[t_] := Y[0] + Y[1] t + Y[n] t^n + Y[n + 1] t^(n + 1) + Y[2 n + 1] t^(2 n + 1);
y4[t_] := Z[0] + Z[1] t + Z[n] t^n + Z[n + 1] t^(n + 1) + Z[2 n + 1] t^(2 n + 1);
(*the first ode*)
ode1[l_, t_] := -(r[t]/R) D[y1[t], t]*(-1) +(f1[t] - (l + 1)) y1[t] + (l (l + 1)/(f4[t]*w^2) - f1[t]) y2[t] + f1[t] y3[t];