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[83]: = u1 = Exp[t1ser]

Outside[83]= 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[84]: = u2 = Exp[t2ser]

Outside[84]= 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[95]: = 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[95]= {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[81]: = var =
Flatten[Table[{a[n1, n2], b[n1, n2]}, {n1, 0, M}, {n2, 0, M - n1}]]Outside[81]= {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[120]: = coef1 = LogicalExpand[d1 s == u1 /. try];
coef2 = Logical expansion[d2 s == u2 /. try];

In[122]: = coef = Join[coef1, coef2]

Outside[122]= -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[123]: = Solve[coef]

Outside[123]= {{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]}}
`` `