Home Online Manual
Top
Back: isGroupHomomorphism
Forward: createGradedRingHomomorphism
FastBack:
FastForward:
Up: multigrading_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.17.11 isGradedRingHomomorphism

Procedure from library multigrading.lib (see multigrading_lib).

Usage:
isGradedRingHomomorphism(R, f, A); ring R, ideal f, group homomorphism A

Purpose:
test a multigraded group ring homomorphism defined by a ring map from R to the current ring, given by generators images f and a group homomorphism A between grading groups

Return:
int, 1 for TRUE, 0 otherwise

Example:
 
LIB "multigrading.lib";
ring r = 0, (x, y, z), dp;
intmat S1[3][3] =
1, 0, 0,
0, 1, 0,
0, 0, 1;
intmat L1[3][1] =
0,
0,
0;
def G1 = createGroup(S1, L1); // (S1 + L1)/L1
printGroup(G1);
==> Generators: 
==>      1     0     0
==>      0     1     0
==>      0     0     1
==> Relations: 
==>      0
==>      0
==>      0
setBaseMultigrading(S1, L1); // to change...
ring R = 0, (a, b, c), dp;
intmat S2[2][3] =
1, 0,
0, 1;
intmat L2[2][1] =
0,
2;
def G2 = createGroup(S2, L2);
printGroup(G2);
==> Generators: 
==>      1     0     0
==>      1     0     0
==> Relations: 
==>      0
==>      2
setBaseMultigrading(S2, L2); // to change...
map F = r, a, b, c;
intmat A[nrows(L2)][nrows(L1)] =
1, 0, 0,
3, 2, -6;
// graded ring homomorphism is given by (compatible):
print(F);
==> F[1]=a
==> F[2]=b
==> F[3]=c
print(A);
==>      1     0     0
==>      3     2    -6
isGradedRingHomomorphism(r, ideal(F), A);
==> 1
def h = createGradedRingHomomorphism(r, ideal(F), A);
print(h);
==> [1]:
==>    //   characteristic : 0
==> //   number of vars : 3
==> //        block   1 : ordering dp
==> //                  : names    x y z
==> //        block   2 : ordering C
==> [2]:
==>    _[1]=a
==>    _[2]=b
==>    _[3]=c
==> [3]:
==>    1,0,0,
==>    3,2,-6 
// not a homo..
intmat B[nrows(L2)][nrows(L1)] =
1, 1, 1,
0, 0, 0;
print(B);
==>      1     1     1
==>      0     0     0
isGradedRingHomomorphism(r, ideal(F), B); // FALSE: there is no such homomorphism!
==> 0
// Therefore: the following command should return an error
// createGradedRingHomomorphism(r, ideal(F), B);