Skip to content

Base change to relative number field raises error #31

Description

@swewers

Problem

Base changing a plane curve to a relative number field raises an error. The same error should appear if we define a curve over such a field.

sage: from curves import ProjectivePlaneCurve
sage: R.<x,y,z> = QQ[]
sage: F = x^2*z+ y^3+x*y*z
sage: X = ProjectivePlaneCurve(F)
sage: S.<t> = QQ[]
sage: K.<a> = NumberField(t^2+2)
sage: L.<b> = K.extension(t^2+t+1)
sage: X.base_change(L)
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
...
NotImplementedError: Provably correct factorization not implemented. Disable this error by wrapping your code in a `with proof.WithProof('polynomial', False):` block.

The error is caused because the curve constructor from Sage calls the factor method for a multivariate polynomial ring. This is not implemented for polynomials over relative number fields. This is a problem for us because probably we can't avoid working over relative number fields.

Possible solutions

  • Disable polynomial proofs locally: wrap the curve construction in with proof.WithProof('polynomial', False): to allow non-certified factorization.

  • Disable polynomial proofs globally (session-wide): call proof.polynomial(False) once, then use Curve(F) normally.

  • Use a lower-level constructor: build the curve via AffinePlaneCurve_field to bypass irreducible/reduced checks entirely.

  • Manual lightweight checks (optional): test reducedness via gcd with partial derivatives; skip full irreducibility tests.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions