Równania - przykład Matwiejew

1973 days ago by Henryk

A = matrix(SR,[[2,-1],[1,2]]) # to jest macierz z Matwiejewa t = var('t') # szukamy rozwiązania x(y),y(t) x = function('x',t) y = function('y',t) C_1 = var('C_1') C_2 = var('C_2') A 
       
[ 2 -1]
[ 1  2]
S = matrix(SR,[[-I,I],[1,1]]); S 
       
[-I  I]
[ 1  1]
S_inverse = S.inverse(); S_inverse 
       
[ 1/2*I    1/2]
[-1/2*I    1/2]
D = S_inverse*A*S; D 
       
[-I + 2      0]
[     0  I + 2]
D_1 = matrix(SR,[[exp(t*(-I+2)),0],[0,exp(t*(I+2))]]); D_1; (matrix(SR,[[C_1,C_2]])*S*D_1*S_inverse) 
       
[e^(-(I - 2)*t)              0]
[             0  e^((I + 2)*t)]
[1/2*I*(-I*C_1 + C_2)*e^(-(I - 2)*t) - 1/2*I*(I*C_1 + C_2)*e^((I +
2)*t)     1/2*(-I*C_1 + C_2)*e^(-(I - 2)*t) + 1/2*(I*C_1 +
C_2)*e^((I + 2)*t)]
x = 1/2*I*(-I*C_1 + C_2)*e^(-(I - 2)*t) - 1/2*I*(I*C_1 + C_2)*e^((I + 2)*t) y = 1/2*(-I*C_1 + C_2)*e^(-(I - 2)*t) + 1/2*(I*C_1 + C_2)*e^((I + 2)*t) 
       
# uwaga, w tym przykładzie, trzeba wstawić wyliczona wielkość x to wolframalpha, # żeby się upewnić, że dziala, gdyż sage nie umie uprościć tego wyrażenia print (derivative(x,t)-2*x-y).simplify() print (derivative(y,t)+x-2*y).simplify() 
       
1/2*(-I*C_1 - C_2)*e^((I + 2)*t) + 1/2*(I*C_1 - C_2)*e^(-(I - 2)*t)
+ 1/2*I*(C_1 - I*C_2)*e^((I + 2)*t) - 1/2*I*(C_1 + I*C_2)*e^(-(I -
2)*t)
-1/2*I*(-I*C_1 - C_2)*e^((I + 2)*t) + 1/2*I*(I*C_1 - C_2)*e^(-(I -
2)*t) + 1/2*(C_1 - I*C_2)*e^((I + 2)*t) + 1/2*(C_1 + I*C_2)*e^(-(I -
2)*t)
x = C_2*e^(2*t)*sin(t)+C_1*e^(2*t)*cos(t) y = C_2*e^(2*t)*cos(t)-C_1*e^(2*t)*sin(t) 
       
(derivative(x,t)-2*x-y) 
       
0