I can successfully solve a linear system of ODEs describing chemical reactions by first using DSolveValue to find the general solution and then taking the limit to infinity to find the steady state solution.
ClearAll["Global`*"];
eqns = {
X'[t] == P - (k1 + k2) X[t] + A k1 X[t],
Y'[t] == k1 X[t] - A k1 X[t] - k3 Y[t],
X[0] == 0,
Y[0] == 0
}
s = Assuming[
k0 > 0 && k1 > 0 && k2 > 0 && k3 > 0 && P > 0 && A >= 0 && A < 1,
Limit[
DSolveValue[eqns,{X[t], Y[t]}, t], t -> \[Infinity]
]
]
This has the solution $$\left\{\frac{P}{-A \text{k1}+\text{k1}+\text{k2}},\frac{(A-1) \text{k1} P}{\text{k3} ((A-1) \text{k1}-\text{k2})}\right\}$$
Does mathematica provide a better/builtin way of doing this? For example by using eigenvalue method to find the steady solution directly?
{X,Y}
:In[4]:= equil = {P - (k1 + k2) xx + A k1 xx, k1 xx - A k1 xx - k3 yy}; Solve[equil == 0, {xx, yy}] Out[5]= {{xx -> -(P/(-k1 + A k1 - k2)), yy -> ((-k1 + A k1) P)/((-k1 + A k1 - k2) k3)}}
$\endgroup$