On this page we will discuss how to generate and store rational curves we find on our hypersurface X : X_0^5 + … + X_5^5 = 0 over F_2 = Z/2Z. To simplify the discussion, on this page a rational curve of degree d will be a 6-tuple of homogeneous polynomials

`                    G_0, ..., G_5 ∈ F_2[S, T]`

of degree d with gcd(G_0, …, G_5) = 1 and with

`                    G_0^5 + ... + G_5^5 = 0`

• How do we generate these morphisms?
• How to present a morphism? (What data type to use?)
• How to define a standard ordering on these rational curves (so we can weed out doubles)
• Take into account that permuting the variables leaves the equation unchanged, so that if G_0, …, G_5 is a morphism, then so is G_1, G_0, G_2, G_3, G_4, G_5. This leads to a factor of 720 reduction if we cleverly order the morphisms
• Also two curves which differ by an automorphism of P^1 have exactly the same properties. How can we avoid weed out morphisms which differ by such an automorphism? This might lead to a factor 6 reduction.

• Pari scripts used to generate lists
• Output files produced

Here's a brute force script to compute degree 5 rational curves; it's fairly quick though 5 is well below the lower bound that Mingmin predicted for it to be possible to get free curves. Program can be modified easily for higher degree curves, but I imagine it will begin to get very slow very quickly: ratcurves.gp

Here is a script that tries to find rational curves in the following way: You pick random polynomials v, v, v, v, v of degree d in t over F_2. Then you set f = v^5 + v^5 + v^5 + v^5 + v^5. Then you see if f has degree divisible by 5 and f(0) is nonzero (to prevent stupid solutions). Next, you compute h = gcd(f, f'). If f is a fifth power, then the degree of h should be at least 4/5ths of the degree of f. It turns that this is a pretty good predictor for when f is a fifth power (although it doesn't always work, especially for low degrees). Then you just run this procedure many times: factor.gp There is still some work to do on this thing, because as I mentioned above it doesn't always work. But since f passes the test mentioned above seldomly you can write a separate (slow) function that finds the 5th root of f if there is one. Then we still have to “homogenize” to get actual curves so we can stick them into the script that finds splitting types.

Degree 5 Very Free Rational Curve Check (slows down around 4200): result_on_degree_5_curves.rtf

Degree 5 Very Free Rational Curve Check (does not slow down; it uses all the tricks I could think of): mike.gp I ran it here on my machine and it produced no output.

Here is a link to a page with material about the idea with triples: triples

Examples of degree 8 rational curves found with the triples method during the meeting of Moday, July 2:

```t^5 + t^2
t^8 + t^3 + t^2 + 1
t^8 + t^7 + t^6 + t^5 + t^4 + t^3 + t^2
t^8 + t^7 + t^5 + t
t^6 + t^3 + t^2 + 1
t^8 + t^6 + t^4 + t^2 + t```

and

```t^8 + t^7 + t^6 + t^3 + t^2 + t
t^8 + t^7 + t^6 + t^3 + t
t^7 + t^5 + t^4 + t^3 + t^2 + t + 1
t^7 + t^6 + t^5 + t^4 + t^2 + t
t^6 + t^4 + t^3 + t^2 + t
t^6 + t^5 + t^4 + t^3 + t^2 + t + 1```

and

```t^8 + t^3 + t + 1
t^8 + t^6 + t^3 + t
t^7 + t^6 + t^4 + t^3 + t
t^8 + t^7 + t^5 + t^4 + t^3 + t^2 + t + 1
t^6 + t + 1
t^8 + t^7 + t^6 + t^5 + t^4 + t^2 + t + 1``` 