up previous next
 2.2.19 Rational Normal Curve
In this example, we compute the ideal of the rational normal curve of degree N in P^N then compute its Poincare series for a range of values of N.

 Example
 ``` Define Minor2(M, I, J) Return M[1,I] M[2,J] - M[2,I] M[1,J]; EndDefine; Define Rational_Normal_Curve_Ideal(N) -- first define the 2xN matrix whose 2x2 minors generate the ideal M := NewMat(2, N); For C := 0 To N-1 Do M[1,C+1] := x[C]; M[2,C+1] := x[C+1]; EndFor; -- then construct the generators of the ideal L := []; For C1 := 1 To N-1 Do For C2 := C1+1 To N Do P := M[1,C1] M[2,C2] - M[2,C1] M[1,C2]; -- determinant for columns C1,C2 Append(L, P) EndFor; EndFor; Return Ideal(L); EndDefine; For N := 3 To 5 Do S ::= QQ[x[0..N]], Lex; PrintLn NewLine, "degree ", N; Using S Do -- switch, temporarily, to ring S I := Rational_Normal_Curve_Ideal(N); Print "Poincare series: ", Poincare(S/I); EndUsing; PrintLn; EndFor; -- for statement degree 3 Poincare series: (1 + 2x[0]) / (1-x[0])^2 degree 4 Poincare series: (1 + 3x[0]) / (1-x[0])^2 degree 5 Poincare series: (1 + 4x[0]) / (1-x[0])^2 ------------------------------- ```