Home Online Manual
Top
Back: elimWeight
Forward: nctools_lib
FastBack:
FastForward:
Up: ncpreim_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.5.19.0. extendedTensor
Procedure from library ncpreim.lib (see ncpreim_lib).

Usage:
extendedTensor(A,I); A ring, I ideal

Return:
ring, A+B (where B denotes the basering) extended with non- commutative relations between the vars of A and B, which arise from the homomorphism A -> B induced by I in the usual sense, i.e. if the vars of A are named x(i) and the vars of B y(j), then putting q(i)(j) = leadcoef(y(j)*I[i])/leadcoef(I[i]*y(j)) and r(i)(j) = y(j)*I[i] - q(i)(j)*I[i]*y(j) yields the relation y(j)*x(i) = q(i)(j)*x(i)*y(j)+r(i)(j).

Remark:
Reference: (Lev)

Example:
 
LIB "ncpreim.lib";
def A = makeWeyl(2);
setring A; A;
==> // coefficients: QQ
==> // number of vars : 4
==> //        block   1 : ordering dp
==> //                  : names    x(1) x(2) D(1) D(2)
==> //        block   2 : ordering C
==> // noncommutative relations:
==> //    D(1)x(1)=x(1)*D(1)+1
==> //    D(2)x(2)=x(2)*D(2)+1
def B = makeUgl(2);
setring B; B;
==> // coefficients: QQ
==> // number of vars : 4
==> //        block   1 : ordering dp
==> //                  : names    e_1_1 e_1_2 e_2_1 e_2_2
==> //        block   2 : ordering C
==> // noncommutative relations:
==> //    e_1_2e_1_1=e_1_1*e_1_2-e_1_2
==> //    e_2_1e_1_1=e_1_1*e_2_1+e_2_1
==> //    e_2_1e_1_2=e_1_2*e_2_1-e_1_1+e_2_2
==> //    e_2_2e_1_2=e_1_2*e_2_2-e_1_2
==> //    e_2_2e_2_1=e_2_1*e_2_2+e_2_1
ideal I = var(1)*var(3), var(1)*var(4), var(2)*var(3), var(2)*var(4);
I;
==> I[1]=e_1_1*e_2_1
==> I[2]=e_1_1*e_2_2
==> I[3]=e_1_2*e_2_1
==> I[4]=e_1_2*e_2_2
def C = extendedTensor(A,I);
setring C; C;
==> // coefficients: QQ
==> // number of vars : 8
==> //        block   1 : ordering dp
==> //                  : names    x(1) x(2) D(1) D(2)
==> //        block   2 : ordering dp
==> //                  : names    e_1_1 e_1_2 e_2_1 e_2_2
==> //        block   3 : ordering C
==> // noncommutative relations:
==> //    D(1)x(1)=x(1)*D(1)+1
==> //    e_1_1x(1)=x(1)*e_1_1-e_1_1*e_2_1
==> //    e_1_2x(1)=x(1)*e_1_2+e_1_1^2-e_1_2*e_2_1-e_1_1*e_2_2
==> //    e_2_1x(1)=x(1)*e_2_1+e_2_1^2
==> //    e_2_2x(1)=x(1)*e_2_2+e_1_1*e_2_1
==> //    D(2)x(2)=x(2)*D(2)+1
==> //    e_1_2x(2)=x(2)*e_1_2+e_1_1*e_1_2-e_1_2*e_2_2
==> //    e_2_1x(2)=x(2)*e_2_1-e_1_1*e_2_1+e_2_1*e_2_2
==> //    e_1_2D(1)=D(1)*e_1_2+e_1_1*e_1_2-e_1_2*e_2_2-e_1_2
==> //    e_2_1D(1)=D(1)*e_2_1-e_1_1*e_2_1+e_2_1*e_2_2+e_2_1
==> //    e_1_1D(2)=D(2)*e_1_1+e_1_2*e_2_2
==> //    e_1_2D(2)=D(2)*e_1_2+e_1_2^2
==> //    e_2_1D(2)=D(2)*e_2_1-e_1_2*e_2_1-e_1_1*e_2_2+e_2_2^2
==> //    e_2_2D(2)=D(2)*e_2_2-e_1_2*e_2_2
==> //    e_1_2e_1_1=e_1_1*e_1_2-e_1_2
==> //    e_2_1e_1_1=e_1_1*e_2_1+e_2_1
==> //    e_2_1e_1_2=e_1_2*e_2_1-e_1_1+e_2_2
==> //    e_2_2e_1_2=e_1_2*e_2_2-e_1_2
==> //    e_2_2e_2_1=e_2_1*e_2_2+e_2_1