Ticket #2329 (assigned enhancement)

Opened 10 months ago

Last modified 3 months ago

[with patch, pending another patch] add interface to Pari's rnfisnorm

Reported by: craigcitro Assigned to: craigcitro (accepted)
Priority: minor Milestone: sage-3.4
Component: number theory Keywords: editor_craigcitro
Cc: ncalexan

Description

This patch adds support to solve norm equations via Pari.

Quick summary: given an element x of any number field (even QQ), x.is_norm(L) will return False if x is not a norm from L, and if x is a norm from L, will return an element of L whose norm is x.

According to the Pari documentation, these functions depend on GRH when L/K is not known to be Galois, and work independent of any such hypothesis otherwise (at least, that's what I got from reading the Pari manual).

The data used by Pari to compute whether or not an element is a norm can be computed once for each extension L/K. The function pari_rnfnorm_data computes exactly this, and its result can be passed to is_norm to avoid recomputing it each time in the case that K != QQ. If K is QQ, there is no need to save any such data -- the only data needed is that of K.pari_bnf(), which is used instead, and is already cached by K.

Attachments

trac-2329.patch (12.7 kB) - added by craigcitro on 02/27/2008 01:04:30 AM.
trac-2329-pt2.patch (11.5 kB) - added by craigcitro on 04/05/2008 04:41:53 PM.
2329-ccitro-pari-indexing-fixes-1.patch (5.3 kB) - added by ncalexan on 04/14/2008 11:22:05 PM.

Change History

02/27/2008 01:04:30 AM changed by craigcitro

  • attachment trac-2329.patch added.

02/27/2008 11:41:51 AM changed by ncalexan

  • cc set to ncalexan.

I have some questions.

There seems to be two things in this patch: changes to pari/gen, and access to stuff to do with norms. Is the latter independent of the former? I'd be a lot happier with the latter if that's true, because I'm not expert in the Pari interface.

Also, what relation does this have to "elements_of_norm"? There needs to be some unification, I think. Also, having is_norm() not always return a boolean is not good, IMO. I say is_norm -> Boolean and element_of_norm raises an exception if is_norm is not True.

I will gladly referee and have cc'ed myself.

02/27/2008 01:49:41 PM changed by craigcitro

  • owner changed from was to craigcitro.
  • status changed from new to assigned.

03/11/2008 10:19:48 PM changed by rlm

  • milestone changed from sage-2.11 to sage-2.10.4.

03/31/2008 04:45:38 PM changed by ncalexan

Craig, what's the status on this patch? I need it as we speak :) Are you interested in completing this or should I implement the changes I think are necessary and kick it back to you for refereeing?

03/31/2008 05:19:36 PM changed by craigcitro

Nick, I'd be more than happy to have you finish this guy off. I think all the code is there, it just needs to be cleaned up and unified here and there. I just haven't had time to get back to it since you posted the referee report -- but if you want to clean this up, I'll review it for you lickety-split.

04/05/2008 04:41:38 PM changed by craigcitro

Added a second patch that addresses all of the above issues.

04/05/2008 04:41:53 PM changed by craigcitro

  • attachment trac-2329-pt2.patch added.

04/06/2008 04:09:23 PM changed by craigcitro

  • summary changed from [with patch, needs review] add interface to Pari's rnfisnorm to [with patch, pending another patch] add interface to Pari's rnfisnorm.

04/14/2008 11:22:05 PM changed by ncalexan

  • attachment 2329-ccitro-pari-indexing-fixes-1.patch added.

04/14/2008 11:23:00 PM changed by ncalexan

The last patch separates out very useful fixes to the pari/gen.pyx that should be applied now.

The remainder of the functionality requires some more substantial changes and is a work in progress.

06/19/2008 09:30:06 PM changed by craigcitro

  • keywords set to editor_craigcitro.

09/27/2008 03:34:29 PM changed by mabshoff

This has been sitting around forever. Any movement here?

Cheers,

Michael