sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.45k stars 481 forks source link

Implement an uniform set for index infinite variable algebraic structure, implement polynomial ring in infinite set of indeterminate with categories, implement the Schubert base ring in y1, y2, y3, ... #8581

Open 0f5ae6f6-e03a-45d9-b571-4ce01615e676 opened 14 years ago

0f5ae6f6-e03a-45d9-b571-4ce01615e676 commented 14 years ago

This patch Implement a set with categories to index monomials of infinite indeterminate algebraic structure. There is 4 versions of this set : power of indeterminate can be negative or only positive and there is a dense and sparse implementation of the set (list/dictionary).

From this set, there is an example of graded_algebras_with_basis which is the polynomial ring in infinite indeterminate.

The Schubert base ring inherit from this example and changing 3 thing:

With this patch, one can do for example:

sage: from sage.combinat.multivariate_polynomials.schubert_base_ring import SchubertBaseRing
sage: from sage.categories.examples.graded_algebras_with_basis import PolynomialRingInfiniteIndeterminate
sage: S = SchubertBaseRing(ZZ); S
Base ring for Schubbert polynomials in the variables y1, y2, y3, ... over Integer Ring
sage: A = PolynomialRingInfiniteIndeterminate(S); A
An example of graded algebra with basis: the polynomial ring in infinite indeterminate over Base ring for Schubbert polynomials in the variables y1, y2, y3, ... over Integer Ring
sage: A.base_ring().an_element()*A.an_element()
(1+2*y1+y1*y3^2*y4^3+3*y1^2) + (2+4*y1+2*y1*y3^2*y4^3+6*y1^2)*X1 + (1+2*y1+y1*y3^2*y4^3+3*y1^2)*X1*X3^2*X4^3 + (3+6*y1+3*y1*y3^2*y4^3+9*y1^2)*X1^2

This built the ambient space for Schubert polynomials which are polynomials in two infinite alphabet of indeterminate indexed by PositiveIntegers() (or NonNegativeIntegers()... setting this is easy...)

Will be followed by the Adrien's work on #6629

CC: @sagetrac-sage-combinat

Component: combinatorics

Keywords: polynomial, infinite, Schubert

Issue created by migration from https://trac.sagemath.org/ticket/8581

0f5ae6f6-e03a-45d9-b571-4ce01615e676 commented 14 years ago
comment:1

Attachment: trac_8581_multivariate_schubert_step_1-nb.patch.gz

0f5ae6f6-e03a-45d9-b571-4ce01615e676 commented 14 years ago

Description changed:

--- 
+++ 
@@ -1 +1,23 @@
+This patch Implement a set with categories to index monomials of infinite indeterminate algebraic structure. There is 4 versions of this set : power of indeterminate can be negative or only positive and there is a dense and sparse implementation of the set (list/dictionary).

+From this set, there is an example of graded_algebras_with_basis which is the polynomial ring in infinite indeterminate.
+
+The Schubert base ring inherit from this example and changing 3 thing:
+*  the name of the ring
+*  the name of variable (y1, y2, y3, ...) for Schubert
+*  A __call __ method for element which correspond to the specialization
+
+With this patch, one can do for example:
+
+```
+sage: from sage.combinat.multivariate_polynomials.schubert_base_ring import SchubertBaseRing
+sage: from sage.categories.examples.graded_algebras_with_basis import PolynomialRingInfiniteIndeterminate
+sage: S = SchubertBaseRing(ZZ); S
+Base ring for Schubbert polynomials in the variables y1, y2, y3, ... over Integer Ring
+sage: A = PolynomialRingInfiniteIndeterminate(S); A
+An example of graded algebra with basis: the polynomial ring in infinite indeterminate over Base ring for Schubbert polynomials in the variables y1, y2, y3, ... over Integer Ring
+sage: A.base_ring().an_element()*A.an_element()
+(1+2*y1+y1*y3^2*y4^3+3*y1^2) + (2+4*y1+2*y1*y3^2*y4^3+6*y1^2)*X1 + (1+2*y1+y1*y3^2*y4^3+3*y1^2)*X1*X3^2*X4^3 + (3+6*y1+3*y1*y3^2*y4^3+9*y1^2)*X1^2
+```
+
+This built the ambient space for Schubert polynomials which are polynomials in two infinite alphabet of indeterminate indexed by PositiveIntegers() (or NonNegativeIntegers()... setting this is easy...)
0f5ae6f6-e03a-45d9-b571-4ce01615e676 commented 14 years ago

Description changed:

--- 
+++ 
@@ -21,3 +21,5 @@

This built the ambient space for Schubert polynomials which are polynomials in two infinite alphabet of indeterminate indexed by PositiveIntegers() (or NonNegativeIntegers()... setting this is easy...) + +Will be followed by the Adrien's work on #6629

0f5ae6f6-e03a-45d9-b571-4ce01615e676 commented 14 years ago
comment:5

Under discussion with combinatorics veterans..........