# Singular

#### D.13.4.38 homogeneitySpace

Procedure from library `tropical.lib` (see tropical_lib).

Usage:
homogeneitySpace(I); I ideal or poly

Assume:
I a reduced standard basis

Return:
cone, the set of all weight vectors with respect to whom I is weighted homogeneous

Example:
 ```LIB "tropical.lib"; ==> Welcome to polymake version ==> Copyright (c) 1997-2015 ==> Ewgenij Gawrilow, Michael Joswig (TU Darmstadt) ==> http://www.polymake.org LIB "poly.lib"; ==> // ** redefining bino (LIB "poly.lib";) ==> // ** redefining hilbPoly (LIB "poly.lib";) ==> // ** redefining hilbPoly (LIB "poly.lib";) ==> // ** redefining substitute (LIB "poly.lib";) ==> // ** redefining substitute (LIB "poly.lib";) ==> // ** redefining cyclic (LIB "poly.lib";) ==> // ** redefining cyclic (LIB "poly.lib";) ==> // ** redefining elemSymmPoly (LIB "poly.lib";) ==> // ** redefining elemSymmPoly (LIB "poly.lib";) ==> // ** redefining elemSymmId (LIB "poly.lib";) ==> // ** redefining elemSymmId (LIB "poly.lib";) ==> // ** redefining katsura (LIB "poly.lib";) ==> // ** redefining katsura (LIB "poly.lib";) ==> // ** redefining kat_var (LIB "poly.lib";) ==> // ** redefining kat_var (LIB "poly.lib";) ==> // ** redefining freerank (LIB "poly.lib";) ==> // ** redefining freerank (LIB "poly.lib";) ==> // ** redefining is_zero (LIB "poly.lib";) ==> // ** redefining is_zero (LIB "poly.lib";) ==> // ** redefining maxcoef (LIB "poly.lib";) ==> // ** redefining maxcoef (LIB "poly.lib";) ==> // ** redefining maxdeg (LIB "poly.lib";) ==> // ** redefining maxdeg (LIB "poly.lib";) ==> // ** redefining maxdeg1 (LIB "poly.lib";) ==> // ** redefining maxdeg1 (LIB "poly.lib";) ==> // ** redefining mindeg (LIB "poly.lib";) ==> // ** redefining mindeg (LIB "poly.lib";) ==> // ** redefining mindeg1 (LIB "poly.lib";) ==> // ** redefining mindeg1 (LIB "poly.lib";) ==> // ** redefining normalize (LIB "poly.lib";) ==> // ** redefining normalize (LIB "poly.lib";) ==> // ** redefining rad_con (LIB "poly.lib";) ==> // ** redefining rad_con (LIB "poly.lib";) ==> // ** redefining lcm (LIB "poly.lib";) ==> // ** redefining lcm (LIB "poly.lib";) ==> // ** redefining content (LIB "poly.lib";) ==> // ** redefining content (LIB "poly.lib";) ==> // ** redefining mod2id (LIB "poly.lib";) ==> // ** redefining mod2id (LIB "poly.lib";) ==> // ** redefining id2mod (LIB "poly.lib";) ==> // ** redefining id2mod (LIB "poly.lib";) ==> // ** redefining subrInterred (LIB "poly.lib";) ==> // ** redefining subrInterred (LIB "poly.lib";) ==> // ** redefining newtonDiag (LIB "poly.lib";) ==> // ** redefining newtonDiag (LIB "poly.lib";) ring r = 0,(x,y,z),dp; ideal I = cyclic(3); option(redSB); ideal stdI = std(I); cone C0I = homogeneitySpace(stdI); print(generatorsOfLinealitySpace(C0I)); ==> ring s = 0,(x,y,z,u),dp; ideal Ih = homog(cyclic(3),u); ideal stdI = std(Ih); cone C0Ih = homogeneitySpace(stdI); print(generatorsOfLinealitySpace(C0Ih)); ==> -1,-1,-1,-1 ```