bnfisprincipal (pari-2.13.0) | : | bnfisprincipal (pari-2.13.1) | ||
---|---|---|---|---|

Function: bnfisprincipal | Function: bnfisprincipal | |||

Section: number_fields | Section: number_fields | |||

C-Name: bnfisprincipal0 | C-Name: bnfisprincipal0 | |||

Prototype: GGD1,L, | Prototype: GGD1,L, | |||

Help: bnfisprincipal(bnf,x,{flag=1}): bnf being output by bnfinit, gives | Help: bnfisprincipal(bnf,x,{flag=1}): bnf being output by bnfinit, gives | |||

[e,t], where e is the vector of exponents on | [e,t], where e is the vector of exponents on the class group generators and | |||

the class group generators and t is the generator of the resulting | t is the generator of the resulting principal ideal. In particular x is | |||

principal ideal. In particular x is principal if and only if v is the zero | principal if and only if e is the zero vector. flag is optional, whose | |||

vector. flag is optional, whose binary digits mean 1: output [e,t] (only e | binary digits mean 1: output [e,t] (only e if unset); 2: increase precision | |||

if unset); 2: increase precision until alpha can be computed (do not insist | until alpha can be computed (do not insist if unset); 4: return alpha in | |||

if unset); 4: return alpha in factored form (compact representation). | factored form (compact representation). | |||

Doc: $\var{bnf}$ being the \sidx{principal ideal} | Doc: $\var{bnf}$ being the \sidx{principal ideal} | |||

number field data output by \kbd{bnfinit}, and $x$ being an ideal, this | number field data output by \kbd{bnfinit}, and $x$ being an ideal, this | |||

function tests whether the ideal is principal or not. The result is more | function tests whether the ideal is principal or not. The result is more | |||

complete than a simple true/false answer and solves a general discrete | complete than a simple true/false answer and solves a general discrete | |||

logarithm problem. Assume the class group is $\oplus (\Z/d_i\Z)g_i$ | logarithm problem. Assume the class group is $\oplus (\Z/d_i\Z)g_i$ | |||

(where the generators $g_i$ and their orders $d_i$ are respectively given by | (where the generators $g_i$ and their orders $d_i$ are respectively given by | |||

\kbd{bnf.gen} and \kbd{bnf.cyc}). The routine returns a row vector $[e,t]$, | \kbd{bnf.gen} and \kbd{bnf.cyc}). The routine returns a row vector $[e,t]$, | |||

where $e$ is a vector of exponents $0 \leq e_i < d_i$, and $t$ is a number | where $e$ is a vector of exponents $0 \leq e_i < d_i$, and $t$ is a number | |||

field element such that | field element such that | |||

$$ x = (t) \prod_i g_i^{e_i}.$$ | $$ x = (t) \prod_i g_i^{e_i}.$$ | |||

End of changes. 1 change blocks. | ||||

6 lines changed or deleted | | 6 lines changed or added |