# Singular

#### D.7.1.33 orbit_variety

Procedure from library `finvar.lib` (see finvar_lib).

Usage:
orbit_variety(F,s);
F: a 1xm <matrix> defing an invariant ring, s: a <string> giving the name for a new ring

Return:
a Groebner basis (type <ideal>, named G) for the ideal defining the orbit variety (i.e. the syzygy ideal) in the new ring (named `s`)

Theory:
The ideal of algebraic relations of the invariant ring generators is calculated, then the variables of the original ring are eliminated and the polynomials that are left over define the orbit variety

Example:
 ```LIB "finvar.lib"; ring R=0,(x,y,z),dp; matrix F[1][7]=x2+y2,z2,x4+y4,1,x2z-1y2z,xyz,x3y-1xy3; string newring="E"; orbit_variety(F,newring); print(G); ==> y(4)-1, ==> y(5)*y(6)-y(2)*y(7), ==> y(2)*y(3)-y(5)^2-2*y(6)^2, ==> y(1)^2*y(6)-2*y(3)*y(6)+y(5)*y(7), ==> y(1)^2*y(5)-y(3)*y(5)-2*y(6)*y(7), ==> y(1)^2*y(2)-y(2)*y(3)-2*y(6)^2, ==> y(1)^4-3*y(1)^2*y(3)+2*y(3)^2+2*y(7)^2 basering; ==> // coefficients: QQ ==> // number of vars : 7 ==> // block 1 : ordering dp ==> // : names y(1) y(2) y(3) y(4) y(5) y(6) y(7) ==> // block 2 : ordering C ```