Home Online Manual
Top
Back: exteriorBasis
Forward: exteriorPower
FastBack: Linear algebra
FastForward: linalg_lib
Up: matrix_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.3.1.31 symmetricPower

Procedure from library matrix.lib (see matrix_lib).

Usage:
symmetricPower(A, k); A module, k int

Return:
module: the k-th symmetric power of A

Note:
the chosen bases and most of intermediate data will be shown if printlevel is big enough

Example:
 
LIB "matrix.lib";
ring r = (0),(a, b, c, d), dp; r;
==> //   characteristic : 0
==> //   number of vars : 4
==> //        block   1 : ordering dp
==> //                  : names    a b c d
==> //        block   2 : ordering C
module B = a*gen(1) + c* gen(2), b * gen(1) + d * gen(2); print(B);
==> a,b,
==> c,d 
// symmetric power over a commutative K-algebra:
print(symmetricPower(B, 2));
==> d2, cd,   c2, 
==> 2bd,bc+ad,2ac,
==> b2, ab,   a2  
print(symmetricPower(B, 3));
==> d3,  cd2,     c2d,     c3,  
==> 3bd2,2bcd+ad2,bc2+2acd,3ac2,
==> 3b2d,b2c+2abd,2abc+a2d,3a2c,
==> b3,  ab2,     a2b,     a3   
// symmetric power over an exterior algebra:
def g = superCommutative(); setring g; g;
==> //   characteristic : 0
==> //   number of vars : 4
==> //        block   1 : ordering dp
==> //                  : names    a b c d
==> //        block   2 : ordering C
==> //   noncommutative relations:
==> //    ba=-ab
==> //    ca=-ac
==> //    da=-ad
==> //    cb=-bc
==> //    db=-bd
==> //    dc=-cd
==> // quotient ring from ideal
==> _[1]=d2
==> _[2]=c2
==> _[3]=b2
==> _[4]=a2
module B = a*gen(1) + c* gen(2), b * gen(1) + d * gen(2); print(B);
==> a,b,
==> c,d 
print(symmetricPower(B, 2)); // much smaller!
==> 0,cd,    0,
==> 0,-bc+ad,0,
==> 0,ab,    0 
print(symmetricPower(B, 3)); // zero! (over an exterior algebra!)
==> 0,0,0,0
See also: exteriorPower.