The Satellite
package contains Maple procedures to determine satellite and linearly satellite
unknowns in linear differential systems. Procedures for satellite unknowns recognizing implement
partial algorithms, so they cannot be applied to all differential systems and thus they solve the
problem in some cases. In other cases they do not give any answer (nor positive, nor negative).
We consider a differential system S of the form
y'=Ay or Ary(r)+Ar-1y(r-1)+ … +A1y'+A0y=0
where A, A0, …, Ar are n x
n matrices over K=Q(x),
y=(y1,…,yn)T is a vector of unknowns.
We assume that some unknowns (entries of the vector y) are selected.
Denote the set of selected unknowns by s.
Definition. An unselected unknown yj is called a satellite unknown for the set of selected unknowns s in S if minimal subfield of a Picard–Vessio field over K for S, that contains all selected components of all solutions to S, also contains the yj component of any solution.
Definition. The unselected unknown yj is called a linearly satellite unknown for the set of selected unknowns s in S if the j-th component of any solution to S can be linearly expressed only via selected components of this solution and their derivatives.
The Satellite
package exports the following procedures:
Testing
;Determination
;LinSatTesting
;LinearlySatellite
.
Testing(A, s, v)
A
— square matrix of the normal differential system y'=Ays
— set of positive integers — indices of selected unknownsv
— positive integer - index of the testing unknown
Testing
procedure determines whether the unknown of index
v
(yv
)
of differential system y'=Ay is a satellite
for the set of selected unknowns s.
Testing
is an implementation of partial algorithm
and so it returns “true” if it is able to determine that
yv
is a satellite;
otherwise it returns “FAIL”. It also
returns “FAIL” in a case when
yv
is a satellite for s
but the partial algorithm cannot determine this.
Testing
procedure cannot determine
if yv
is not a satellite.
Determination(M, s)
M
— square matrix of the normal differential system y'=Ay or a list of high-order differential system matricess
— set of positive integers — indices of selected unknowns
Determination
procedure is based on Testing
procedure
and intended to determine the set of satellite unknowns for a given
system and a fixed set of selected unknowns.
It builds a partition of the set of unselected unknown indices that contains three parts:
Testing
algorithm cannot determine if they are satellite;
LinSatTesting(A, s, v)
LinSatTesting(A, s, v, 'B')
LinSatTesting
procedure determines whether the unknown of index v (yv) of differential system
y'=Ay is linearly satellite for the set of selected unknowns s.
LinSatTesting
returns «true» if yv is linearly satellite for selected unknowns s;
otherwise it returns «false». The entries of B matrix can be used as coefficients of linear expression for yv via selected unknowns and their derivatives.
LinearlySatellite(A, s)
LinearlySatellite
procedure builds and returns the set of linearly satellite unknown indices for the set of
selected unknowns s.
sat.mpl — the Maple code of the package
sat_sample.pdf — the pdf copy of Maple session with examples