I know nothing about hyperelliptic curves.  From the code, it seems 
possible that `self._names` is not taken into account properly.

In jacobian_morphism.py, we have 

class JacobianMorphism_divisor_class_field(AdditiveGroupElement, 
SchemeMorphism):
[...]
    def __init__(self, parent, polys, check=True):
[...]
            f, h = C.hyperelliptic_polynomials()
            a, b = polys
            if not (b**2 + h*b - f) % a == 0:

and in your case, C.hyperelliptic_polynomials() gives

sage: C.hyperelliptic_polynomials()
(u^5 + u + 23, 0)

However, the caller JacobianHomset_divisor_classes.__call__ in  
jacobian_homset.py does the follwing:

    def __call__(self, P):
[...]
                    R = PolynomialRing(self.value_ring(), 'x')
                    P1 = R(P1)
                    P2 = R(P2)
                    return JacobianMorphism_divisor_class_field(self, (P1, 
P2))

i.e., it converts your input to polynomials in `x`.  So that cannot work.

Martin
On Wednesday 31 July 2024 at 17:03:36 UTC+2 Georgi Guninski wrote:

> Why the following doesn't work?
>
> Session:
> #Author: Georgi Guninski
> K.<u>=QQ[]
> C=HyperellipticCurve(u^5+u+5^2-2);
> J=C.jacobian();
> print("J=",J);
> P=J(1,5);
> #output
> J= Jacobian of Hyperelliptic Curve over Rational Field defined by y^2
> = x^5 + x + 23
>
> ---------------------------------------------------------------------------
> TypeError: unsupported operand parent(s) for *: 'Univariate Polynomial
> Ring in u over Rational Field' and 'Univariate Polynomial Ring in x
> over Rational Field'
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/865652f5-c874-444c-bb86-0c31b7f816f9n%40googlegroups.com.

Reply via email to