# RegularSetDecompositionPackage(R, E, V, P, TS)ΒΆ

A package providing a new algorithm for solving polynomial systems by means of regular chains. Two ways of solving are proposed: in the sense of Zariski closure (like in Kalkbrener`'s` algorithm) or in the sense of the regular zeros (like in Wu, Wang or Lazard methods). This algorithm is valid for nay type of regular set. It does not care about the way a polynomial is added in an regular set, or how two quasi-components are compared (by an inclusion-test), or how the invertibility test is made in the tower of simple extensions associated with a regular set. These operations are realized respectively by the domain `TS` and the packages QCMPACK(`R`, `E`, `V`, `P`, `TS`) and RSETGCD(`R`, `E`, `V`, `P`, `TS`). The same way it does not care about the way univariate polynomial `gcd` (with coefficients in the tower of simple extensions associated with a regular set) are computed. The only requirement is that these `gcd` need to have invertible initials (normalized or not). WARNING. There is no need for a user to call diectly any operation of this package since they can be accessed by the domain `TS`. Thus, the operations of this package are not documented.

algebraicDecompose: (P, TS, Boolean) -> Record(done: List TS, todo: List Record(val: List P, tower: TS))

convert: Record(val: List P, tower: TS) -> String

decompose: (List P, List TS, Boolean, Boolean) -> List TS

decompose: (List P, List TS, Boolean, Boolean, Boolean, Boolean, Boolean) -> List TS

internalDecompose: (P, TS) -> Record(done: List TS, todo: List Record(val: List P, tower: TS))

internalDecompose: (P, TS, NonNegativeInteger) -> Record(done: List TS, todo: List Record(val: List P, tower: TS))

internalDecompose: (P, TS, NonNegativeInteger, Boolean) -> Record(done: List TS, todo: List Record(val: List P, tower: TS))

KrullNumber: (List P, List TS) -> NonNegativeInteger

numberOfVariables: (List P, List TS) -> NonNegativeInteger

printInfo: (List Record(val: List P, tower: TS), NonNegativeInteger) -> Void

transcendentalDecompose: (P, TS) -> Record(done: List TS, todo: List Record(val: List P, tower: TS))

transcendentalDecompose: (P, TS, NonNegativeInteger) -> Record(done: List TS, todo: List Record(val: List P, tower: TS))

upDateBranches: (List P, List TS, List Record(val: List P, tower: TS), Record(done: List TS, todo: List Record(val: List P, tower: TS)), NonNegativeInteger) -> List Record(val: List P, tower: TS)