#19112: Add a function "isometry" to the quadratic forms package.
-------------------------------------+-------------------------------------
Reporter: tgaona | Owner:
Type: enhancement | Status: needs_info
Priority: minor | Milestone: sage-6.10
Component: quadratic forms | Resolution:
Keywords: isometry | Merged in:
Authors: Tyler Gaona | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/tgaona/ticket/19112 | 9e211fecd4b525ad30276d37d442a68ce9bec8f0
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by jdemeyer):
That being said, I think you are really over-complicating the algorithm.
Suppose one of the forms is given by the diagonal `5*x0^2 + ...`. Then
really all you need to do in the first step is to find a vector `v` of
"length" 5. This can be done with some algorithm based on PARI's
`qfsolve()`: the only issue is that `qfsolve()` finds a projective point,
but you really want an affine point.
So I suggest to do the following:
1. implement an affine version of `qfsolve()` to solve equations of the
form `Q(x) = C` where `Q` is a quadratic form and `C` is a constant. Do
this in a separate Sage ticket.
2. use this new function to implement `isometry` on this ticket.
This will have several major advantages:
1. your code will be a lot faster.
2. it will no longer run forever if there is isometry (which is
unacceptable).
3. you can remove the assumption that your quadratic form is positive-
definite.
--
Ticket URL: <http://trac.sagemath.org/ticket/19112#comment:6>
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.