The optional argument AsExpression specifies whether the polynomials should be outputed as RingElement objects or as elements of type Expression
i1 : R = QQ[x_0..x_3] o1 = R o1 : PolynomialRing |
i2 : vandermondeDeterminant({0,2,3},R,AsExpression => true)
o2 = (- x + x )(- x + x )(- x + x )
0 2 0 3 2 3
o2 : Expression of class Product
|
This allows to visualize some of the polynomials in a clearer way.
i3 : p = new Partition from {2,2}
o3 = Partition{2, 2}
o3 : Partition
|
i4 : S = youngTableau(p,{0,2,1,3})
o4 = | 0 2 |
| 1 3 |
o4 : YoungTableau
|
i5 : T = youngTableau(p,{0,1,2,3})
o5 = | 0 1 |
| 2 3 |
o5 : YoungTableau
|
i6 : higherSpechtPolynomial(S,T,R,AsExpression => true)
o6 = (- x + x )(- x + x )((x )(x ) + (x )(x ))
0 2 1 3 3 1 2 0
o6 : Expression of class Product
|
i7 : higherSpechtPolynomials(R,AsExpression => true)
o7 = HashTable{Partition{1, 1, 1, 1} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => (- x + x )(- x + x )(- x + x )(- x + x )(- x + x )(- x + x )}}}
0 1 0 2 0 3 1 2 1 3 2 3
Partition{2, 1, 1} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => (- x + x )(- x + x )(- x + x )} }
0 2 0 3 2 3
{0, 2, 1, 3} => (- x + x )(- x + x )(- x + x )
0 1 0 3 1 3
{0, 3, 1, 2} => (- x + x )(- x + x )(- x + x )
0 1 0 2 1 2
{0, 2, 1, 3} => HashTable{{0, 1, 2, 3} => (- x + x )(- x + x )(- x + x )(x )}
0 2 0 3 2 3 1
{0, 2, 1, 3} => (- x + x )(- x + x )(- x + x )(x )
0 1 0 3 1 3 2
{0, 3, 1, 2} => (- x + x )(- x + x )(- x + x )(x )
0 1 0 2 1 2 3
2
{0, 3, 1, 2} => HashTable{{0, 1, 2, 3} => (- x + x )(- x + x )(- x + x )(x ) }
0 2 0 3 2 3 1
2
{0, 2, 1, 3} => (- x + x )(- x + x )(- x + x )(x )
0 1 0 3 1 3 2
2
{0, 3, 1, 2} => (- x + x )(- x + x )(- x + x )(x )
0 1 0 2 1 2 3
Partition{2, 2} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => (- x + x )(- x + x )} }
0 2 1 3
{0, 2, 1, 3} => (- x + x )(- x + x )
0 1 2 3
{0, 2, 1, 3} => HashTable{{0, 1, 2, 3} => (- x + x )(- x + x )((x )(x ) + (x )(x ))}
0 2 1 3 3 1 2 0
{0, 2, 1, 3} => (- x + x )(- x + x )((x )(x ) + (x )(x ))
0 1 2 3 3 2 1 0
Partition{3, 1} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => (- x + x )} }
0 3
{0, 1, 3, 2} => (- x + x )
0 2
{0, 2, 3, 1} => (- x + x )
0 1
{0, 1, 3, 2} => HashTable{{0, 1, 2, 3} => (- x + x )((x ) + (x ))}
0 3 2 1
{0, 1, 3, 2} => (- x + x )((x ) + (x ))
0 2 3 1
{0, 2, 3, 1} => (- x + x )((x ) + (x ))
0 1 3 2
{0, 2, 3, 1} => HashTable{{0, 1, 2, 3} => (- x + x )(x )(x )}
0 3 1 2
{0, 1, 3, 2} => (- x + x )(x )(x )
0 2 1 3
{0, 2, 3, 1} => (- x + x )(x )(x )
0 1 2 3
Partition{4} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => 1}}
o7 : HashTable
|
In some cases it also allows to work with polynomials whose term expansion is very big.
Example R = QQ[x_1..x_10] p = new Partition from {1,1,1,1,1,1,1,1,1,1}; spechtPolynomial(youngTableau(p,{0,1,2,3,4,5,6,7,8,9}),R,AsExpression => true) SeeAlso higherSpechtPolynomial
The object AsExpression is a symbol.