The optional argument AsExpression specifies whether the polynomials should be outputted 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.