Home Online Manual
Top
Back: makeWeyl
Forward: Exterior
FastBack:
FastForward:
Up: nctools_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.5.19.0. makeHeisenberg
Procedure from library nctools.lib (see nctools_lib).

Usage:
makeHeisenberg(n, [p,d]); int n (setting 2n+1 variables), optional int p (field characteristic), optional int d (power of h in the commutator)

Return:
ring

Purpose:
create the n-th Heisenberg algebra in the variables x(1),y(1),...,x(n),y(n),h over the rationals Q or F_p with the relations \forall\;i\in\{1,2,\ldots,n\}\;\;y(j)x(i) = x(i)y(j)+h^d.

Note:
activate this ring with the setring command
If p is not prime, the next larger prime number will be used.

Example:
 
LIB "nctools.lib";
def a = makeHeisenberg(2);
setring a;   a;
==> // coefficients: QQ
==> // number of vars : 5
==> //        block   1 : ordering lp
==> //                  : names    x(1) x(2) y(1) y(2) h
==> //        block   2 : ordering C
==> // noncommutative relations:
==> //    y(1)x(1)=x(1)*y(1)+h
==> //    y(2)x(2)=x(2)*y(2)+h
def H3 = makeHeisenberg(3, 7, 2);
setring H3;  H3;
==> // coefficients: ZZ/7
==> // number of vars : 7
==> //        block   1 : ordering lp
==> //                  : names    x(1) x(2) x(3) y(1) y(2) y(3) h
==> //        block   2 : ordering C
==> // noncommutative relations:
==> //    y(1)x(1)=x(1)*y(1)+h^2
==> //    y(2)x(2)=x(2)*y(2)+h^2
==> //    y(3)x(3)=x(3)*y(3)+h^2
See also: makeWeyl.