====== BigObject Groebner ====== //from application [[..:ideal|ideal]]//\\ \\ The Groebner object collects information about an ideal depending on the monomial ordering of the ambient ring. ===== Properties ===== ==== Commutative algebra ==== Properties of an ideal with a monomial ordering from commutative algebra. ---- {{anchor:basis:}} ? **''BASIS''** :: The elements of the Groebner basis corresponding to the given order. This may vary for different algorithms, even if the order stays the same. ? Type: :''[[..:common#Array |Array]]<[[..:common#Polynomial |Polynomial]]<[[..:common#Rational |Rational]],[[..:common#Int |Int]]%%>>%%'' ? depends on extension: : [[:external_software|singular]] ---- {{anchor:initial_forms:}} ? **''INITIAL_FORMS''** :: The initial forms of all polynomials in the ''[[..:ideal:Groebner#BASIS |BASIS]]'', with respect to either the ''[[..:ideal:Groebner#ORDER_VECTOR |ORDER_VECTOR]]'' or the first row of the ''[[..:ideal:Groebner#ORDER_MATRIX |ORDER_MATRIX]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Polynomial |Polynomial]]<[[..:common#Rational |Rational]],[[..:common#Int |Int]]%%>>%%'' ? depends on extension: : [[:external_software|singular]] ---- {{anchor:initial_ideal:}} ? **''INITIAL_IDEAL''** :: The initial order corresponding to the given order. This is always a [[..:ideal:Ideal#MONOMIAL |MONOMIAL]] ideal, even if only a weight vector is provided. Internally this weight vector will be concatenated with a total order. ? Type: :''[[..:ideal:Ideal |Ideal]]'' ? depends on extension: : [[:external_software|singular]] ---- ==== Input properties ==== Properties defining the Groebner subobject, i.e. a monomial order. ---- {{anchor:order_matrix:}} ? **''ORDER_MATRIX''** :: The matrix defining the monomial ordering. For performance reasons this is realized via several weight vectors preceding a lexicographic order. (Singular: a(row), a(row),...,lp) Note that only one of ''[[..:ideal:Groebner#ORDER_MATRIX |ORDER_MATRIX]]'', ''[[..:ideal:Groebner#ORDER_VECTOR |ORDER_VECTOR]]'', ''[[..:ideal:Groebner#ORDER_NAME |ORDER_NAME]]'' should be given. ? Type: :''[[..:common#Matrix |Matrix]]<[[..:common#Int |Int]],[[..:common#NonSymmetric |NonSymmetric]]>'' ---- {{anchor:order_name:}} ? **''ORDER_NAME''** :: A string containing the name of the monomial ordering. Currently we follow the singular conventions, i.e. dp, lp, rp, ds, etc. Note that only one of ''[[..:ideal:Groebner#ORDER_MATRIX |ORDER_MATRIX]]'', ''[[..:ideal:Groebner#ORDER_VECTOR |ORDER_VECTOR]]'', ''[[..:ideal:Groebner#ORDER_NAME |ORDER_NAME]]'' should be given. ? Type: :''[[..:common#String |String]]'' ---- {{anchor:order_vector:}} ? **''ORDER_VECTOR''** :: A weight vector for the monomial ordering, a reverse lexicographic order will be used as tie-breaker. (Singular: ''wp(vector)'') This vector is expected to consist of positive integers only. Note that only one of ''[[..:ideal:Groebner#ORDER_MATRIX |ORDER_MATRIX]]'', ''[[..:ideal:Groebner#ORDER_VECTOR |ORDER_VECTOR]]'', ''[[..:ideal:Groebner#ORDER_NAME |ORDER_NAME]]'' should be given. ? Type: :''[[..:common#Vector |Vector]]<[[..:common#Int |Int]]>'' ---- ==== Singular interface ==== Functions, methods and objects and attached from/to Singular. ---- {{anchor:singular_ideal:}} ? **''SINGULAR_IDEAL''** :: Intermediate object wrapping the Singular objects, i.e. the ring with the monomial ordering and the ideal. ? Type: :''[[..:ideal#SingularIdeal |SingularIdeal]]'' ? from extension: : [[:external_software|bundled:singular]] ---- ===== Methods ===== ==== no category ==== {{anchor:division:}} ? **''division''** ::UNDOCUMENTED ? from extension: : [[:external_software|bundled:singular]] ---- {{anchor:reduce:}} ? **''reduce([[..:common#Polynomial |Polynomial]] p)''** :: Reduce a ''[[..:common#Polynomial |Polynomial]]'' //p// with respect to the Groebner basis. ? Parameters: :: ''[[..:common#Polynomial |Polynomial]]'' ''p'' ? Returns: :''[[..:common#Polynomial |Polynomial]]'' ? from extension: : [[:external_software|bundled:singular]] ? **''reduce([[..:ideal:Ideal |Ideal]] I)''** :: Reduce an ''[[..:ideal:Ideal |Ideal]]'' //I// with respect to the Groebner basis. ? Parameters: :: ''[[..:ideal:Ideal |Ideal]]'' ''I'' ? Returns: :''[[..:common#Array |Array]]<[[..:common#Polynomial |Polynomial]]>'' ? from extension: : [[:external_software|bundled:singular]] ----