DEtools
matrix_riccati
solve a Matrix Riccati differential equation
Calling Sequence
Parameters
Description
Examples
matrix_riccati(A, K, Z0, t)
matrix_riccati(A, K, Z0, t=t0)
matrix_riccati(A, K, t)
matrix_riccati(A, K, t=t0)
A, K
-
Matrix coefficients of the Riccati Matrix Equation
Z0
Matrix representing the initial conditions for t=t0
t
independent variable
t0
position of initial conditions
The Matrix Riccati differential equation is
Z⁢' ⁡t=Z⁡t·A⁡t·Z⁡t+Z⁡t·K⁡t+transpose⁡K⁡t·Z⁡t
with
Z⁡t0=Z0
where Z,A,K, and Z0 are n by n matrices. matrix_riccati returns the solution, Z.
The command with(DEtools,matrix_riccati) allows the use of the abbreviated form of this command.
with⁡DEtools:
The unknowns are x⁡t,y⁡t
Z≔Matrix⁡x⁡t,y⁡t,y⁡t,−x⁡t
Z≔x⁡ty⁡ty⁡t−x⁡t
A simple example would be
A≔Matrix⁡−t,1,1,t
A≔−t11t
K≔Matrix⁡c,0,0,c
K≔c00c
The matrix with the initial values x⁡t0 and y⁡t0 is
Z0≔Matrix⁡_C1,_C2,_C2,−_C1
Z0≔_C1_C2_C2−_C1
The system of equations represented by these matrices is thus
sys≔map⁡diff,Z,t=Z·A·Z+Z·K+K%T·Z
sys≔ⅆⅆtx⁡tⅆⅆty⁡tⅆⅆty⁡t−ⅆⅆtx⁡t=−x⁡t⁢t+y⁡t⁢x⁡t+x⁡t+y⁡t⁢t⁢y⁡t+2⁢x⁡t⁢c−x⁡t⁢t+y⁡t⁢y⁡t−x⁡t+y⁡t⁢t⁢x⁡t+2⁢y⁡t⁢c−y⁡t⁢t−x⁡t⁢x⁡t+−x⁡t⁢t+y⁡t⁢y⁡t+2⁢y⁡t⁢c−y⁡t⁢t−x⁡t⁢y⁡t−−x⁡t⁢t+y⁡t⁢x⁡t−2⁢x⁡t⁢c
The two coupled odes are
ode1≔lhs⁡sys1,1=rhs⁡sys1,1
ode1≔ⅆⅆtx⁡t=−x⁡t⁢t+y⁡t⁢x⁡t+x⁡t+y⁡t⁢t⁢y⁡t+2⁢x⁡t⁢c
ode2≔lhs⁡sys1,2=rhs⁡sys1,2
ode2≔ⅆⅆty⁡t=−x⁡t⁢t+y⁡t⁢y⁡t−x⁡t+y⁡t⁢t⁢x⁡t+2⁢y⁡t⁢c
The matrix solution to this matrix system of equations with initial conditions Z0 at t0=0 is computed as:
matrix_sol≔matrix_riccati⁡A,K,Z0,t=0:
Recalling the form of Z, the solution to the system of odes is constructed from matrix_sol as
sol≔x⁡t=matrix_sol1,1,y⁡t=matrix_sol1,2
sol≔x⁡t=4⁢ⅇt⁢c2⁢c2⁢2⁢ⅇ2⁢t⁢c⁢_C12⁢c⁢t+2⁢ⅇ2⁢t⁢c⁢_C22⁢c⁢t−ⅇ2⁢t⁢c⁢_C12−ⅇ2⁢t⁢c⁢_C22+4⁢_C1⁢c2+_C12+_C224⁢ⅇ2⁢t⁢c2⁢_C12⁢c2⁢t2+4⁢ⅇ2⁢t⁢c2⁢_C22⁢c2⁢t2+4⁢ⅇ2⁢t⁢c2⁢_C12⁢c2−4⁢ⅇ2⁢t⁢c2⁢_C12⁢c⁢t+4⁢ⅇ2⁢t⁢c2⁢_C22⁢c2−4⁢ⅇ2⁢t⁢c2⁢_C22⁢c⁢t+16⁢ⅇ2⁢t⁢c⁢_C1⁢c3⁢t−8⁢ⅇ2⁢t⁢c⁢_C12⁢c2+4⁢ⅇ2⁢t⁢c⁢_C12⁢c⁢t−8⁢ⅇ2⁢t⁢c⁢_C22⁢c2+4⁢ⅇ2⁢t⁢c⁢_C22⁢c⁢t−16⁢ⅇ2⁢t⁢c⁢_C2⁢c3+ⅇ2⁢t⁢c2⁢_C12+ⅇ2⁢t⁢c2⁢_C22−8⁢ⅇ2⁢t⁢c⁢_C1⁢c2+4⁢_C12⁢c2+4⁢_C22⁢c2+16⁢_C2⁢c3+16⁢c4−2⁢ⅇ2⁢t⁢c⁢_C12−2⁢ⅇ2⁢t⁢c⁢_C22+8⁢_C1⁢c2+_C12+_C22,y⁡t=−8⁢ⅇt⁢c2⁢c3⁢ⅇ2⁢t⁢c⁢_C12+ⅇ2⁢t⁢c⁢_C22−_C12−_C22−2⁢_C2⁢c4⁢ⅇ2⁢t⁢c2⁢_C12⁢c2⁢t2+4⁢ⅇ2⁢t⁢c2⁢_C22⁢c2⁢t2+4⁢ⅇ2⁢t⁢c2⁢_C12⁢c2−4⁢ⅇ2⁢t⁢c2⁢_C12⁢c⁢t+4⁢ⅇ2⁢t⁢c2⁢_C22⁢c2−4⁢ⅇ2⁢t⁢c2⁢_C22⁢c⁢t+16⁢ⅇ2⁢t⁢c⁢_C1⁢c3⁢t−8⁢ⅇ2⁢t⁢c⁢_C12⁢c2+4⁢ⅇ2⁢t⁢c⁢_C12⁢c⁢t−8⁢ⅇ2⁢t⁢c⁢_C22⁢c2+4⁢ⅇ2⁢t⁢c⁢_C22⁢c⁢t−16⁢ⅇ2⁢t⁢c⁢_C2⁢c3+ⅇ2⁢t⁢c2⁢_C12+ⅇ2⁢t⁢c2⁢_C22−8⁢ⅇ2⁢t⁢c⁢_C1⁢c2+4⁢_C12⁢c2+4⁢_C22⁢c2+16⁢_C2⁢c3+16⁢c4−2⁢ⅇ2⁢t⁢c⁢_C12−2⁢ⅇ2⁢t⁢c⁢_C22+8⁢_C1⁢c2+_C12+_C22
This result can be verified with odetest
odetest⁡sol,ode1,ode2
0,0
See Also
dsolve
odetest
riccati_system
riccatisol
Download Help Document