# Investing a system of series.

The problem is this, I have some expansion series.
$$t_1 = sum_ {n_1, n_2} a ^ {(1)} _ {n_1, n_2} x_1 ^ {n_1} x_2 ^ {n_2}, t_2 = sum_ {n_1, n_2} a ^ {(2) } _ {n_1, n_2} x_1 ^ {n_1} x_2 ^ {n_2}$$
and I want to express the variables $$x_1$$ Y $$x_2$$ in terms of the result of the sums $$t_1, t_2$$. that is, I want to find $$b ^ {(1)} _ {n_1, n_2}, b ^ {(2)} _ {n_1, n_2}$$ such that,
$$x_1 = sum_ {n_1, n_2} b ^ {(1)} _ {n_1, n_2} t_1 ^ {n_1} t_2 ^ {n_2}, x_2 = sum_ {n_1, n_2} b ^ {(2) } _ {n_1, n_2} t_1 ^ {n_1} t_2 ^ {n_2}$$.

If I had only one variable $$t = sum a_n x ^ n$$ `Reverse series` It will do the trick, but having several variables seems to make the problem more difficult.

You have to take into account a couple of comments: first, this is not possible, of course, for arbitrary series, but the series that I started as $$t_i = x_i + text {higher order}$$ and in the particular problem in question, I am sure that investment is possible. Secondly, the two variables are of the same order, that is, I want to take all the terms of the series with $$n_1 + n_2 leq N$$.

Now, what I have tried (I think it is not a very good solution, so feel free to ignore it): as Mathematics has a delicate behavior for several series of parameters (it seems that the only way to obtain is to use nested series), I introduce some parameter $$epsilon$$ Allowing me to control the expansion and the set. $$t_i a epsilon t_i, x_i a epsilon x_i$$. Then, already truncating, the series are.
$$t_i epsilon = sum_ {0 leq n_1, n_2 leq N} a ^ {(i)} n_1, n_2} ( epsilon x_1) ^ {n_1} ( epsilon x_2) ^ {n_2} + O[epsilon]^ {N + 1}$$
So, the only thing that occurred to me, was to make the expansion of $$x_i$$ as
$$x_i epsilon = sum_ {0 leq n_1, n_2 leq N} b ^ {(i)} _ {n_1, n_2} ( epsilon t_1) ^ {n_1} ( epsilon t_2) ^ {n_2} + O[epsilon]^ {N + 1}$$
and plug it into the original series, then use `Logical expansion` to match the resulting series to $$epsilon t_i$$. This gives me some equation for the $$b$$for which I can then use `Solve`.

There are two things that I do not like about this solution; First of all, it's too much work: I've been working with 1d systems (that is, only one $$t$$ and one $$x$$) Y `Reverse series` it works like an amulet, now in 2d systems it seems that an easy calculation became horribly complicated and I will have to considerably reduce the order of the series ($$N$$) to get results in a decent time. Also, I would like to go to higher dimensional systems ($$t_1, dots, t_n$$ Y $$x_1, dots, x_n$$) and it seems that things will get incredibly dirty. Second, the logical expansion is performed in this auxiliary parameter. $$epsilon$$ and not in monomials $$t_1 ^ {n_1} t_2 ^ {n_2}$$; This not only seems a terrible practice, but it also seems very likely that Mathematica at some point will give me some solution. $$b$$ as functions of t.

Here the program, I regret changing the notation, but I've been baffled for a while and I was running out of letters, I hope the previous explanation was clear. (Keep in mind that, in fact, it does not give a good result because it is solved for $$d1, d2$$ that should not be resolved). There you will also see the explicit values ​​of the series in $$N = 3$$.

``````In: = u1 = Exp[t1ser]

Outside= SeriesData[s, 0, {
x1, x1 (92 x1 - x2),
Rational[1, 2]
x1 ((92 x1 - x2) ^ 2 + 2 (
3812 x1 ^ 2 + 46 x1 x2 + rational[-3, 2] x2 ^ 2))}, 1, 4, 1]In: = u2 = Exp[t2ser]

