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

D.15.11.46 pushForward

Procedure from library multigrading.lib (see multigrading_lib).

Usage:
pushForward(f);

Purpose:
Computes the finest grading of the image ring which makes the map f a map of graded rings. The group map between the two grading groups is given by transpose( (Id, 0) ). Pay attention that the group spanned by the columns of the grading group matrix may not be a subgroup of the grading group. Still all columns are needed to find the correct image of the preimage gradings.

Example:
 
LIB "multigrading.lib";
ring r = 0,(x,y,z),dp;
// Setting degrees for preimage ring.;
intmat grad[3][3] =
1,0,0,
0,1,0,
0,0,1;
setBaseMultigrading(grad);
// grading on r:
getVariableWeights();
==> 1,0,0,
==> 0,1,0,
==> 0,0,1 
getLattice();
==> 0,0,0
// only for the purpose of this example
if( voice > 1 ){ /*keepring(r);*/ export(r); }
ring R = 0,(a,b),dp;
ideal i = a2-b2+a6-b5+ab3,a7b+b15-ab6+a6b6;
// The quotient ring by this ideal will become our image ring.;
qring Q = std(i);
listvar();
==> // Q                              [0]  *ring
==> // R                              [0]  ring
==> // grad                           [0]  intmat 3 x 3
==> // r                              [0]  ring
map f = r,-a2b6+b5+a3b+a2+ab,-a2b7-3a2b5+b4+a,a6-b6-b3+a2; f;
==> f[1]=-a2b6+b5+a3b+a2+ab
==> f[2]=-a2b7-3a2b5+b4+a
==> f[3]=a6-b6-b3+a2
// TODO: Unfortunately this is not a very spectacular example...:
// Pushing forward f:
pushForward(f);
// due to pushForward we have got new grading on Q
getVariableWeights();
==> 0,0,
==> 0,0,
==> 0,0,
==> 1,0,
==> 0,1 
getLattice();
==> 1,0,0,0,0,
==> 0,1,0,0,0,
==> 0,0,1,0,0,
==> 1,1,1,1,0,
==> 1,1,1,1,1 
// only for the purpose of this example
if( voice > 1 ){ kill r; }