Changes between Initial Version and Version 13 of Ticket #2329


Ignore:
Timestamp:
08/17/10 14:04:06 (11 years ago)
Author:
mstreng
Comment:

As nobody replied here any more, I attacked the ticket myself by changing Craig's patch.

I've addressed Nick's concerns and replaced the documentation to reflect better what is in the Pari documentation (which weakens some claims considerably unfortunately).

x.is_norm() now decides whether an element x is a norm (proven output), while x.rnfisnorm() gives exactly the output that Pari's rnfisnorm would give.

The output of is_norm is True or False. With element=True, it also gives an element of norm x (or None if it doesn't exist). The function element_of_norm is removed, to avoid confusion with elements_of_norm.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2329

    • Property Status changed from new to assigned
    • Property Authors changed from to Craig Citro, Marco Streng
    • Property Cc ncalexan mstreng added
    • Property Report Upstream changed from to N/A
    • Property Component changed from number theory to number fields
    • Property 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
    • Property Priority changed from minor to major
    • Property Keywords editor_craigcitro added
    • Property Milestone changed from sage-2.11 to sage-2.10.4
    • Property Owner changed from was to craigcitro
    • Property Reviewers changed from to Nick Alexander
  • Ticket #2329 – Description

    initial v13  
    11This patch adds support to solve norm equations via Pari.
    22
    3 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`.
     3Quick summary: given an element `x` of any number field (even `QQ`), `x.is_norm(L)` will return `True` if and only if `x` is a norm from `L`. It is also able to return an element of `L` whose norm is `x`.
    44
    5 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).
    6 
    7 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`.
     5The 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 hopefully in a later version 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`.