# Singular

#### D.5.4.7 rncItProjOdd

Procedure from library `paraplanecurves.lib` (see paraplanecurves_lib).

Usage:
rncItProjOdd(I); I ideal

Assume:
I is a homogeneous ideal in the basering with n+1 variables defining a rational normal curve C in PP^n with n odd.

Note:
The procedure will fail or give a wrong output if I is not the ideal of a rational normal curve. It will test whether n is odd.

Return:
ideal PHI defining an isomorphic projection of C to PP^1.
Note that the entries of PHI should be considered as
representatives of elements in R/I, where R is the basering.

Theory:
We iterate the procedure rncAntiCanonicalMap to obtain PHI.

Example:
 ```LIB "paraplanecurves.lib"; ring R = 0,(x,y,z),dp; poly f = -x7-10x5y2-10x4y3-3x3y4+8x2y5+7xy6+11y7+3x6+10x5y +30x4y2 +26x3y3-13x2y4-29xy5-33y6-3x5-20x4y-33x3y2-8x2y3+37xy4+33y5 +x4+10x3y+13x2y2-15xy3-11y4; f = homog(f,z); ideal adj = adjointIdeal(f); def Rn = mapToRatNormCurve(f,adj); ==> //'mapToRatNorm' created a ring together with an ideal RNC. ==> // Supposing you typed, say, def RPn = mapToRatNorm(f,AI); ==> // you may access the ideal by typing ==> // setring RPn; RNC; setring(Rn); RNC; ==> RNC[1]=y(4)*y(5)-y(3)*y(6) ==> RNC[2]=y(2)*y(5)-y(1)*y(6) ==> RNC[3]=y(4)^2-y(2)*y(6) ==> RNC[4]=y(3)*y(4)-y(1)*y(6) ==> RNC[5]=11*y(1)*y(4)+7*y(2)*y(4)+8*y(1)*y(6)-3*y(2)*y(6)-10*y(3)*y(6)-10*y\ (4)*y(6)-y(6)^2 ==> RNC[6]=y(3)^2-y(1)*y(5) ==> RNC[7]=11*y(2)*y(3)+7*y(2)*y(4)+8*y(1)*y(6)-3*y(2)*y(6)-10*y(3)*y(6)-10*y\ (4)*y(6)-y(6)^2 ==> RNC[8]=11*y(1)*y(3)+7*y(1)*y(4)+8*y(1)*y(5)-10*y(3)*y(5)-3*y(1)*y(6)-10*y\ (3)*y(6)-y(5)*y(6) ==> RNC[9]=121*y(1)*y(2)+77*y(2)^2-89*y(2)*y(4)-174*y(1)*y(6)-86*y(2)*y(6)+80\ *y(3)*y(6)+69*y(4)*y(6)+8*y(6)^2 ==> RNC[10]=1331*y(1)^2-539*y(2)^2+1246*y(2)*y(4)-1914*y(1)*y(5)+880*y(3)*y(5\ )+984*y(1)*y(6)+335*y(2)*y(6)-691*y(3)*y(6)-1373*y(4)*y(6)+88*y(5)*y(6)-1\ 45*y(6)^2 rncItProjOdd(RNC); ==> _[1]=121*y(3)+77*y(4) ==> _[2]=-11*y(5)-7*y(6) ```