Difference between revisions of "ApCoCoA-1:BB.BorderDivAlg"
(Added ApCoCoAServer note) |
(Short description update.) |
||
Line 1: | Line 1: | ||
<command> | <command> | ||
<title>BB.BorderDivAlg</title> | <title>BB.BorderDivAlg</title> | ||
− | <short_description>border division algorithm</short_description> | + | <short_description>Apply the border division algorithm.</short_description> |
<syntax> | <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 POLY):RECORD |
Revision as of 16:11, 21 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, 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).
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] -------------------------------