Home Online Manual
Top
Back: tateProdCplxNegGrad_lib
Forward: truncateM
FastBack:
FastForward:
Up: tateProdCplxNegGrad_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.21.1 productOfProjectiveSpaces

Procedure from library tateProdCplxNegGrad.lib (see tateProdCplxNegGrad_lib).

Usage:
productOfProjectiveSpaces(c); c intvec

Purpose:
creates two rings S and E corresponding to the product of projective spaces P^{c_1} x...x P^{c_t}

Assume:
input are two integers or an intvec

Return:
two rings S,E (homogeneous coordinate ring and the exterior algebra of P^{c_1} x P^{c_2} x...)

Example:
 
LIB "tateProdCplxNegGrad.lib";
intvec c = 1,2;
def (S,E) = productOfProjectiveSpaces(c);
print(S);
==> polynomial ring, over a field, global ordering
==> // coefficients: QQ
==> // number of vars : 5
==> //        block   1 : ordering C
==> //        block   2 : ordering dp
==> //                  : names    x(0)(0) x(0)(1) x(1)(0) x(1)(1) x(1)(2)
print(E);
==> polynomial ring, over a field, global ordering
==> // coefficients: QQ
==> // number of vars : 5
==> //        block   1 : ordering C
==> //        block   2 : ordering dp
==> //                  : names    e(0)(0) e(0)(1) e(1)(0) e(1)(1) e(1)(2)
==> // noncommutative relations:
==> //    e(0)(1)e(0)(0)=-e(0)(0)*e(0)(1)
==> //    e(1)(0)e(0)(0)=-e(0)(0)*e(1)(0)
==> //    e(1)(1)e(0)(0)=-e(0)(0)*e(1)(1)
==> //    e(1)(2)e(0)(0)=-e(0)(0)*e(1)(2)
==> //    e(1)(0)e(0)(1)=-e(0)(1)*e(1)(0)
==> //    e(1)(1)e(0)(1)=-e(0)(1)*e(1)(1)
==> //    e(1)(2)e(0)(1)=-e(0)(1)*e(1)(2)
==> //    e(1)(1)e(1)(0)=-e(1)(0)*e(1)(1)
==> //    e(1)(2)e(1)(0)=-e(1)(0)*e(1)(2)
==> //    e(1)(2)e(1)(1)=-e(1)(1)*e(1)(2)
==> // quotient ring from ideal
==> _[1]=e(1)(2)^2
==> _[2]=e(1)(1)^2
==> _[3]=e(1)(0)^2
==> _[4]=e(0)(1)^2
==> _[5]=e(0)(0)^2
intvec d = 2,1,2;
def (S2,E2) = productOfProjectiveSpaces(d);
print(S2);
==> polynomial ring, over a field, global ordering
==> // coefficients: QQ
==> // number of vars : 8
==> //        block   1 : ordering C
==> //        block   2 : ordering dp
==> //                  : names    x(0)(0) x(0)(1) x(0)(2) x(1)(0) x(1)(1) x(\
   2)(0) x(2)(1) x(2)(2)
print(E2);
==> polynomial ring, over a field, global ordering
==> // coefficients: QQ
==> // number of vars : 8
==> //        block   1 : ordering C
==> //        block   2 : ordering dp
==> //                  : names    e(0)(0) e(0)(1) e(0)(2) e(1)(0) e(1)(1) e(\
   2)(0) e(2)(1) e(2)(2)
==> // noncommutative relations:
==> //    e(0)(1)e(0)(0)=-e(0)(0)*e(0)(1)
==> //    e(0)(2)e(0)(0)=-e(0)(0)*e(0)(2)
==> //    e(1)(0)e(0)(0)=-e(0)(0)*e(1)(0)
==> //    e(1)(1)e(0)(0)=-e(0)(0)*e(1)(1)
==> //    e(2)(0)e(0)(0)=-e(0)(0)*e(2)(0)
==> //    e(2)(1)e(0)(0)=-e(0)(0)*e(2)(1)
==> //    e(2)(2)e(0)(0)=-e(0)(0)*e(2)(2)
==> //    e(0)(2)e(0)(1)=-e(0)(1)*e(0)(2)
==> //    e(1)(0)e(0)(1)=-e(0)(1)*e(1)(0)
==> //    e(1)(1)e(0)(1)=-e(0)(1)*e(1)(1)
==> //    e(2)(0)e(0)(1)=-e(0)(1)*e(2)(0)
==> //    e(2)(1)e(0)(1)=-e(0)(1)*e(2)(1)
==> //    e(2)(2)e(0)(1)=-e(0)(1)*e(2)(2)
==> //    e(1)(0)e(0)(2)=-e(0)(2)*e(1)(0)
==> //    e(1)(1)e(0)(2)=-e(0)(2)*e(1)(1)
==> //    e(2)(0)e(0)(2)=-e(0)(2)*e(2)(0)
==> //    e(2)(1)e(0)(2)=-e(0)(2)*e(2)(1)
==> //    e(2)(2)e(0)(2)=-e(0)(2)*e(2)(2)
==> //    e(1)(1)e(1)(0)=-e(1)(0)*e(1)(1)
==> //    e(2)(0)e(1)(0)=-e(1)(0)*e(2)(0)
==> //    e(2)(1)e(1)(0)=-e(1)(0)*e(2)(1)
==> //    e(2)(2)e(1)(0)=-e(1)(0)*e(2)(2)
==> //    e(2)(0)e(1)(1)=-e(1)(1)*e(2)(0)
==> //    e(2)(1)e(1)(1)=-e(1)(1)*e(2)(1)
==> //    e(2)(2)e(1)(1)=-e(1)(1)*e(2)(2)
==> //    e(2)(1)e(2)(0)=-e(2)(0)*e(2)(1)
==> //    e(2)(2)e(2)(0)=-e(2)(0)*e(2)(2)
==> //    e(2)(2)e(2)(1)=-e(2)(1)*e(2)(2)
==> // quotient ring from ideal
==> _[1]=e(2)(2)^2
==> _[2]=e(2)(1)^2
==> _[3]=e(2)(0)^2
==> _[4]=e(1)(1)^2
==> _[5]=e(1)(0)^2
==> _[6]=e(0)(2)^2
==> _[7]=e(0)(1)^2
==> _[8]=e(0)(0)^2