Table of Contents

We consider the differential system of full rank of the form

*A*_{1}*y*' + *A*_{0}*y* = 0

where *A*_{1}, *A*_{0} are square matrices and *y* is unknown vector, some components of which are *selected*
(are of more interest to us then the other ones). The leading matrix *A*_{1} may be singular (i.e. the initial
system may be a differential-algebraic system).
The `Extract`

procedure builds a new normal differential system

*ỹ*' = *Aỹ*

for the part of unknowns *ỹ* ⊂ *y*. If some selected unknowns are not the part of *ỹ*
then additionally Extract procedure builds an algebraic system of special form where every
equation is an expression of some selected unknown that is not the part of the *ỹ*
only via the selected unknowns from *ỹ*.

`Extract(A1, A0, ns, R)`

`A1`

- leading matrix of the system;

`A0`

- trailing matrix of the system;

`ns`

- set of positive integers - indices of the selected unknowns

`R`

- Ore algebra chosen by `OreTools:-SetOreRing`

function.

The output is `[A, ns1, T, ns2]`

, where
`A`

is the matrix of the normal differential system and
`ns1`

is the set of pairs, the first element of each is the index out of `ns`

and the second one is
the index of the same undetermined function in the normal differential system;
`T`

is a matrix of the algebraic system and `ns2`

is the set of pairs, the first element of each is the
index out of `ns`

and the second one is the number of algebraic equation (row of `T`

) to determine
the selected unknown with index from the first element.

extract.mpl - the Maple code of the procedure

extr_sample.pdf - the pdf copy of Maple session with example