Outside= SeriesData[s, 0, {
x2, x2 (46 x1 + 2 x2),
Rational[1, 2]
x2 ((46 x1 + 2 x2) ^ 2 + 2 (
Rational[9599, 2] x1 ^ 2 - 92 x1 x2 + 3 x2 ^ 2))}, 1, 4, 1]In: = try = {x1 ->
Sum[a[n1, n2] (s d1) ^ n1 (s d2) ^ n2, {n1, 0, M}, {n2, 0, M - n1}],
x2 -> Sum[
b[n1, n2] (s d1) ^ n1 (s d2) ^ n2, {n1, 0, M}, {n2, 0, M - n1}]}

Outside= {x1 ->
a[0, 0] + d2 s a[0, 1] + d2 ^ 2 s ^ 2 a[0, 2] + d1 s a[1, 0] +
d1 d2 s ^ 2 a[1, 1] + d1 ^ 2 s ^ 2 a[2, 0],
x2 -> b[0, 0] + d2 s b[0, 1] + d2 ^ 2 s ^ 2 b[0, 2] + d1 s b[1, 0] +
d1 d2 s ^ 2 b[1, 1] + d1 ^ 2 s ^ 2 b[2, 0]}

In: = var =
Flatten[Table[{a[n1, n2], b[n1, n2]}, {n1, 0, M}, {n2, 0, M - n1}]]Outside= {a[0, 0], b[0, 0], a[0, 1], b[0, 1], a[0, 2], b[0, 2],
a[1, 0], b[1, 0], a[1, 1], b[1, 1], a[2, 0], b[2, 0]}

In: = coef1 = LogicalExpand[d1 s == u1 /. try];
coef2 = Logical expansion[d2 s == u2 /. try];

In: = coef = Join[coef1, coef2]

Outside= -d1 + a[0, 0] == 0 &&
92 a[0, 0]^ 2 + d2 a[0, 1] + d1 a[1, 0] - a[0, 0] second[0, 0] == 0 &&
8044 a[0, 0]^ 3 + 184 d2 a[0, 0] a[0, 1] + d2 ^ 2 a[0, 2] +
184 d1 a[0, 0] a[1, 0] + d1 d2 a[1, 1] + d1 ^ 2 a[2, 0] -
46 a[0, 0]^ 2 b[0, 0] - d2 a[0, 1] second[0, 0] - d1 a[1, 0] second[0, 0] -
a[0, 0] second[0, 0]^ 2 - d2 a[0, 0] second[0, 1] - d1 a[0, 0] second[1, 0] ==
0 && -d2 + b[0, 0] == 0 &&
46 a[0, 0] second[0, 0] + 2 b[0, 0]^ 2 + d2 b[0, 1] + d1 b[1, 0] == 0 &&
11715/2 a[0, 0]^ 2 b[0, 0] + 46 d2 a[0, 1] second[0, 0] +
46 d1 a[1, 0] second[0, 0] + 5 b[0, 0]^ 3 + 46 d2 a[0, 0] second[0, 1] +
4 d2 b[0, 0] second[0, 1] + d2 ^ 2 b[0, 2] + 46 d1 a[0, 0] second[1, 0] +
4 d1 b[0, 0] second[1, 0] + d1 d2 b[1, 1] + d1 ^ 2 b[2, 0] == 0

In: = Solve[coef]

Outside= {{d1 -> 0, d2 -> 0, a[0, 0] -> 0,
second[0, 0] -> 0}, {d1 -> a[0, 0], d2 -> b[0, 0],
a[1, 0] -> (-92 to[0, 0]^ 2 + a[0, 0] second[0, 0] - a[0, 1] second[0, 0]) /
a[0, 0],
a[2, 0] -> (1 / (
a[0, 0]^ 2)) (8884 a[0, 0]^ 3 - 276 a[0, 0]^ 2 b[0, 0] -
a[0, 0] a[1, 1] second[0, 0] - a[0, 2] second[0, 0]^ 2),
second[1, 0] -> - ((b[0, 0] (46 a[0, 0] + 2 b[0, 0] + b[0, 1]))/a[0, 0])
second[2, 0] -> (1 / (2 a[0, 0]^ 2))
second[0, 0] (981 a[0, 0]^ 2 + 460 a[0, 0] second[0, 0] + 6 b[0, 0]^ 2 -
2 b[0, 0] second[0, 2] - 2 a[0, 0] second[1, 1])}, {d1 -> 0,
d2 -> b[0, 0], a[0, 0] -> 0, a[0, 1] -> 0, a[0, 2] -> 0,
second[0, 1] -> -2 b[0, 0], b[0, 2] -> 3 b[0, 0]}}
$$`` `$$
``````