# Difference between revisions of "ApCoCoA-1:BB.BorderDivAlg"

(Key and see section update.) |
(Types section update.) |
||

Line 50: | Line 50: | ||

</example> | </example> | ||

</description> | </description> | ||

+ | <types> | ||

+ | <type>poly</type> | ||

+ | <type>polynomial</type> | ||

+ | <type>list</type> | ||

+ | </types> | ||

<see>DivAlg</see> | <see>DivAlg</see> | ||

<key>BorderDivAlg</key> | <key>BorderDivAlg</key> |

## Revision as of 10:57, 23 April 2009

## BB.BorderDivAlg

Apply the border division algorithm.

### Syntax

BB.BorderDivAlg(F:POLY,OO:LIST of POLY,Prebasis:LIST of POLY):RECORD BB.BorderDivAlg(F:POLY,OO:LIST of POLY,Prebasis:LIST of LIST of POLY):RECORD

### Description

**Please note:** The function(s) explained on this page is/are using the **ApCoCoAServer**. You will have to start the ApCoCoAServer in order to use

it/them.

Applies the Border Division Algorithm w.r.t. the order ideal `OO` and the border prebasis

`Prebasis` to the polynomial `F` and returns a record with fields `Quotients`

and `Remainder` sucht that `Remainder` is the normal `OO`-remainder. Please
note that you have to start the ApCoCoAServer in order to use this function.

As it is not immediately clear which term in the support of a given prebasis polynomial of

`Prebasis` is contained in the border of `OO` (remember that a term ordering is

used automatically), the prebasis needs to be parsed internally and a more detailed prebasis representation is computed. The internal expansion will be skipped if you already pass a more detailed prebasis description to the function which is possible by using the second function call (see example below).

@param

*F*The Border Division Algorithm will be applied to this polynomial.@param

*OO*A list of terms representing an order ideal.@param

*Prebasis*A list of polynomials representing a OO-border prebasis. Please see examples below for a detailed explanation of the format of this parameter.@return The result of the Border Divison Algorithm will be stored in a record containing two fields "Quotients" and "Remainder", both of type POLY.

#### Example

Use Q[x,y]; OO := [1, x, y]; Prebasis := [ x^2 + x + 1, xy + y, y^2 + x + 1 ]; F := x^3y^2 - xy^2 + x^2 + 2; BB.BorderDivAlg(F, OO, Prebasis); ------------------------------- Record[Quotients = [xy^2 - y^2 + 1, -y, 2], Remainder = -3x - 1] ------------------------------- -- The paramter Prebasis is internally expanded to -- [ [ x^2 + x + 1, x^2 ], [ xy + y, xy ], [ y^2 + x + 1, y^2] ]. -- Thus, the following call of BB.BorderDivAlg is -- equivalent to the one above DetailedPrebasis := [ [ x^2 + x + 1, x^2 ], [ xy + y, xy ], [ y^2 + x + 1, y^2] ]; BB.BorderDivAlg(F, OO, DetailedPrebasis); ------------------------------- Record[Quotients = [xy^2 - y^2 + 1, -y, 2], Remainder = -3x - 1] -------------------------------