riccati system - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


DEtools

  

riccati_system

  

solve a system of Riccati differential equations or convert it into a matrix form

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

riccati_system(deqns, vars)

riccati_system(deqns, vars, matrix_only)

Parameters

deqns

-

set of riccati equations and/or initial conditions

vars

-

name or set of names to be solved for

matrix_only

-

indicator to convert into a matrix form without solving

Description

• 

riccati_system can find a closed-form solution for certain systems of riccati ODEs. A system of riccati ODEs of n variables is:

x1' t=P1x1t,...,xnt

...

xn' t=Pnx1t,...,xnt

  

with initial conditions

x1t0=c1..xnt0 = cn

  

where x1..xn are the unknown functions and P1..Pn are polynomials in x1..xn of second degree with function coefficients.

• 

To solve this system, riccati_system tries to convert it into a matrix equation,

Z' t=Zt·At·Zt+Zt·Kt+transposeKt·Zt

  

with

Zt0=Z0

  

where Z,A,K, and Z0 are n by n matrices. The user can request this matrix form instead of a full solution by using the 'matrix_only' option. In this case a sequence Z,A,K,Z0,t0 is returned.

• 

This function is part of the DEtools package, and so it can be used in the form riccati_system(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[riccati_system](..).

Examples

withDEtools:

Solve the system:

e1tyt2xt2+2xtyt+2cxt=diffxt,t

e1tyt2xt2+2xtyt+2cxt=ⅆⅆtxt

(1)

e2yt2xt2t2xtyt+2cyt=diffyt,t

e2yt2xt22txtyt+2cyt=ⅆⅆtyt

(2)

solriccati_systeme1,e2,x0=_C1,y0=_C2,xt,yt

solxt=4ⅇtc2c22ⅇ2tc_C12ct+2ⅇ2tc_C22ctⅇ2tc_C12ⅇ2tc_C22+4_C1c2+_C12+_C224ⅇ2tc2_C12c2t2+4ⅇ2tc2_C22c2t2+4ⅇ2tc2_C12c24ⅇ2tc2_C12ct+4ⅇ2tc2_C22c24ⅇ2tc2_C22ct+16ⅇ2tc_C1c3t8ⅇ2tc_C12c2+4ⅇ2tc_C12ct8ⅇ2tc_C22c2+4ⅇ2tc_C22ct16ⅇ2tc_C2c3+ⅇ2tc2_C12+ⅇ2tc2_C228ⅇ2tc_C1c2+4_C12c2+4_C22c2+16_C2c3+16c42ⅇ2tc_C122ⅇ2tc_C22+8_C1c2+_C12+_C22,yt=8ⅇtc2c3ⅇ2tc_C12+ⅇ2tc_C22_C12_C222_C2c4ⅇ2tc2_C12c2t2+4ⅇ2tc2_C22c2t2+4ⅇ2tc2_C12c24ⅇ2tc2_C12ct+4ⅇ2tc2_C22c24ⅇ2tc2_C22ct+16ⅇ2tc_C1c3t8ⅇ2tc_C12c2+4ⅇ2tc_C12ct8ⅇ2tc_C22c2+4ⅇ2tc_C22ct16ⅇ2tc_C2c3+ⅇ2tc2_C12+ⅇ2tc2_C228ⅇ2tc_C1c2+4_C12c2+4_C22c2+16_C2c3+16c42ⅇ2tc_C122ⅇ2tc_C22+8_C1c2+_C12+_C22

(3)

Verify the solution - see odetest

odetestsol,e1,e2

0,0

(4)

Get the matrix form:

Z,A,K,Z0,t0riccati_systeme1,e2,x0=_C1,y0=_C2,xt,yt,matrix_only

Z,A,K,Z0,t0xtytytxt,t11t,c00c,_C1_C2_C2_C1,0

(5)

Solve the matrix form (see matrix_riccati)

RSM_solmatrix_riccatiA,K,Z0,t=t0:

Recalling the form of the matrix Z, construct the solution from RSM_sol

solxt=RSM_sol1,1,yt=RSM_sol1,2

solxt=4ⅇtc2c22ⅇ2tc_C12ct+2ⅇ2tc_C22ctⅇ2tc_C12ⅇ2tc_C22+4_C1c2+_C12+_C224ⅇ2tc2_C12c2t2+4ⅇ2tc2_C22c2t2+4ⅇ2tc2_C12c24ⅇ2tc2_C12ct+4ⅇ2tc2_C22c24ⅇ2tc2_C22ct+16ⅇ2tc_C1c3t8ⅇ2tc_C12c2+4ⅇ2tc_C12ct8ⅇ2tc_C22c2+4ⅇ2tc_C22ct16ⅇ2tc_C2c3+ⅇ2tc2_C12+ⅇ2tc2_C228ⅇ2tc_C1c2+4_C12c2+4_C22c2+16_C2c3+16c42ⅇ2tc_C122ⅇ2tc_C22+8_C1c2+_C12+_C22,yt=8ⅇtc2c3ⅇ2tc_C12+ⅇ2tc_C22_C12_C222_C2c4ⅇ2tc2_C12c2t2+4ⅇ2tc2_C22c2t2+4ⅇ2tc2_C12c24ⅇ2tc2_C12ct+4ⅇ2tc2_C22c24ⅇ2tc2_C22ct+16ⅇ2tc_C1c3t8ⅇ2tc_C12c2+4ⅇ2tc_C12ct8ⅇ2tc_C22c2+4ⅇ2tc_C22ct16ⅇ2tc_C2c3+ⅇ2tc2_C12+ⅇ2tc2_C228ⅇ2tc_C1c2+4_C12c2+4_C22c2+16_C2c3+16c42ⅇ2tc_C122ⅇ2tc_C22+8_C1c2+_C12+_C22

(6)

Verify this solution:

odetestsol,e1,e2

0,0

(7)

See Also

DEtools

dsolve

matrix_riccati

odetest

riccatisol