Opened 8 years ago
Closed 8 years ago
#10297 closed defect (fixed)
Creating morphisms between projective varieties fails
Reported by: | cremona | Owned by: | AlexGhitza |
---|---|---|---|
Priority: | major | Milestone: | sage-4.6.2 |
Component: | algebraic geometry | Keywords: | scheme projective morphism |
Cc: | Niels, AlexGhitza | Merged in: | sage-4.6.2.alpha0 |
Authors: | John Cremona | Reviewers: | Andrey Novoseltsev |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
Construction of morphisms between projective varieties which are no projective space itself fails, since the test that the defining polynomials are homogeneous and of the same degree cannot test QuotientRingElement
s as these do not have is_homogeneous()
or degree()
methods.
Example:
sage: P2.<x,y,z>=ProjectiveSpace(QQ,2) sage: f = x^3+y^3+60*z^3 sage: g = y^2*z-( x^3 - 6400*z^3/3) sage: C = Curve(f) sage: E = Curve(g) sage: xbar,ybar,zbar=C.coordinate_ring().gens() sage: H = C.Hom(E) sage: H([zbar,xbar-ybar,-(xbar+ybar)/80]) --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /home/jec/<ipython console> in <module>() /home/jec/sage-current/local/lib/python2.6/site-packages/sage/schemes/generic/homset.pyc in __call__(self, x, check) 234 """ 235 if isinstance(x, (list, tuple)): --> 236 return self.domain()._point_morphism_class(self, x, check=check) 237 238 if is_RingHomomorphism(x): /home/jec/sage-current/local/lib/python2.6/site-packages/sage/schemes/generic/algebraic_scheme.pyc in _point_morphism_class(self, *args, **kwds) 1099 class AlgebraicScheme_subscheme_projective(AlgebraicScheme_subscheme): 1100 def _point_morphism_class(self, *args, **kwds): -> 1101 return morphism.SchemeMorphism_on_points_projective_space(*args, **kwds) 1102 1103 def dimension(self): /home/jec/sage-current/local/lib/python2.6/site-packages/sage/schemes/generic/morphism.pyc in __init__(self, parent, polys, check) 456 # morphisms from projective space are always given by 457 # homogeneous polynomials of the same degree --> 458 deg = self.defining_polynomials()[0].degree() 459 for poly in self.defining_polynomials(): 460 if (poly.degree() != deg) or not poly.is_homogeneous(): /home/jec/sage-current/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.Element.__getattr__ (sage/structure/element.c:2666)() /home/jec/sage-current/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.getattr_from_other_class (sage/structure/parent.c:2840)() /home/jec/sage-current/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.raise_attribute_error (sage/structure/parent.c:2638)() AttributeError: 'QuotientRingElement' object has no attribute 'degree'
Patch up soon.
Attachments (1)
Change History (5)
Changed 8 years ago by
comment:1 Changed 8 years ago by
- Status changed from new to needs_review
comment:2 Changed 8 years ago by
- Cc AlexGhitza added
I am CC'ing AlexGhitza? since the problem was caused by #3964 of he was the author (and I was the referee who clearly did not do a good job!)
comment:3 Changed 8 years ago by
- Reviewers set to Andrey Novoseltsev
- Status changed from needs_review to positive_review
Fixes the error reported in this ticket, positive review!
comment:4 Changed 8 years ago by
- Merged in set to sage-4.6.2.alpha0
- Resolution set to fixed
- Status changed from positive_review to closed
Note: See
TracTickets for help on using
tickets.
applies to 4.6.1.alpha1