Sage: Ticket #9334: Implement Hilbert symbols over number fields
https://trac.sagemath.org/ticket/9334
<p>
Pari has Hilbert symbols for number fields. Hilbert symbols can be implemented by wrapping pari's function <code>nfhilbert</code>.
</p>
en-usSagehttps://trac.sagemath.org/chrome/site/logo_sagemath_trac.png
https://trac.sagemath.org/ticket/9334
Trac 1.1.6aly.deinesFri, 25 Jun 2010 06:50:05 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:1
https://trac.sagemath.org/ticket/9334#comment:1
<ul>
<li><strong>status</strong>
changed from <em>new</em> to <em>needs_work</em>
</li>
</ul>
<p>
Here all the functions are better placed. I still need to fix the code so that generalized_hilbert_symbol(a,b,P) doesn't assume a.valuation(P) and b.valuation(P) are 0 or 1.
</p>
Ticketaly.deinesFri, 25 Jun 2010 07:05:39 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:2
https://trac.sagemath.org/ticket/9334#comment:2
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
</ul>
<p>
I changed the code as Tim (correctly) suggested so as it doesn't assume reduced input.
</p>
Ticketaly.deinesSun, 27 Jun 2010 21:08:55 GMT
https://trac.sagemath.org/ticket/9334#comment:3
https://trac.sagemath.org/ticket/9334#comment:3
<p>
This has better uniformizer code.
</p>
TicketdavidloefflerMon, 28 Jun 2010 18:01:50 GMTstatus changed; work_issues set
https://trac.sagemath.org/ticket/9334#comment:4
https://trac.sagemath.org/ticket/9334#comment:4
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>needs_work</em>
</li>
<li><strong>work_issues</strong>
set to <em>patch does not apply</em>
</li>
</ul>
<p>
This doesn't seem to apply to 4.4.4. Does it require some other patch as a prerequisite? Also, the docstrings don't seem to be correctly ReST formatted (you should always run <code>sage -docbuild reference html</code> and check that there are no warnings before submitting a patch).
</p>
TicketdavidloefflerTue, 29 Jun 2010 11:13:47 GMTwork_issues changed
https://trac.sagemath.org/ticket/9334#comment:5
https://trac.sagemath.org/ticket/9334#comment:5
<ul>
<li><strong>work_issues</strong>
changed from <em>patch does not apply</em> to <em>ReST formatting issues</em>
</li>
</ul>
<p>
I see. So it's supposed to be applied on top of the patches at <a class="closed ticket" href="https://trac.sagemath.org/ticket/9317" title="enhancement: prime_to_S_part, is_S_unit, is_S_integral (closed: fixed)">#9317</a>. That's fine, but you should explain this in your trac upload messages. Don't repost random patches from other tickets on this ticket -- that's just unnecessary duplication, and it's confusing for the release maintainer when s/he has to merge stuff later.
</p>
<p>
Anyway: with the <a class="closed ticket" href="https://trac.sagemath.org/ticket/9317" title="enhancement: prime_to_S_part, is_S_unit, is_S_integral (closed: fixed)">#9317</a> patches in place these four patches apply fine, and all doctests pass. But they're quite hard to review, since you seem to have added code in one place in the first patch and then removed it and added it again somewhere else in the second. Could I suggest that you use the Mercurial "qfold" command to combine the four patches into one single patch? That would make the reviewer's job vastly easier. And don't forget those docstring formatting problems; the two that stand out most at a quick glance are that the LaTeX formulae should be in backticks not dollar signs (<code>`x^2 + 2`</code> etc), and the LaTeX fraction command is <code>\frac</code> not <code>\frak</code>.
</p>
Ticketaly.deinesTue, 29 Jun 2010 22:11:57 GMT
https://trac.sagemath.org/ticket/9334#comment:6
https://trac.sagemath.org/ticket/9334#comment:6
<p>
Here is one single patch. It does not depend on ticket <a class="closed ticket" href="https://trac.sagemath.org/ticket/9317" title="enhancement: prime_to_S_part, is_S_unit, is_S_integral (closed: fixed)">#9317</a>. This should have all the documentation fixed. Thank you for your patience, I've learned a lot about Mercurial and ReST formatting recently.
</p>
<p>
I also applied this on a clean clone of 4.4.2 to check that it would build, all the doctest pass, and the -docbuild looks correct.
</p>
TicketdavidloefflerWed, 30 Jun 2010 09:59:50 GMT
https://trac.sagemath.org/ticket/9334#comment:7
https://trac.sagemath.org/ticket/9334#comment:7
<p>
Most of this looks fine, and the docstring formatting is much better; but there are some technical issues.
</p>
<ul><li>The code in <code> solver_mod_p </code> is obviously wrong for n > 1: it calculates the inverse modulo P<sup>n</sup> but then takes the square root of this modulo P. You need some kind of Hensel lifting or suchlike to get an answer that's right modulo P<sup>n</sup>.
</li></ul><ul><li>The code in <code> uniformizer </code> is a mess (e.g. it trivially fails for any non-principal ideal in a number field of degree > 2, because you've assumed <code> self.integral_basis()</code> has length 2). But there's already a method <code> sage.rings.number_field.number_field.NumberField_generic.uniformizer </code> (taking a prime as an argument). I agree that it is worth having uniformizers accessible via a method of ideals as well, but it should just be a thin wrapper around the existing code.
</li></ul>
TicketcremonaTue, 06 Jul 2010 20:06:25 GMTwork_issues, milestone changed; cc, reviewer set
https://trac.sagemath.org/ticket/9334#comment:8
https://trac.sagemath.org/ticket/9334#comment:8
<ul>
<li><strong>cc</strong>
<em>mstreng</em> added
</li>
<li><strong>reviewer</strong>
set to <em>David Loeffler, John Cremona</em>
</li>
<li><strong>work_issues</strong>
changed from <em>ReST formatting issues</em> to <em>ReST formatting issues, and more</em>
</li>
<li><strong>milestone</strong>
changed from <em>sage-wishlist</em> to <em>sage-5.0</em>
</li>
</ul>
<p>
I generally agree with David's points. This code will be very useful for a topic begin done at SD23 (solving conics over various fields) so I am keen to get this in (suitably modified).
</p>
<p>
In generalized_legendre_symbol: (1) test P for primality first, before trying to construct its residue field. (2) instead of K(2).valuation(P) just test that n is odd. (3) don't raise run-time errors, make them <a class="missing wiki">ValueErrors?</a>?. (4) make the return types consistent: you return either +1 in k or -1 as a python int. I would return a Sage integer in either case. (5) you do not test if P divides self. If so, return 0 (as a Sage integer)>
</p>
<p>
Why are generalized_hilbert_symbol and _legendre_symbol in sage/rings/arith.py? I would put them both in number_fields -- where you put the even one in fact.
</p>
<p>
In generalized_even_hilbert_symbol you define but do not use iprime, so delete it. And do the simple calculation to get the coefficients of jprime<strong>2 so you don't need to construct the quaternion algebra. (You can leave in a comment about that).
</strong></p>
<p>
_voight_alg_6_2 has some <sup> symbols which should be <strong>. Check for others.
</strong></sup></p>
<p>
Do what David said about uniformizer -- just call the existing function.
</p>
<p>
Sort out the solve function.
</p>
TicketmstrengMon, 12 Jul 2010 12:07:51 GMT
https://trac.sagemath.org/ticket/9334#comment:9
https://trac.sagemath.org/ticket/9334#comment:9
<p>
Great, I could use this.
</p>
<p>
While you are still at it, I have a small wish list as well. Could you
</p>
<ul><li>Let the generalized even Hilbert symbol accept fractions (as the odd one and the QQ one do)?
<pre class="wiki">sage: hilbert_symbol(1/3, 1, 2)
1
sage: K.<i> = QuadraticField(-1)
sage: O = K.maximal_order()
sage: generalized_hilbert_symbol(K(1/2), K(1), 3*O)
1
sage: generalized_hilbert_symbol(K(1/3), K(1), (1+i)*O)
NotImplementedError: inverse_mod is not implemented for non-integral elements
</pre></li></ul><ul><li>Also add the Hilbert symbol for infinite places? See e.g.
<pre class="wiki">sage: hilbert_symbol(-1, -1, -1)
-1
</pre>This is almost trivial compared to what you've already done. I have code, contact me if you have questions.
</li></ul><ul><li>Correct the doc text. The doc of generalized_even_hilbert_symbol should say that P must divide 2, while generalized_hilbert_symbol should not say that P must be odd
</li></ul>
TicketmstrengMon, 12 Jul 2010 12:16:11 GMT
https://trac.sagemath.org/ticket/9334#comment:10
https://trac.sagemath.org/ticket/9334#comment:10
<p>
In addition to the first part of my precious comment: generalized_even_hilbert_symbol should accept a and b to both be divisible by p.
</p>
<pre class="wiki">sage: hilbert_symbol(2,2,2)
1
sage: K.<i>=QuadraticField(-1)
sage: O=K.maximal_order()
sage: generalized_hilbert_symbol(3,3,3*O)
1
sage: generalized_hilbert_symbol(2,2,2*O)
ValueError: P must be a prime
</pre>
TicketmstrengMon, 12 Jul 2010 12:17:52 GMT
https://trac.sagemath.org/ticket/9334#comment:11
https://trac.sagemath.org/ticket/9334#comment:11
<p>
Oops, the last two lines of my previous comment should of course read
</p>
<pre class="wiki">sage: p = 1+i
sage: generalized_hilbert_symbol(p,p,p*O)
RuntimeError: ord_P(a) or ord_P(b) must be zero
</pre>
TicketmstrengMon, 12 Jul 2010 14:08:48 GMTpriority changed
https://trac.sagemath.org/ticket/9334#comment:12
https://trac.sagemath.org/ticket/9334#comment:12
<ul>
<li><strong>priority</strong>
changed from <em>minor</em> to <em>major</em>
</li>
</ul>
TicketcremonaWed, 11 Aug 2010 20:48:07 GMTdescription, summary changed
https://trac.sagemath.org/ticket/9334#comment:13
https://trac.sagemath.org/ticket/9334#comment:13
<ul>
<li><strong>description</strong>
modified (<a href="/ticket/9334?action=diff&version=13">diff</a>)
</li>
<li><strong>summary</strong>
changed from <em>hilbert symbols!!!</em> to <em>Implement Hilbert symbols over number fields</em>
</li>
</ul>
<p>
Alyson, are you intending to fix the various points raised by reviewers here? If not, someone else should. Ticket <a class="needs_work ticket" href="https://trac.sagemath.org/ticket/9320" title="enhancement: Implement root numbers for elliptic curves over number fields (needs_work)">#9320</a> is waiting on this one.
</p>
Ticketaly.deinesWed, 11 Aug 2010 22:18:41 GMT
https://trac.sagemath.org/ticket/9334#comment:14
https://trac.sagemath.org/ticket/9334#comment:14
<p>
Here are the changes I've made so far:
</p>
<ol><li>in generalized_legendred_symbol I test for primality first
</li><li>instead of K(2).valuation(P) I just test that n is odd
</li><li>I've changed <a class="missing wiki">RunTime?</a> Errors to <a class="missing wiki">ValueErrors?</a>
</li><li>I return +/- 1 as sage integers
</li><li>I test if P|self and if so return 0 (as a sage integer)
</li><li>in generalized_hilbert_symbol I deleted iprime
</li><li>I did the calculation and have hard coded jprime<sup>2
</sup></li><li>I've replace <sup> with <strong> where necessary in _voight_alg_6_2
</strong></sup></li><li>Things should work for fractions
</li><li>generalized_hilbert_symbol should also accept a,b, divisible by p
</li></ol><p>
One question I have, does anyone know about hensel lifting in sage?
</p>
TicketcremonaThu, 12 Aug 2010 09:13:53 GMT
https://trac.sagemath.org/ticket/9334#comment:15
https://trac.sagemath.org/ticket/9334#comment:15
<p>
Excellent -- should it be "needs review" again then?
</p>
<p>
There must be places in Sage where Hensel lifting is done, but I do not know of any general framework for it. You could try asking David Roe, who (I think) wrote a lot of the p-adic code.
</p>
Ticketaly.deinesThu, 12 Aug 2010 17:56:39 GMT
https://trac.sagemath.org/ticket/9334#comment:16
https://trac.sagemath.org/ticket/9334#comment:16
<p>
No, it shouldn't be "needs review" yet. I still need to fix solver_mod_p.
</p>
Ticketaly.deinesThu, 19 Aug 2010 18:20:54 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:17
https://trac.sagemath.org/ticket/9334#comment:17
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
</ul>
<p>
I have fixed solver_mod so that it computes the square root mod P<sup>n.
</sup></p>
Ticketaly.deinesThu, 19 Aug 2010 21:04:47 GMT
https://trac.sagemath.org/ticket/9334#comment:18
https://trac.sagemath.org/ticket/9334#comment:18
<p>
Fixes/added documentation. Has the examples above in the documentation.
</p>
TicketrlmFri, 20 Aug 2010 00:36:06 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:19
https://trac.sagemath.org/ticket/9334#comment:19
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>needs_work</em>
</li>
</ul>
<p>
Based on 4.5.3.alpha1:
</p>
<pre class="wiki">sage -t sage/rings/number_field/number_field_ideal.py
**********************************************************************
File "/home/rlmill/sage-4.5.3.alpha1/devel/sage-main/sage/rings/number_field/number_field_ideal.py", line 1212:
sage: P.uniformizer()
Expected:
a + 4
Got:
-2*a + 1
**********************************************************************
File "/home/rlmill/sage-4.5.3.alpha1/devel/sage-main/sage/rings/number_field/number_field_ideal.py", line 1219:
sage: P.uniformizer()
Expected:
-7*a^4 + 13*a^3 - 13*a^2 - 2*a + 50
Got:
a^4 - a^3 + a^2 - a + 1
**********************************************************************
</pre>
Ticketaly.deinesFri, 20 Aug 2010 01:19:28 GMTattachment set
https://trac.sagemath.org/ticket/9334
https://trac.sagemath.org/ticket/9334
<ul>
<li><strong>attachment</strong>
set to <em>trac_9334-hilbert.patch</em>
</li>
</ul>
<p>
Fixes some documentation.
</p>
Ticketaly.deinesFri, 20 Aug 2010 01:20:53 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:20
https://trac.sagemath.org/ticket/9334#comment:20
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
</ul>
<p>
Ok, I checked at P.uniformizer() is just wrapping K.uniformizer(P). So assuming K.uniformizer(P) is correct (which it appears to be), I've fixed the documentation for P.uniformizer().
</p>
TicketmstrengFri, 20 Aug 2010 12:30:08 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:21
https://trac.sagemath.org/ticket/9334#comment:21
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>needs_work</em>
</li>
</ul>
<p>
Here are some comments have already been mentioned above:
</p>
<ul><li>why aren't generalized_hilbert_symbol and generalized_even_hilbert_symbol in the same file? (e.g. both in number_field as John suggested)
</li><li>the documentation of generalized_hilbert_symbol says that the prime should be odd, which isn't necessary, in fact, it would be good to have an even example in the doctest so this functionality doesn't get broken
</li><li>the documentation of generalized_even_hilbert_symbol doesn't say that the prime must be even, which it should!
</li></ul><p>
Also, generalized_even_hilbert_symbol is less powerful than the general one:
</p>
<pre class="wiki">sage: K.<i> = QuadraticField(-1)
sage: O = K.maximal_order()
sage: generalized_hilbert_symbol(K(1/3), K(1), (1+i)*O)
1
sage: generalized_even_hilbert_symbol(K(1/3), K(1), (1+i)*O)
...
NotImplementedError: inverse_mod is not implemented for non-integral elements
</pre><p>
So I guess the documentation of generalized_even_hilbert_symbol should say that the input should consist of integral elements? Possibly the documentation of generalized_even_hilbert_symbol could say that this is simply an auxiliary function and the user should call generalized_hilbert_symbol instead?
</p>
<p>
needs_work because of the documentation issues for generalized_even_hilbert_symbol
</p>
TicketmstrengFri, 20 Aug 2010 13:00:10 GMTreviewer changed
https://trac.sagemath.org/ticket/9334#comment:22
https://trac.sagemath.org/ticket/9334#comment:22
<ul>
<li><strong>reviewer</strong>
changed from <em>David Loeffler, John Cremona</em> to <em>David Loeffler, John Cremona, Marco Streng</em>
</li>
</ul>
<p>
here's a non-documentation reason for <code>needs_work</code>:
</p>
<pre class="wiki">sage: K.<i> = QuadraticField(-1)
sage: O = K.maximal_order()
sage: generalized_hilbert_symbol(K(-1/3), K(-2/3), (1+i)*O)
...
ValueError: self is not a square root mod P^n
</pre>
TicketmstrengFri, 20 Aug 2010 13:26:13 GMT
https://trac.sagemath.org/ticket/9334#comment:23
https://trac.sagemath.org/ticket/9334#comment:23
<p>
And here's another one. In Magma, I get:
</p>
<pre class="wiki">> L := QuadraticField(5);
> O := MaximalOrder(L);
> HilbertSymbol(L!-3, L!-2, 2*O);
1 1/2 + 1/2*i j
</pre><p>
In pari, I get:
</p>
<pre class="wiki">? k = nfinit(x^2-5)
...
? nfhilbert(k, -3, -2, idealprimedec(k, 2)[1])
%2 = 1
</pre><p>
But the patch gives:
</p>
<pre class="wiki">sage: L.<a> = QuadraticField(5)
sage: generalized_hilbert_symbol(L(-3), L(-2), 2*O)
-1
</pre><p>
Something is wrong...
</p>
TicketcremonaFri, 20 Aug 2010 14:54:32 GMT
https://trac.sagemath.org/ticket/9334#comment:24
https://trac.sagemath.org/ticket/9334#comment:24
<p>
In fact, what are the reasons for implementing this independently rather than using pari's function?
</p>
TicketmstrengWed, 08 Dec 2010 09:48:00 GMTattachment set
https://trac.sagemath.org/ticket/9334
https://trac.sagemath.org/ticket/9334
<ul>
<li><strong>attachment</strong>
set to <em>trac_9334_nfhilbert.patch</em>
</li>
</ul>
<p>
interface to pari's nfhilbert, apply only this file
</p>
TicketmstrengWed, 08 Dec 2010 09:57:51 GMTdescription, work_issues, author changed
https://trac.sagemath.org/ticket/9334#comment:25
https://trac.sagemath.org/ticket/9334#comment:25
<ul>
<li><strong>description</strong>
modified (<a href="/ticket/9334?action=diff&version=25">diff</a>)
</li>
<li><strong>work_issues</strong>
changed from <em>ReST formatting issues, and more</em> to <em>bug in Pari 2.4.3</em>
</li>
<li><strong>author</strong>
changed from <em>aly.deines</em> to <em>Aly Deines, Marco Streng</em>
</li>
</ul>
<p>
All that needed to be done was wrap pari's nfhilbert function and copy Aly's doctests, but...
</p>
<p>
One of those doctests revealed yet another bug introduced by the pari upgrade. See <a class="ext-link" href="http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1147"><span class="icon"></span>http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1147</a>
</p>
<p>
Apply trac_9334_nfhilbert.patch once pari bug 1147 is fixed and that fix reaches Sage.
</p>
<p>
Possible future improvements:
</p>
<ul><li>implement also for relative number fields by simply delegating to the absolute case
</li></ul><ul><li>implement also for QQ by wrapping the global function hilbert_symbol as a member of QQ
</li></ul>
TicketdavidloefflerWed, 08 Dec 2010 11:31:59 GMTupstream changed
https://trac.sagemath.org/ticket/9334#comment:26
https://trac.sagemath.org/ticket/9334#comment:26
<ul>
<li><strong>upstream</strong>
changed from <em>N/A</em> to <em>Reported upstream. Little or no feedback.</em>
</li>
</ul>
TicketjdemeyerWed, 12 Jan 2011 02:22:37 GMTupstream changed
https://trac.sagemath.org/ticket/9334#comment:27
https://trac.sagemath.org/ticket/9334#comment:27
<ul>
<li><strong>upstream</strong>
changed from <em>Reported upstream. Little or no feedback.</em> to <em>Reported upstream. Developers acknowledge bug.</em>
</li>
</ul>
TicketmstrengWed, 16 Feb 2011 10:19:02 GMTwork_issues changed
https://trac.sagemath.org/ticket/9334#comment:28
https://trac.sagemath.org/ticket/9334#comment:28
<ul>
<li><strong>work_issues</strong>
changed from <em>bug in Pari 2.4.3</em> to <em>either wait for Pari bug 1147 to be fixed, or finish Aly Deines' independent Sage implementation</em>
</li>
</ul>
TicketmstrengTue, 05 Apr 2011 14:48:56 GMTcc, work_issues, upstream changed
https://trac.sagemath.org/ticket/9334#comment:29
https://trac.sagemath.org/ticket/9334#comment:29
<ul>
<li><strong>cc</strong>
<em>jdemeyer</em> added
</li>
<li><strong>work_issues</strong>
changed from <em>either wait for Pari bug 1147 to be fixed, or finish Aly Deines' independent Sage implementation</em> to <em>update pari in sage, and make sure all doctests in this patch are correct (or finish Aly Deines' independent implementation)</em>
</li>
<li><strong>upstream</strong>
changed from <em>Reported upstream. Developers acknowledge bug.</em> to <em>Fixed upstream, but not in a stable release.</em>
</li>
</ul>
<p>
The pari bug resulting in incorrect outputs of nfhilbert was fixed in Pari svn revision 13063 2011-04-05 14:03:38 +0100 (Tue, 05 Apr 2011).
</p>
<p>
How do we get this fix into Sage?
</p>
TicketjdemeyerTue, 05 Apr 2011 14:55:39 GMT
https://trac.sagemath.org/ticket/9334#comment:30
https://trac.sagemath.org/ticket/9334#comment:30
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:29" title="Comment 29">mstreng</a>:
</p>
<blockquote class="citation">
<p>
The pari bug resulting in incorrect outputs of nfhilbert was fixed in Pari svn revision 13063 2011-04-05 14:03:38 +0100 (Tue, 05 Apr 2011).
</p>
<p>
How do we get this fix into Sage?
</p>
</blockquote>
<p>
I am currently maintaining the PARI spkg for Sage, so asking me is the best way.
</p>
TicketjdemeyerTue, 05 Apr 2011 15:01:40 GMT
https://trac.sagemath.org/ticket/9334#comment:31
https://trac.sagemath.org/ticket/9334#comment:31
<p>
See <a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a>.
</p>
TicketjdemeyerTue, 27 Sep 2011 09:45:09 GMTupstream, work_issues, description changed; dependencies set
https://trac.sagemath.org/ticket/9334#comment:32
https://trac.sagemath.org/ticket/9334#comment:32
<ul>
<li><strong>upstream</strong>
changed from <em>Fixed upstream, but not in a stable release.</em> to <em>Fixed upstream, in a later stable release.</em>
</li>
<li><strong>work_issues</strong>
changed from <em>update pari in sage, and make sure all doctests in this patch are correct (or finish Aly Deines' independent implementation)</em> to <em>make sure all doctests in this patch are correct (or finish Aly Deines' independent implementation)</em>
</li>
<li><strong>dependencies</strong>
set to <em>#11304, #11540, #11130</em>
</li>
<li><strong>description</strong>
modified (<a href="/ticket/9334?action=diff&version=32">diff</a>)
</li>
</ul>
TicketmstrengTue, 27 Sep 2011 10:06:40 GMTdescription, work_issues changed
https://trac.sagemath.org/ticket/9334#comment:33
https://trac.sagemath.org/ticket/9334#comment:33
<ul>
<li><strong>description</strong>
modified (<a href="/ticket/9334?action=diff&version=33">diff</a>)
</li>
<li><strong>work_issues</strong>
changed from <em>make sure all doctests in this patch are correct (or finish Aly Deines' independent implementation)</em> to <em>correct the doctests</em>
</li>
</ul>
<p>
apply trac_9334_nfhilbert.patch
</p>
TicketcremonaTue, 27 Sep 2011 10:46:31 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:34
https://trac.sagemath.org/ticket/9334#comment:34
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
</ul>
<p>
Patch applies fine to 4.7.2.alpha2 + <a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a>; testing now. Meanwhile, just a small point -- in the docstring it says that P must be a prime ideal of self, but it can also be (1) an element of self which generates a prime ideal, or (2) a real or complex place of self. This is well illustrated in the examples, but it should also be stated in the INPUT block.
</p>
<p>
Any chance you could change the docstring while I am doing the testing?
</p>
TicketmstrengTue, 27 Sep 2011 10:48:06 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:35
https://trac.sagemath.org/ticket/9334#comment:35
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>needs_work</em>
</li>
</ul>
<p>
Some doctests disagree with Magma, so I hope they will fail!
</p>
TicketmstrengTue, 27 Sep 2011 10:56:38 GMTwork_issues changed
https://trac.sagemath.org/ticket/9334#comment:36
https://trac.sagemath.org/ticket/9334#comment:36
<ul>
<li><strong>work_issues</strong>
changed from <em>correct the doctests</em> to <em>correct the doctests, change the INPUT in the documentation</em>
</li>
</ul>
<p>
According to Magma V2.17-9, the following changes make the doctests correct:
</p>
<p>
replace
</p>
<pre class="wiki">sage: K.hilbert_symbol(p,p,p*O)
-1
</pre><p>
by
</p>
<pre class="wiki">sage: K.hilbert_symbol(p,p,p)
1
sage: K.hilbert_symbol(p,3*p,p)
-1
sage: K.hilbert_symbol(3,p,p)
-1
</pre><p>
remove duplicate
</p>
<pre class="wiki">sage: K.hilbert_symbol(a,b,P)
-1
</pre><p>
and for the remaining one, replace -1 by 1
</p>
<p>
replace -1 by 1 in
</p>
<pre class="wiki">sage: K.hilbert_symbol(a, 2, P)
-1
</pre><p>
Then the "various other examples" contain a lot of uninteresting 1s, of which we can remove a few.
</p>
TicketcremonaTue, 27 Sep 2011 11:55:55 GMT
https://trac.sagemath.org/ticket/9334#comment:37
https://trac.sagemath.org/ticket/9334#comment:37
<p>
Testing on 4.7.2.alpha2+<a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a> I get these failures:
</p>
<pre class="wiki">sage -t -long "devel/sage-main/sage/rings/number_field/number_field.py"
**********************************************************************
File "/home/jec/sage-4.7.2.alpha2.11130/devel/sage-main/sage/rings/number_field/number_field.py", line 6737:
sage: K.hilbert_symbol(p,p,p*O)
Expected:
-1
Got:
1
**********************************************************************
File "/home/jec/sage-4.7.2.alpha2.11130/devel/sage-main/sage/rings/number_field/number_field.py", line 6763:
sage: K.hilbert_symbol(a,b,P)
Expected:
-1
Got:
1
**********************************************************************
File "/home/jec/sage-4.7.2.alpha2.11130/devel/sage-main/sage/rings/number_field/number_field.py", line 6770:
sage: K.hilbert_symbol(a, b, P)
Expected:
-1
Got:
1
**********************************************************************
File "/home/jec/sage-4.7.2.alpha2.11130/devel/sage-main/sage/rings/number_field/number_field.py", line 6772:
sage: K.hilbert_symbol(a, 2, P)
Expected:
-1
Got:
1
**********************************************************************
</pre>
TicketjdemeyerTue, 27 Sep 2011 12:23:11 GMT
https://trac.sagemath.org/ticket/9334#comment:38
https://trac.sagemath.org/ticket/9334#comment:38
<p>
This looks bad:
</p>
<pre class="wiki">sage: K.<t> = NumberField(x^3 - x + 1)
sage: K.pari_nf().nfhilbert(t,t+1)
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/usr/local/src/sage-4.7.2.alpha2/<ipython console> in <module>()
/usr/local/src/sage-4.7.2.alpha2/local/lib/python2.6/site-packages/sage/libs/pari/gen.so in sage.libs.pari.gen.gen.nfhilbert (sage/libs/pari/gen.c:29966)()
RuntimeError: Segmentation fault
</pre><p>
I can't immediately figure out the cause, it is probably a bug somewhere in PARI or the Sage-PARI interface,
</p>
TicketjdemeyerTue, 27 Sep 2011 12:43:42 GMT
https://trac.sagemath.org/ticket/9334#comment:39
https://trac.sagemath.org/ticket/9334#comment:39
<p>
The Segmentation Fault is probably <a class="closed ticket" href="https://trac.sagemath.org/ticket/11854" title="defect: Fix conversion QQ -> PARI (closed: fixed)">#11854</a>.
</p>
TicketmstrengTue, 27 Sep 2011 15:09:21 GMTwork_issues changed
https://trac.sagemath.org/ticket/9334#comment:40
https://trac.sagemath.org/ticket/9334#comment:40
<ul>
<li><strong>work_issues</strong>
changed from <em>correct the doctests, change the INPUT in the documentation</em> to <em>correct the doctests, change the INPUT in the documentation, fix problems with global hilbert symbols, check out seemingly unrelated doctest failures in other files</em>
</li>
</ul>
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:38" title="Comment 38">jdemeyer</a>:
</p>
<blockquote class="citation">
<p>
This looks bad:
</p>
</blockquote>
<p>
This is about global Hilbert symbols, while all the doctests are about local ones. Thanks for noticing.
</p>
<p>
Do you want to close this ticket at the same time as <a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a>? If not, then I'll wait until I can download a version with <a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a> included, and then try to fix the problems here.
</p>
TicketjdemeyerTue, 27 Sep 2011 16:32:12 GMT
https://trac.sagemath.org/ticket/9334#comment:41
https://trac.sagemath.org/ticket/9334#comment:41
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:40" title="Comment 40">mstreng</a>:
</p>
<blockquote class="citation">
<p>
Do you want to close this ticket at the same time as <a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a>?
</p>
</blockquote>
<p>
I don't think there is any reason to do so. I will leave it up to you to decide what to do. For now, I will continue investigating the Segmentation Fault issue.
</p>
TicketjdemeyerWed, 28 Sep 2011 07:20:19 GMT
https://trac.sagemath.org/ticket/9334#comment:42
https://trac.sagemath.org/ticket/9334#comment:42
<p>
Unfortunately, <a class="closed ticket" href="https://trac.sagemath.org/ticket/11854" title="defect: Fix conversion QQ -> PARI (closed: fixed)">#11854</a> does <em>not</em> fix the Segmentation Fault.
</p>
TicketjdemeyerWed, 28 Sep 2011 08:05:24 GMT
https://trac.sagemath.org/ticket/9334#comment:43
https://trac.sagemath.org/ticket/9334#comment:43
<p>
The Segmentation Fault actually shows a major design problem with the Sage->PARI interface (essentially, the <code>t0GEN</code> system is broken by design).
</p>
<p>
As for this ticket, as far as I'm concerned you may ignore this. It has essentially nothing to do with this ticket and (hopefully) it can only be reproduced by <em>directly</em> calling PARI (i.e. doing <code>K.pari_nf().nfhilbert(t,t+1)</code> instead of <code>K.hilbert_symbol(t,t+1)</code>.)
</p>
TicketcremonaWed, 28 Sep 2011 09:01:37 GMT
https://trac.sagemath.org/ticket/9334#comment:44
https://trac.sagemath.org/ticket/9334#comment:44
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:43" title="Comment 43">jdemeyer</a>:
</p>
<blockquote class="citation">
<p>
The Segmentation Fault actually shows a major design problem with the Sage->PARI interface (essentially, the <code>t0GEN</code> system is broken by design).
</p>
</blockquote>
<p>
So there should be a new ticket made which explains this major design problem, so that it is on our todo-list at least.
</p>
TicketjdemeyerThu, 29 Sep 2011 08:53:26 GMT
https://trac.sagemath.org/ticket/9334#comment:45
https://trac.sagemath.org/ticket/9334#comment:45
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:44" title="Comment 44">cremona</a>:
</p>
<blockquote class="citation">
<p>
So there should be a new ticket made which explains this major design problem, so that it is on our todo-list at least.
</p>
</blockquote>
<p>
See <a class="closed ticket" href="https://trac.sagemath.org/ticket/11868" title="defect: PARI library interface broken by design (closed: fixed)">#11868</a>.
</p>
TicketjdemeyerThu, 29 Sep 2011 09:42:32 GMTwork_issues, description changed
https://trac.sagemath.org/ticket/9334#comment:46
https://trac.sagemath.org/ticket/9334#comment:46
<ul>
<li><strong>work_issues</strong>
changed from <em>correct the doctests, change the INPUT in the documentation, fix problems with global hilbert symbols, check out seemingly unrelated doctest failures in other files</em> to <em>fix problems/add doctests with global hilbert symbols, check out seemingly unrelated doctest failures in other files</em>
</li>
<li><strong>description</strong>
modified (<a href="/ticket/9334?action=diff&version=46">diff</a>)
</li>
</ul>
TicketjdemeyerThu, 29 Sep 2011 09:45:19 GMTreviewer changed
https://trac.sagemath.org/ticket/9334#comment:47
https://trac.sagemath.org/ticket/9334#comment:47
<ul>
<li><strong>reviewer</strong>
changed from <em>David Loeffler, John Cremona, Marco Streng</em> to <em>David Loeffler, John Cremona, Marco Streng, Jeroen Demeyer</em>
</li>
</ul>
TicketdavidloefflerThu, 29 Sep 2011 09:53:29 GMTdescription changed
https://trac.sagemath.org/ticket/9334#comment:48
https://trac.sagemath.org/ticket/9334#comment:48
<ul>
<li><strong>description</strong>
modified (<a href="/ticket/9334?action=diff&version=48">diff</a>)
</li>
</ul>
<p>
I presume you didn't mean to apply two copies of the same patch! Is this ready for review again now?
</p>
TicketjdemeyerThu, 29 Sep 2011 10:03:27 GMT
https://trac.sagemath.org/ticket/9334#comment:49
https://trac.sagemath.org/ticket/9334#comment:49
<p>
I'm going to make some further changes.
</p>
TicketmstrengThu, 29 Sep 2011 10:12:18 GMT
https://trac.sagemath.org/ticket/9334#comment:50
https://trac.sagemath.org/ticket/9334#comment:50
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:48" title="Comment 48">davidloeffler</a>:
</p>
<blockquote class="citation">
<p>
Is this ready for review again now?
</p>
</blockquote>
<p>
There is still a duplicate example, and a lot of examples that return 1 now that they are corrected. I think we should remove some of these, and add some -1's such as the ones in my comment 2 days ago.
</p>
<p>
Also, what is the output type now? In my patch, I converted it to Integer. Jeroen removed that conversion, but what does cdef long give us?
</p>
<p>
Finally, in my patch, I had self(a), but Jeroen turned this into a. How carefully does Pari check whether stuff is in the right field?
</p>
TicketmstrengThu, 29 Sep 2011 10:22:09 GMT
https://trac.sagemath.org/ticket/9334#comment:51
https://trac.sagemath.org/ticket/9334#comment:51
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:50" title="Comment 50">mstreng</a>:
</p>
<blockquote class="citation">
<p>
Finally, in my patch, I had self(a), but Jeroen turned this into a. How carefully does Pari check whether stuff is in the right field?
</p>
</blockquote>
<p>
Wow, even Sage doesn't check this:
</p>
<pre class="wiki">----------------------------------------------------------------------
| Sage Version 4.7.1, Release Date: 2011-08-11 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: K.<a> = NumberField(x^3+x+1)
sage: L.<b> = NumberField(x^3+2*x+2)
sage: K(b)
a
</pre><p>
so my <code>self(a)</code> was pretty useless and we may want to do this:
</p>
<pre class="wiki">if not (a in self and b in self):
raise ValueError, ...
</pre>
TicketjdemeyerThu, 29 Sep 2011 10:24:54 GMTattachment set
https://trac.sagemath.org/ticket/9334
https://trac.sagemath.org/ticket/9334
<ul>
<li><strong>attachment</strong>
set to <em>9334_review_jdemeyer.patch</em>
</li>
</ul>
TicketjdemeyerThu, 29 Sep 2011 10:28:33 GMTwork_issues, author changed
https://trac.sagemath.org/ticket/9334#comment:52
https://trac.sagemath.org/ticket/9334#comment:52
<ul>
<li><strong>work_issues</strong>
changed from <em>fix problems/add doctests with global hilbert symbols, check out seemingly unrelated doctest failures in other files</em> to <em>add/remove some doctests</em>
</li>
<li><strong>author</strong>
changed from <em>Aly Deines, Marco Streng</em> to <em>Aly Deines, Marco Streng, Jeroen Demeyer</em>
</li>
</ul>
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:50" title="Comment 50">mstreng</a>:
</p>
<blockquote class="citation">
<p>
There is still a duplicate example, and a lot of examples that return 1 now that they are corrected. I think we should remove some of these, and add some -1's such as the ones in my comment 2 days ago.
</p>
</blockquote>
<p>
Please do it!
</p>
<blockquote class="citation">
<p>
Also, what is the output type now? In my patch, I converted it to Integer. Jeroen removed that conversion, but what does cdef long give us?
</p>
</blockquote>
<p>
It will be Python <code>int</code>. I see no reason to return a Sage Integer.
</p>
<blockquote class="citation">
<p>
Finally, in my patch, I had self(a), but Jeroen turned this into a. How carefully does Pari check whether stuff is in the right field?
</p>
</blockquote>
<p>
I only <em>moved</em> <code></code>a = self(a)<code></code> up in the code.
</p>
TicketcremonaThu, 29 Sep 2011 10:35:46 GMT
https://trac.sagemath.org/ticket/9334#comment:53
https://trac.sagemath.org/ticket/9334#comment:53
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:51" title="Comment 51">mstreng</a>:
</p>
<pre class="wiki">----------------------------------------------------------------------
| Sage Version 4.7.1, Release Date: 2011-08-11 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: K.<a> = NumberField(x^3+x+1)
sage: L.<b> = NumberField(x^3+2*x+2)
sage: K(b)
a
</pre><p>
I think this is a horrible bug. There is no embedding from L to K! A very generic <code>__call__</code> method is used, and is definitely not doing the right thing here.
</p>
TicketdavidloefflerThu, 29 Sep 2011 10:39:31 GMT
https://trac.sagemath.org/ticket/9334#comment:54
https://trac.sagemath.org/ticket/9334#comment:54
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:53" title="Comment 53">cremona</a>:
</p>
<blockquote class="citation">
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:51" title="Comment 51">mstreng</a>:
</p>
<pre class="wiki">----------------------------------------------------------------------
| Sage Version 4.7.1, Release Date: 2011-08-11 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: K.<a> = NumberField(x^3+x+1)
sage: L.<b> = NumberField(x^3+2*x+2)
sage: K(b)
a
</pre><p>
I think this is a horrible bug. There is no embedding from L to K! A very generic <code>__call__</code> method is used, and is definitely not doing the right thing here.
</p>
</blockquote>
<p>
I agree -- that's horrible! It's not so generic actually: the offending code is the method <code>NumberField_absolute._coerce_from_other_number_field</code> which just converts to a polynomial and back:
</p>
<pre class="wiki">f = self.polynomial_ring()(x.polynomial())
return self._element_class(self, f)
</pre><p>
This is mathematically meaningless unless either the other field is isomorphic to self, or x is actually in Q. I suggest we raise this on sage-nt, and maybe open a ticket to fix it ASAP.
</p>
TicketmstrengThu, 29 Sep 2011 10:46:26 GMT
https://trac.sagemath.org/ticket/9334#comment:55
https://trac.sagemath.org/ticket/9334#comment:55
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:52" title="Comment 52">jdemeyer</a>:
</p>
<blockquote class="citation">
<p>
It will be Python <code>int</code>. I see no reason to return a Sage Integer.
</p>
</blockquote>
<p>
Python ints are fine with me, I was afraid it would be a pari object. I would have liked some uniformity, but that's missing already.
</p>
<pre class="wiki">sage: type(legendre_symbol(3,5))
<type 'int'>
sage: type(hilbert_symbol(3,5,7))
<type 'sage.rings.integer.Integer'>
sage: type(jacobi_symbol(3,5))
<type 'sage.rings.integer.Integer'>
</pre><p>
I want all symbols to behave nicely with division by Sage integers, but that's fine with <code>int</code>
</p>
<pre class="wiki">sage: int(1)/ZZ(2)
1/2
</pre>
TicketmstrengThu, 29 Sep 2011 10:49:14 GMT
https://trac.sagemath.org/ticket/9334#comment:56
https://trac.sagemath.org/ticket/9334#comment:56
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:53" title="Comment 53">cremona</a>:
</p>
<blockquote class="citation">
<p>
I think this is a horrible bug. There is no embedding from L to K! A very generic <code>__call__</code> method is used, and is definitely not doing the right thing here.
</p>
</blockquote>
<p>
Is there a ticket for this yet?
</p>
TicketdavidloefflerThu, 29 Sep 2011 10:57:33 GMT
https://trac.sagemath.org/ticket/9334#comment:57
https://trac.sagemath.org/ticket/9334#comment:57
<p>
Sage-nt thread here: <a class="ext-link" href="http://groups.google.com/group/sage-nt/browse_thread/thread/9108218411e7f0a6"><span class="icon"></span>http://groups.google.com/group/sage-nt/browse_thread/thread/9108218411e7f0a6</a>
</p>
TicketjdemeyerThu, 29 Sep 2011 12:13:56 GMT
https://trac.sagemath.org/ticket/9334#comment:58
https://trac.sagemath.org/ticket/9334#comment:58
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:56" title="Comment 56">mstreng</a>:
</p>
<blockquote class="citation">
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:53" title="Comment 53">cremona</a>:
</p>
<blockquote class="citation">
<p>
I think this is a horrible bug. There is no embedding from L to K! A very generic <code>__call__</code> method is used, and is definitely not doing the right thing here.
</p>
</blockquote>
<p>
Is there a ticket for this yet?
</p>
</blockquote>
<p>
Just made one: <a class="closed ticket" href="https://trac.sagemath.org/ticket/11869" title="defect: Horrible bug in number field conversion (closed: fixed)">#11869</a>.
</p>
TicketmstrengThu, 29 Sep 2011 21:18:49 GMT
https://trac.sagemath.org/ticket/9334#comment:59
https://trac.sagemath.org/ticket/9334#comment:59
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:52" title="Comment 52">jdemeyer</a>:
</p>
<blockquote class="citation">
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/9334#comment:50" title="Comment 50">mstreng</a>:
</p>
<blockquote class="citation">
<p>
There is still a duplicate example, and a lot of examples that return 1 now that they are corrected. I think we should remove some of these, and add some -1's such as the ones in my comment 2 days ago.
</p>
</blockquote>
<p>
Please do it!
</p>
</blockquote>
<p>
I could, but I wouldn't be able to test it, and it may need to be rebased afterwards: I failed to install <a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a>.
</p>
TicketmstrengFri, 30 Sep 2011 19:24:10 GMTstatus changed
https://trac.sagemath.org/ticket/9334#comment:60
https://trac.sagemath.org/ticket/9334#comment:60
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>positive_review</em>
</li>
</ul>
<p>
Positive review for the reviewer patch. I noticed that it included extra -1 examples and removed the duplicate example, and I did not find removing examples worth the trouble.
</p>
<p>
I also managed to build <a class="closed ticket" href="https://trac.sagemath.org/ticket/11130" title="defect: Update PARI to version 2.5.0 (closed: fixed)">#11130</a> and found that all tests pass. I'm assuming Jeroen gives a positive review to what he didn't change, and that his reviewer patch was ready for review, so I'm setting the whole ticket to positive review.
</p>
TicketjdemeyerTue, 04 Oct 2011 07:35:44 GMTmilestone changed
https://trac.sagemath.org/ticket/9334#comment:61
https://trac.sagemath.org/ticket/9334#comment:61
<ul>
<li><strong>milestone</strong>
changed from <em>sage-5.0</em> to <em>sage-4.7.3</em>
</li>
</ul>
TicketjdemeyerThu, 06 Oct 2011 12:00:21 GMTwork_issues deleted
https://trac.sagemath.org/ticket/9334#comment:62
https://trac.sagemath.org/ticket/9334#comment:62
<ul>
<li><strong>work_issues</strong>
<em>add/remove some doctests</em> deleted
</li>
</ul>
TicketjdemeyerSat, 22 Oct 2011 16:49:27 GMTmilestone changed
https://trac.sagemath.org/ticket/9334#comment:63
https://trac.sagemath.org/ticket/9334#comment:63
<ul>
<li><strong>milestone</strong>
changed from <em>sage-4.7.3</em> to <em>sage-pending</em>
</li>
</ul>
TicketjdemeyerThu, 03 Nov 2011 09:10:30 GMTmilestone changed
https://trac.sagemath.org/ticket/9334#comment:64
https://trac.sagemath.org/ticket/9334#comment:64
<ul>
<li><strong>milestone</strong>
changed from <em>sage-pending</em> to <em>sage-4.7.3</em>
</li>
</ul>
TicketjdemeyerThu, 03 Nov 2011 16:14:43 GMTmilestone deleted
https://trac.sagemath.org/ticket/9334#comment:65
https://trac.sagemath.org/ticket/9334#comment:65
<ul>
<li><strong>milestone</strong>
<em>sage-4.7.3</em> deleted
</li>
</ul>
<p>
Milestone sage-4.7.3 deleted
</p>
TicketjdemeyerMon, 07 Nov 2011 10:11:32 GMTstatus changed; resolution, merged, milestone set
https://trac.sagemath.org/ticket/9334#comment:66
https://trac.sagemath.org/ticket/9334#comment:66
<ul>
<li><strong>status</strong>
changed from <em>positive_review</em> to <em>closed</em>
</li>
<li><strong>resolution</strong>
set to <em>fixed</em>
</li>
<li><strong>merged</strong>
set to <em>sage-4.8.alpha1</em>
</li>
<li><strong>milestone</strong>
set to <em>sage-4.8</em>
</li>
</ul>
Ticket