Skip to content
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

Construct a quaternion algebra over a number field by specifying its ramification #16948

Open
mmasdeu opened this issue Sep 9, 2014 · 31 comments · May be fixed by #37189
Open

Construct a quaternion algebra over a number field by specifying its ramification #16948

mmasdeu opened this issue Sep 9, 2014 · 31 comments · May be fixed by #37189

Comments

@mmasdeu
Copy link
Sponsor

mmasdeu commented Sep 9, 2014

There is a need for the constructor QuaternionAlgebra to take as input a number field F and a ramification (specified by an ideal D in F and a set of real places S of F) and which constructs a quaternion algebra over F with ramified precisely at the primes dividing D and at the places in S.

We have code to add here, which is now being tested and documented.

CC: @tornaria

Component: number theory

Keywords: quaternion algebra, ramification

Author: Marc Masdeu, Xavier Guitart

Branch/Commit: u/mmasdeu/16948-review @ fcf1a69

Issue created by migration from https://trac.sagemath.org/ticket/16948

@mmasdeu mmasdeu added this to the sage-6.4 milestone Sep 9, 2014
@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Sep 16, 2014

Commit: 2d2cfa9

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Sep 16, 2014

comment:1

The code passes all doctests and runs in reasonable time. I think it is ready for review.

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Sep 16, 2014

@jdemeyer
Copy link

comment:2

Just a remark: this functionality is in PARI now, so you could just try to wrap PARI.

@fchapoton
Copy link
Contributor

comment:3

Please use python3 raise syntax: raise Error('msg')

see patchbot report in plugin raise_statement for the lines with a bad raise syntax

@fchapoton fchapoton modified the milestones: sage-6.4, sage-6.8 Jul 8, 2015
@fchapoton
Copy link
Contributor

New commits:

de9cb12Merge branch 'u/mmasdeu/16948-quatalg-from-ramification' into 6.8
2c21a0bcorrect py3 syntax for raise

@fchapoton
Copy link
Contributor

Changed branch from u/mmasdeu/16948-quatalg-from-ramification to public/ticket/16948

@fchapoton
Copy link
Contributor

Changed commit from 2d2cfa9 to 2c21a0b

@fchapoton fchapoton modified the milestones: sage-6.8, sage-6.9 Jul 27, 2015
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 28, 2015

Changed commit from 2c21a0b to b29e4f8

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 28, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

b29e4f8trac #16948 some details in code and documentation

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Apr 14, 2016

Changed commit from b29e4f8 to e5c0916

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Apr 14, 2016

New commits:

e5c0916Added missing docstrings in number_field.py so that patchbot is happy.

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Apr 14, 2016

Changed branch from public/ticket/16948 to u/mmasdeu/16948

@mmasdeu mmasdeu modified the milestones: sage-6.9, sage-7.2 Apr 14, 2016
@roed314
Copy link
Contributor

roed314 commented Jul 14, 2016

comment:9

This no longer merges with sage 7.2 (according to trac).

@fchapoton
Copy link
Contributor

comment:10

merge done, was easy


New commits:

fe1008aMerge branch 'u/mmasdeu/16948' in 7.3.b7

@fchapoton
Copy link
Contributor

Changed commit from e5c0916 to fe1008a

@fchapoton
Copy link
Contributor

Changed branch from u/mmasdeu/16948 to public/16948

@fchapoton fchapoton modified the milestones: sage-7.2, sage-7.3 Jul 14, 2016
@fchapoton fchapoton modified the milestones: sage-7.3, sage-7.4 Aug 10, 2016
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 21, 2016

Changed commit from fe1008a to cdae032

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 21, 2016

Branch pushed to git repo; I updated commit sha1. New commits:

cdae032Merge branch 'public/16948' in 7.4.b5

@nsirolli
Copy link

comment:14

A small remark regarding the ValueError in line 636: the exponents in the
discriminant factorization should be equal to 1, and not just odd.

By the way, is there a reason why the input is an ideal of F instead of a list
of prime ideals of F? If I want to construct a quaternion algebra with a
prescribed ramification set of finite primes, I'd have to use their product as
input, and then the constructor would have to factor it back (see line 634).

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 14, 2017

Changed commit from cdae032 to 5284a37

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 14, 2017

Branch pushed to git repo; I updated commit sha1. New commits:

5284a37Merge branch 'public/16948' in 7.6.b4

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 14, 2017

Branch pushed to git repo; I updated commit sha1. New commits:

73272e3trac 16948 fixing bad merge

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 14, 2017

Changed commit from 5284a37 to 73272e3

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 14, 2017

Changed commit from 73272e3 to 355c58d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 14, 2017

Branch pushed to git repo; I updated commit sha1. New commits:

355c58dtrac 16498 some details in weak_approximation

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Feb 23, 2017

Changed commit from 355c58d to fcf1a69

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Feb 23, 2017

comment:18

Thanks for the comments! Please take a look at the changes I have introduced.

Replying to @nsirolli:

A small remark regarding the ValueError in line 636: the exponents in the
discriminant factorization should be equal to 1, and not just odd.

By the way, is there a reason why the input is an ideal of F instead of a list
of prime ideals of F? If I want to construct a quaternion algebra with a
prescribed ramification set of finite primes, I'd have to use their product as
input, and then the constructor would have to factor it back (see line 634).


New commits:

fcf1a69Trac 16948: adopted changes proposed by nsirolli.

@mmasdeu
Copy link
Sponsor Author

mmasdeu commented Feb 23, 2017

Changed branch from public/16948 to u/mmasdeu/16948-review

@nsirolli
Copy link

nsirolli commented Mar 1, 2017

comment:19

Thanks for accepting my proposal.

Now the new input format, QuaternionAlgebra(K, "list of primes", S) is quite different from the one you are extending to number fields other than QQ, QuaternionAlgebra(D). I feel this controversy should be avoided. The problem could be addressed by letting this new constructor accept both a discriminant and a list of primes as input. A more radical solution would be to change the classical QuaternionAlgebra(D) to take a list of primes as input, but I guess that it could cause trouble.

Besides this, here are some remarks about the changes introduced in this commit:

  • Line 245 of quaternion_algebra.py should be fixed, since it does not reflect the new input format.

  • The documentation needs to take account of these changes; see lines 92-94, 605-607, 625 of quaternion_algebra.py and line 1835 of number_fields.py

  • Line 589 of quaternion_algebra.py and lines 1804, 1815, 1817 of number_fields.py: shouldn't the name of the list of prime ideales be L or P instead of I?

@fchapoton
Copy link
Contributor

comment:20

needs rebase, does not apply

@mkoeppe mkoeppe removed this from the sage-7.4 milestone Dec 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants