##### 7.5.20.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 considered as a field
    ==> // 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 considered as a field
    ==> // 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.

User manual for Singular version 4.4.1, 2025, generated by texi2html.