I have a second order differential equation that I'm trying to find a particular solution for. I know I can just solve it using desolve
, but I'd like to write out the steps, since I have to show it to my professor.
I've written the following linear differential operator:
# `t` is defined globally using SR.var def L(f: Expression) -> Expression: return f.diff(t).diff(t) - f.diff(t) - 6*f
Which is used to represent this differential equation:
f(t) = 4*t + 1 # `y` is a globally defined unknown function of `t` deq = L(y) == f(t)
And I know the answer is _K1*e^(3*t) + _K2*e^(-2*t) - 2/3*t - 1/18
. The particular solution to this equation is solved by guessing some Y(t)
and solving for the coefficients using f(t)
, which I've tried to represent in Sage in the following way:
# `A` and `B` are globally defined variables using SR.var Y(t) = A*t + B solve(L(Y) == f(t), A, B)
Which ends up giving a parametric answer [A == r2, B == -1/3*(3*r2 + 2)*t - 1/6*r2 - 1/6]
. I know that the actual answer is supposed to be [A == -2/3, B == -1/18]
. Is there a function in Sage that I'm missing? I'm fairly new to Sage, maybe there's something I haven't read in the docs yet?