// The baby calculation of 3.2 RR := PolynomialRing(Rationals(),8); L := [a*x+b*y, a*z+b*t+c*x+d*y, c*z+d*t]; Dimension(Scheme(Spec(RR), L)); I := Ideal(L); X := PrimaryDecomposition(I); #X; X[2]; X[1]; (a*d-b*c)*(d*x-b*z) in I; (x*t-y*z)*(d*x-b*z) in I; (a*d-b*c)*(a*t-c*y) in I; (x*t-y*z)*(a*t-c*y) in I; (d*y-b*t+a*z-c*x) in I; (a*d-b*c)*(d*y-b*t+a*z-c*x) in I; (x*t-y*z)*(d*y-b*t+a*z-c*x) in I; ((a*d-b*c)*(x*t-y*z) - (a*z-c*x)^2) in I; (a*d-b*c)*((a*d-b*c)*(x*t-y*z) - (a*z-c*x)^2) in I; (x*t-y*z)*((a*d-b*c)*(x*t-y*z) - (a*z-c*x)^2) in I;