# Singular

#### D.3.1.32 exteriorPower

Procedure from library `matrix.lib` (see matrix_lib).

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

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

Note:
the chosen bases and most of intermediate data will be shown if printlevel is big enough. Last rows will be invisible if zero.

Example:
 ```LIB "matrix.lib"; ring r = (0),(a, b, c, d, e, f), dp; r; "base ring:"; ==> // characteristic : 0 ==> // number of vars : 6 ==> // block 1 : ordering dp ==> // : names a b c d e f ==> // block 2 : ordering C ==> base ring: module B = a*gen(1) + c*gen(2) + e*gen(3), b*gen(1) + d*gen(2) + f*gen(3), e*gen(1) + f*gen(3); print(B); ==> a,b,e, ==> c,d,0, ==> e,f,f print(exteriorPower(B, 2)); ==> df, cf, -de+cf, ==> bf-ef,-e2+af,-be+af, ==> -de, -ce, -bc+ad print(exteriorPower(B, 3)); ==> -de2-bcf+adf+cef def g = superCommutative(); setring g; g; ==> // characteristic : 0 ==> // number of vars : 6 ==> // block 1 : ordering dp ==> // : names a b c d e f ==> // block 2 : ordering C ==> // noncommutative relations: ==> // ba=-ab ==> // ca=-ac ==> // da=-ad ==> // ea=-ae ==> // fa=-af ==> // cb=-bc ==> // db=-bd ==> // eb=-be ==> // fb=-bf ==> // dc=-cd ==> // ec=-ce ==> // fc=-cf ==> // ed=-de ==> // fd=-df ==> // fe=-ef ==> // quotient ring from ideal ==> _[1]=f2 ==> _[2]=e2 ==> _[3]=d2 ==> _[4]=c2 ==> _[5]=b2 ==> _[6]=a2 module A = a*gen(1), b * gen(1), c*gen(2), d * gen(2); print(A); ==> a,b,0,0, ==> 0,0,c,d print(exteriorPower(A, 2)); ==> 0,bd,bc,ad,ac,0 module B = a*gen(1) + c*gen(2) + e*gen(3), b*gen(1) + d*gen(2) + f*gen(3), e*gen(1) + f*gen(3); print(B); ==> a,b,e, ==> c,d,0, ==> e,f,f print(exteriorPower(B, 2)); ==> df, cf, de+cf, ==> bf+ef,af, be+af, ==> -de, -ce,bc+ad print(exteriorPower(B, 3)); ==> bcf+adf-cef ```