New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a function "isometry" to the quadratic forms package. #19112
Comments
Branch: u/tgaona/ticket/19112 |
Commit: |
Changed work issues from needs implementation to none |
comment:3
This looks like it reinvents the already-existing method |
comment:4
Hi Jeroen, Sorry for the slow response. This method should be able to return isometries for forms over fields, where I believe is_globally_equivalent_to just works over the ring of integers. For example:
So Q is equivalent to F over the rationals, but is_globally_equivalent_to doesn't recognize this. This method was intended to complement the is_rationally_isometric method, so perhaps it should be refactored to work in a similar manner as is_globally_equivalent_to, i.e, adding an optional flag to is_rationally_isometric to return the transition matrix for the isometry. |
comment:5
Right, I think it's better to mention this more clearly in the documentation (I always get confused when quadratic-form people talk about isomorphic/isometric/equivalent, I never know what they mean). |
comment:6
That being said, I think you are really over-complicating the algorithm. Suppose one of the forms is given by the diagonal So I suggest to do the following:
This will have several major advantages:
|
comment:7
Also, your branch is based on an old version of Sage. You should really develop from the latest beta version (currently |
comment:8
Please follow http://doc.sagemath.org/html/en/developer/coding_basics.html#documentation-strings for the correct formatting of docstrings. |
comment:10
I will make it more clear in the documentation that the method returns a transformation matrix, as opposed to saying it returns an isometry. As to your second point, I agree that a cleaner, more efficient replacement for the first step of the algorithm is very desirable. However, I have looked at the source for PARI's
I can fix this by throwing an exception when I will fix the formatting in the docstring. |
Dependencies: #18669 |
comment:11
Given that your new functionality relies on |
comment:12
About solving quadratic forms: Suppose you want to solve Case 1: If Case 2: We found a solution It would be great if you could implement this on a separate ticket. |
comment:13
Thanks for the clear explanation. I've opened up a separate ticket for this, and will address the various changes you've suggested. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:56
the patchbot results look OK (apart from pyflake plugin, which might tell you how to improve the code). |
comment:57
Tickets still needing working or clarification should be moved to the next release milestone at the soonest (please feel free to revert if you think the ticket is close to being resolved). |
comment:58
Ticket retargeted after milestone closed |
comment:59
Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date. |
Changed branch from u/tgaona/ticket/19112 to u/sbrandhorst/ticket/19112 |
Changed author from Tyler Gaona to Tyler Gaona, Simon Brandorst |
comment:63
I guess my contribution counts as a reviewer patch... |
Changed branch from u/sbrandhorst/ticket/19112 to |
Changed author from Tyler Gaona, Simon Brandorst to Tyler Gaona, Simon Brandhorst |
Changed commit from |
Adds a function "isometry" that returns an isometry from one rational quadratic form to another, provided that it exists.
CC: @annahaensch @sagetrac-tgaona
Component: quadratic forms
Keywords: isometry
Author: Tyler Gaona, Simon Brandhorst
Branch:
ffa5295
Reviewer: Simon Brandhorst
Issue created by migration from https://trac.sagemath.org/ticket/19112
The text was updated successfully, but these errors were encountered: