Table of Contents

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
*A _{r}y*

where *A*, *A _{0}*, …,

`x`

**Definition.**
An unselected unknown *y _{j}* is called a

**Definition.**
The unselected unknown *y _{j}* is called a

The `Satellite`

package exports the following procedures:

`Testing`

;`Determination`

;`LinSatTesting`

;`LinearlySatellite`

.

`Testing(A, s, v)`

`A`

— square matrix of the normal differential system*y*'=*Ay*`s`

— set of positive integers — indices of selected unknowns`v`

— positive integer - index of the testing unknown

`Testing`

procedure determines whether the unknown of index
`v`

(*y*_{v})
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
*y*_{v} is a satellite;
otherwise it returns “**FAIL**”. It also
returns “**FAIL**” in a case when
*y*_{v} is a satellite for *s*
but the partial algorithm cannot determine this.
`Testing`

procedure cannot determine
if *y*_{v} 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 matrices`s`

— 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:

- indices of unselected unknowns that are satellite for selected unknowns
*s*; - indices of unselected unknowns for which
`Testing`

algorithm cannot determine if they are satellite; - indices of unselected unknowns that are not satellite for sure.

`LinSatTesting(A, s, v)`

- A - square matrix of the normal differential system
*y'=Ay* - s - set of positive integers — indices of selected unknowns
- v - positive integer - index of the testing unknown

`LinSatTesting`

procedure determines whether the unknown of index v (*y _{v}*) of differential system

`LinSatTesting`

returns «true» if
`LinearlySatellite(A, s)`

- A — square matrix of the normal differential system
*y'=Ay*or a list of high-order differential system matrices - s — set of positive integers — indices of selected unknowns

`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