# Difference between revisions of "ApCoCoA-1:SB.Sagbi"

From ApCoCoAWiki

m (Bot: Category moved) |
|||

Line 88: | Line 88: | ||

<key>sb.sagbi</key> | <key>sb.sagbi</key> | ||

<key>sagbi.sagbi</key> | <key>sagbi.sagbi</key> | ||

− | <wiki-category>Package_sagbi</wiki-category> | + | <wiki-category>ApCoCoA-1:Package_sagbi</wiki-category> |

</command> | </command> |

## Revision as of 16:39, 2 October 2020

## SB.Sagbi

Computes a finite SAGBI-basis of a subalgebra if existing.

### Syntax

SB.Sagbi(G:LIST of POLY):LIST of POLY

### Description

This function computes a finite SAGBI-basis of a subalgebra `S` generated by the polynomials of the list `G`, if a finite SAGBI-basis of `S` is existing. Then a list of polynomials is returned which form a SAGBI-basis of `S`. Otherwise the computation will be interrupted after a reasonable time, i.e. it seems that there is no finite SAGBI-basis, and NULL will be returned.

@param

*G*A list of polynomials which generates a subalgebra.@return Either a list of polynomials which form a finite SAGBI-basis of the subalgebra generated by

`G`or NULL, if no finite SAGBI-basis is existing.

#### Example

Use R::=QQ[x,y]; G:=[x-y,x+y]; SB.IsSagbi(G); SB.Sagbi(G); ------------------------------------------------------- -- output: FALSE ------------------------------- -- The result is correct, because a SAGBI-basis of G is the following: [ x - y, x + y, y] ------------------------------- -- Done. -------------------------------

#### Example

Use R::=QQ[x[1..6]]; Generators:=[-x[4] - x[6], -x[1], x[2]^2 + x[3]^2, -4x[4]^2 - 5/2x[5]^2 + 2x[4]x[6] - 4x[6]^2, -2x[2]x[3]x[4] + x[2]^2x[5] - x[3]^2x[5] + 2x[2]x[3]x[6], -x[2]^2x[4] + x[3]^2x[4] - 2x[2]x[3]x[5] + x[2]^2x[6] - x[3]^2x[6]]; SB.IsSagbi(Generators); -- Computation of a SAGBI-basis Basis:=SB.Sagbi(Generators); SB.IsSagbi(Basis); ------------------------------------------------------- -- output: FALSE ------------------------------- -- Of course the test passes now because the computed SAGBI-basis is -- indeed a SAGBI-basis. TRUE ------------------------------- -- Done. -------------------------------

#### Example

Use R::=QQ[x,y]; G:=[x+y, xy, xy^2]; SB.Sagbi(G); ------------------------------------------------------- -- output: --- Computation was interrupted --- NULL ------------------------------- -- Done. -------------------------------