#19001: Conic diagonalization fails on some base fields
----------------------------------+-----------------------
Reporter: lackermans | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: algebraic geometry | Keywords:
Merged in: | Authors:
Reviewers: | Report Upstream: N/A
Work issues: | Branch:
Commit: | Dependencies:
Stopgaps: |
----------------------------------+-----------------------
The function
`sage.schemes.plane_conics.con_field.ProjectiveConic_field.hom()` with
codomain argument `Y` given fails on base fields for which sage doesn't
know how to simplify fractions of polynomials. Consequently
`diagonalization()` fails for cases that I need to implement #6881.
My current workaround is to, in case of characteristic 0, convert the
fraction `q` to a symbolic expression and back. I'm not sure if this is
mathematically okay, and this still leaves infinite fields of positive
characteristic.
But is it really necessary for `diagonalization()` to check if the found
matrix transformation gives the required morphism?
'''Example:'''
{{{
#!python
sage: K = FractionField(PolynomialRing(QQ, 't')); (t,) = K.gens(); C =
Conic(K, [1/2,0, 1, 2, 0, 3])
sage: C.diagonalization()
---------------------------------------------------------------------------
ValueError Traceback (most recent call
last)
<ipython-input-2-c3844e29eb5c> in <module>()
----> 1 C.diagonalization()
/home/lennart/sage-build/sage-6.7/local/lib/python2.7/site-
packages/sage/schemes/plane_conics/con_field.pyc in diagonalization(self,
names)
339 D, T = self.diagonal_matrix()
340 con = Conic(D, names = names)
--> 341 return con, con.hom(T, self), self.hom(T.inverse(), con)
342
343 def gens(self):
/home/lennart/sage-build/sage-6.7/local/lib/python2.7/site-
packages/sage/schemes/plane_conics/con_field.pyc in hom(self, x, Y)
656 raise ValueError("The matrix x (= %s) does not
define a " \
657 "map from self (= %s) to Y
(= %s)" % \
--> 658 (x, self, Y))
659 x = Sequence(x*vector(self.ambient_space().gens()))
660 return self.Hom(Y)(x, check = False)
ValueError: The matrix x (= [ 1 0 -1]
[ 0 1 0]
[ 0 0 1]) does not define a map from self (= Projective Conic Curve over
Fraction Field of Univariate Polynomial Ring in t over Rational Field
defined by 1/2*x^2 + 2*y^2 + 5/2*z^2) to Y (= Projective C
onic Curve over Fraction Field of Univariate Polynomial Ring in t over
Rational Field defined by 1/2*x^2 + 2*y^2 + x*z + 3*z^2)
}}}
--
Ticket URL: <http://trac.sagemath.org/ticket/19001>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.