Re: [sage-combinat-devel] Re: sage question

2011-03-31 Thread Nicolas M. Thiery
On Thu, Mar 31, 2011 at 05:19:42AM -0700, Anne Schilling wrote:
> >On Thu, Mar 31, 2011 at 12:39:44AM -0400, msh...@math.vt.edu wrote:
> >>How can I make a Combinatorial Algebra with an infinite basis?
> >>I'm trying to make the nilHecke algebra for any root datum,
> >>but I'll start with the nilCoxeter algebra.

> This is already in sage:
> 
> sage: H = IwahoriHeckeAlgebraT(['A',3,1],1,0,base_ring=ZZ, prefix='s')
> sage: s = H.algebra_generators()
> sage: s[1]*s[1]
> s1
> sage: H = IwahoriHeckeAlgebraT(['B',3,1],1,0,base_ring=ZZ, prefix='s')
> sage: s = H.algebra_generators()
> sage: s[1]*s[1]
> s1

Good point :-)

sage: H = IwahoriHeckeAlgebraT(['B',3,1],0,0,base_ring=ZZ, prefix='s')
sage: s = H.algebra_generators()
sage: s[1]*s[1]
0

I was apparently too focused on doing it the monoid way (which we
should do at some point though)!

Cheers,
Nicolas
--
Nicolas M. Thiéry "Isil" 
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: sage question

2011-03-31 Thread Anne Schilling

On 3/31/11 12:38 AM, Nicolas M. Thiery wrote:

Hi Mark!

On Thu, Mar 31, 2011 at 12:39:44AM -0400, msh...@math.vt.edu wrote:

How can I make a Combinatorial Algebra with an infinite basis?
I'm trying to make the nilHecke algebra for any root datum,
but I'll start with the nilCoxeter algebra.


Finite or infinite basis does not really make a difference. Here is
how to build just the vector space:

 sage: F = CombinatorialFreeModule(QQ, WeylGroup(["A",3,1]))
 sage: F.an_element()
 2*B[[-1  1  0  1]
[ 0  1  0  0]
[ 0  0  1  0]
[ 0  0  0  1]] +
 3*B[[ 0 -1  1  1]
[ 1 -1  1  0]
[ 0  0  1  0]
[ 0  0  0  1]] +
   B[[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]] +
   B[[ 2  0  1 -2]
[ 2  0  0 -1]
[ 1  1  0 -1]
[ 1  0  1 -1]]

For an example of implementation of algebra (which is further graded,
but you can ignore this part), you can have a look at:

sage: A = GradedAlgebrasWithBasis(QQ).example()
sage: A??

Note: this requires the sage-combinat patches. And of course there is
the tutorial:

http://combinat.sagemath.org/doc/reference/demos/tutorial-implementing-algebraic-structures.html

Now, you may want to check out with Anne, since she might already have
code for what you want.


This is already in sage:

sage: H = IwahoriHeckeAlgebraT(['A',3,1],1,0,base_ring=ZZ, prefix='s')
sage: s = H.algebra_generators()
sage: s[1]*s[1]
s1
sage: H = IwahoriHeckeAlgebraT(['B',3,1],1,0,base_ring=ZZ, prefix='s')
sage: s = H.algebra_generators()
sage: s[1]*s[1]
s1

Cheers,

Anne

--
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Re: sage question

2011-03-31 Thread Nicolas M. Thiery
Hi Mark!

On Thu, Mar 31, 2011 at 12:39:44AM -0400, msh...@math.vt.edu wrote:
> How can I make a Combinatorial Algebra with an infinite basis?
> I'm trying to make the nilHecke algebra for any root datum,
> but I'll start with the nilCoxeter algebra.

Finite or infinite basis does not really make a difference. Here is
how to build just the vector space:

sage: F = CombinatorialFreeModule(QQ, WeylGroup(["A",3,1]))
sage: F.an_element()
2*B[[-1  1  0  1]
[ 0  1  0  0]
[ 0  0  1  0]
[ 0  0  0  1]] +
3*B[[ 0 -1  1  1]
[ 1 -1  1  0]
[ 0  0  1  0]
[ 0  0  0  1]] +
  B[[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]] +
  B[[ 2  0  1 -2]
[ 2  0  0 -1]
[ 1  1  0 -1]
[ 1  0  1 -1]]

For an example of implementation of algebra (which is further graded,
but you can ignore this part), you can have a look at:

   sage: A = GradedAlgebrasWithBasis(QQ).example()
   sage: A??

Note: this requires the sage-combinat patches. And of course there is
the tutorial:

http://combinat.sagemath.org/doc/reference/demos/tutorial-implementing-algebraic-structures.html

Now, you may want to check out with Anne, since she might already have
code for what you want.

Cheers,
Nicolas
--
Nicolas M. Thiéry "Isil" 
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.