Hello everyone
I couldn't find a lot on the documentation about limitations to the RSolve functionality. In particular, I have a set of 4 simultaneous 1st-Order non-linear Difference equations and 4 initial conditions, but keep getting the message that one of my equations "appears with no arguments". Even when I take the equation and corresponding IC away, it just returns the same code I typed, but no solution.
Here's the code:
eqn1 = V1[t + 1] ==
(1/2)*((-(E1*(-1)^(t + 1) - E1 - 2)*(beta1*gamma2 + beta2*gamma1)*
Y1[t] - (-1 + (-1)^(t + 1))*(1 + E1)*(-beta1*gamma2 + beta2*gamma1)*
V1[t] - (1 + (-1)^(t + 1))*(-beta1*gamma2 + beta2*gamma1)*
V2[t] + beta2*(E1*(-1)^(t + 1) - E1 - 2)*
YT*((-1 + b)*gamma1 - beta1))*
X1[t] + (-gamma1 + beta1*(-1 + a))*
XT*(E1*(-1)^(t + 1) - E1 - 2)*Y1 (t)*gamma2)*
E1/((1 + E1)*(-beta2*gamma1*X1[t] + gamma2*XT*(-gamma1 + beta1*(-1 + a))));
eqn2 = V1[0] == 0;
eqn3 = V2[t + 1] ==
(1/ 2)*(((1 + (-1)^(t + 1))*(1 + E2)*(-beta1*gamma2 + beta2*gamma1)*
V2[t] - (E2*(-1)^(t + 1) + E2 + 2)*(beta1*gamma2 + beta2*gamma1)*
Y1[t] + (-1 + (-1)^(t + 1))*(-beta1*gamma2 + beta2*gamma1)*
V1[t] + YT*beta2*(E2*(-1)^(t + 1) + E2 + 2)*(b*gamma1 - beta1))*X1[t] +
XT*(-(1 + (-1)^(t + 1))*(1 + E2)*(-beta1*gamma2 + beta2*gamma1)*
V2[t] + gamma2*(E2*(-1)^(t + 1) + E2 + 2)*(a*beta1 - gamma1)*
Y1[t] - (-1 + (-1)^(t + 1))*(-beta1*gamma2 + beta2*gamma1)*
V1[t] - ((-gamma1 + beta1*(-1 + a))*gamma2 + beta2*((-1 + b)*gamma1 - beta1))*(E2*(-1)^(t + 1) + E2 + 2)*YT))*
E2/((1 + E2)*(-beta2*gamma1*X1[t] + gamma2*XT*(-gamma1 + beta1*(-1 + a)))) ;
eqn4 = V2[0] == 0;
eqn5 = X1[t + 1] ==
-(1/2)*(1 + (-1)^(2 + t))*beta1*(((beta1*gamma2 + beta2*gamma1)*X1[t] -
gamma2*XT*(-gamma1 + beta1*(-1 + a)))*Y1[t] -
X1[t]*(beta1*gamma2 - beta2*gamma1)*V1[t] -
beta2*(gamma1*V2[t + 1] + ((-1 + b)*gamma1 - beta1)*YT)*X1[t] +
gamma2*XT*(-gamma1 + beta1*(-1 + a))*
V2[t + 1])/((-beta1*gamma2*
Y1[t] + (beta1*gamma2 - beta2*gamma1)*V1[t] + beta2*((-1 + b)*gamma1 - beta1)*YT)*(beta1 + gamma1)) +
(1/2)*(((-beta1*gamma2 - beta2*gamma1)*X1[t] +
gamma2*XT*(-gamma1 + beta1*(-1 + a)))*Y1[t] -
X1[t]*(beta1*gamma2 - beta2*gamma1)*V2[t] +
beta2*(-gamma1*V1[t + 1] + ((-1 + b)*gamma1 - beta1)*YT)*X1[t] +
XT*(-gamma1 + beta1*(-1 + a))*V1[t + 1]*gamma2)*
beta1*((-1)^(t + 1) + 1)/((-beta1*gamma2*Y1[t] + (-beta1*gamma2 + beta2*gamma1)*
V2[t] + beta2*((-1 + b)*gamma1 - beta1)*YT)*(beta1 + gamma1));
eqn6 = X1[0] == a*XT;
eqn7 = Y1[t + 1] ==
-(1/2)*(((2*beta1*gamma2 + 2*beta2*gamma1)*
Y1[t] + ((-1)^(t + 1) - 1)*(beta1*gamma2 - beta2*gamma1)*
V1[t] + ((-1)^(t + 1) + 1)*(beta1*gamma2 - beta2*gamma1)*
V2[t] - (gamma1*(V1[t + 1] + V2[t + 1])*(-1)^(t + 1) + gamma1*V1[t + 1] -
gamma1*V2[t + 1] + (2*((-1 + b)*gamma1 - beta1))*YT)*beta2)*X1[t] + gamma2*(-gamma1 +
beta1*(-1 + a))*(-2*Y1[t] + (V1[t + 1] + V2[t + 1])*(-1)^(t + 1) + V1[t + 1] - V2[t + 1])*XT)*
gamma1/((-beta2*gamma1*X1 (t) + gamma2*XT*(-gamma1 + beta1*(-1 + a)))*(beta1 + gamma1));
eqn8 = Y1[0] == b*YT;
Followed by:
RSolve[{eqn1, eqn2, eqn3, eqn4, eqn5, eqn6, eqn7, eqn8}, {V1, V2, X1,Y1}, t]
To which I get "RSolve::dvnoarg: The function Y1 appears with no arguments."
Any thoughts are appreciated. Many thanks!