This is Mike's upload page. Who knows what will come next?

Probably Mike.

As one might notice, most of my coding solutions lack comments. I can assure you that this is not due to the elegance and readability of the code, but rather is a product of my extreme distaste for commenting. Nonetheless, I will be sure to rectify this sooner than later.

**Exercises**

**#4**: exercise_4.rtf

Abbr. #9: exercise_9.rtf -Assumes projective line inputs of the form P = (1:P), and so ignoring the case of any point of the form (0:1).

**#12**: exercise_12.rtf -A rather dumb solution that effectively takes all possible factorizations of pairs as its only checks, and runs through possible outcomes. Consequently, avoid feeding it large primes. I'll work on a less time-complex solution if necessary.

**#15**: exercise_15.rtf -Draft of a future program that I have to make smarter in order to be usable, so feed it very small primes that aren't 2. Won't return any output on conics that hit only a single point (because a parametrization is perhaps less interesting in this case). Returns a point on the conic and (hopefully) a nontrivial parametrization. I'll edit and improve this later.

**#17.b**: exercise_17.rtf -Works over the reals as well as finite fields. A marginally less dumb solution than a brute force check that uses linear algebra and actually runs relatively quickly. Look I'm learning, kind of.

**#22**: A more thorough solution: exercise_22.pdf. Summary: Glossing over a few details (that will probably be addressed in the eventual program), consider your singular point *p* and define an automorphism of P^2 that sends *p* to the point (0:0:1) (such an automorphism clearly exists). Then, dehomogenizing by letting z=1, the partial derivatives all vanishing forces the coefficients of the linear terms in the cubic equation to be zero. Parametrizing by the line *y=tx* thus yields an equation in which we can divide out a factor of x^2 corresponding to the point at the origin, and uniquely identifies all other x in terms of t. Similarly, one can solve for y, yielding a parametrization of the cubic. After an algebra bash and rehomogenizing, we obtain the general parametrization for a cubic with singular point (0:0:1) of the form *F(X,Y,Z) = AX^3 + BX^2Y + CX^2Z + DXY^2 + EXZ^2 + FXYZ + GY^3 + HZ^3 + IY^2Z + JYZ^2*, and this parametrization comes out to be (assuming no mistakes on my part), *(Ist^2 + Fs^2t + Cs^3 : It^3 + Fst^2 + Cs^2t : Gt^3 + Dst^2 + Bs^2t + As^3)*. Send this back through your inverted automorphism and voila, a parametrization for your cubic.

**#24**: Consider a general cubic surface S: F = 0 over an algebraically closed field so that, in P^3, (prepare for some annoyingly long expressions)

F(W,X,Y,Z) = a*W^3 + b*W^2*X + c*W^2*Y + d*W^2*Z + e*W*X^2 + f*W*Y^2 + g*W*Z^2 + h*W*X*Y + i*W*X*Z + j*W*Y*Z + k*X^3 + l*Y^3 + m*Z^3 + n*X^2*Y + o*X^2*Z + p*X*Y^2 + q*X*Z^2 + r*X*Y*Z + s*Y^2*Z + t*Y*Z^2

let us dehomogenize by setting Z=1 (presuming the whole thing doesn't lie in infinity) so that:

F(W,X,Y) = a*W^3 + b*W^2*X + c*W^2*Y + d*W^2 + e*W*X^2 + f*W*Y^2 + g*W + h*W*X*Y + i*W*X + j*W*Y + k*X^3 + l*Y^3 + m + n*X^2*Y + o*X^2 + p*X*Y^2 + q*X + r*X*Y + s*Y^2 + t*Y

Now, picking a point on the surface, let us translate by that point so that (0,0,0) lies on the surface. I'm not going to rename the coefficients, but note that they are now different. In particular, m=0. Any who, we are going to intersect the surface with a plane tangent to the surface to get our rational curve.

Let's find a tangent plane like we did in calc 3. Taking the gradient of F and evaluating at the point (0,0,0), we preserve only the linear terms so that,

F_W(0,0,0) = g

F_X(0,0,0) = q

F_Y(0,0,0) = t

This gives us the plane g*W + q*X + t*Y = 0. Considering the intersection between the plane and the cubic, i.e. plugging in g*W = -q*X - t*Y to the cubic equation, we see that all the linear terms are killed. Assuming WLOG that g ≠ 0, this gives a new cubic polynomial representing some cubic curve, having fixed two restraints and giving us the polynomial F(X,Y), with no linear terms. So taking the partial derivatives of this function, since there are no linear terms, there are no constant terms in the partials. Thus all the partials vanish mutually at (0,0,0) so that (0,0,0) is a singular point. We know by a previous exercise that a singular cubic is parametrizable, so this is a rational curve on the cubic and can be obtained by negating the translation and rehomogenizing.

**#30**: By exercise 28, we can consider some finite generating set consisting of solely homogeneous terms. Then, there exist two numbers X and Y such that we can generate arbitrary non-negative integers in the following fashion: we can “add to the steps” by adding generators in some grading, i.e. choosing M_n to be a K-vector space of arbitrary finite dimension. We can also “subtract from the steps” by choosing M_n to quotient out some appropriately graded previous generator. However, by exercise 29, before some X, the dimension of all M_n are zero. On the other side, after exhausting all of our generators, past some point we have a finite number of dimensions with our only possible operation being choosing some M_n to kill these dimensions. Since there are finitely many steps we can take down, at this point there must exist some Y after which the Hilbert function becomes constant.

Thus, in summary, it would seem that the Hilbert function of a finitely generated graded R-module must take the form ….,0,0,0,0,0,a_1,a_2, … ,a_n,c,c,c,c,…. for arbitrary non-negative integers a_i and c.

**#34**: As we did in class, since the component polynomials are relatively prime, the map eventually becomes surjective, implying that:

H_Ω(m) = dim(R(-d)_m^(n+1)) - dim(R_m) = (n+1)(m+1-d) - (m+1) = nm-d(n+1) + n.

Clearly then, since once the map becomes surjective, the Hilbert function increases at a constant rate, we have that:

P_Ω(m) = nm - d(n+1)+n.

**#36**: I'm not sure why this map is always surjective for sufficiently large m*, but it is clearly true in the case of the Fermat hypersurface since the gcd remains 1, so a similar calculation as in #34 shows us that:

H_E(m) = dim(R(d)^(n+1)) - dim(R(ed)) = (n+1)(m+1+d) - (m+1+ed) = nm + d(n+1-e)+n.

So that by the same reasoning above,

P_E(m) = nm + (d(n+1-e)+n).

**#37**: Following the Professor's instructions, via shifting and multiplying by 4, for each e_i we obtain generating Ω, we obtain a generator for E_X by 4e_i+5d. Though I'm still not sure how to show that each of these is an actual generator, though if you don't think too hard it kind of makes sense that it should be.