On Dec 4, 10:30 pm, "Justin C. Walker" <[EMAIL PROTECTED]> wrote:
> On Dec 4, 2007, at 1:04 PM, mabshoff wrote:
>
> > On Dec 4, 9:33 pm, "Justin C. Walker" <[EMAIL PROTECTED]> wrote:
> >> On Dec 3, 2007, at 23:27 , William Stein wrote:
> >> Still seeing mwrank crashing during the tests (10.5), but no comment
> >> in the logs.
>
> > Any chance you could narrow this down to a specific doctests case,
> > i.e. input parameters for mwrank? Then I could take a look then, but
> > just shooting into the blue seems pointless.
>
> I thought I batted that ball over to your court :-}
>

Yeah, I think it actually worked ;) - but for very different reasons
than you think :)

Here is a session from sage.math with input "[0,0,1,-1,0]":

[EMAIL PROTECTED]:/tmp/Work-mabshoff/release-cycles-2.9/sage-2.9.alpha0$ /
usr/local/valgrind-3.3.0svn-r6793/bin/valgrind  --tool=memcheck --leak-
resolution=high ./local/bin/mwrank
==30271== Memcheck, a memory error detector.
==30271== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et
al.
==30271== Using LibVEX rev 1786, a library for dynamic binary
translation.
==30271== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==30271== Using valgrind-3.3.0.SVN, a dynamic binary instrumentation
framework.
==30271== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et
al.
==30271== For more details, rerun with: -v
==30271==
Program mwrank: uses 2-descent (via 2-isogeny if possible) to
determine the rank of an elliptic curve E over Q, and list a
set of points which generate E(Q) modulo 2E(Q).
and finally saturate to obtain generating points on the curve.
For more details see the file mwrank.doc.
For details of algorithms see the author's book.

Please acknowledge use of this program in published work,
and send problems to [EMAIL PROTECTED]

Version compiled on Dec  4 2007 at 15:21:47 by GCC 4.1.2 20061115
(prerelease) (Debian 4.1.1-21)
using base arithmetic option NTL_ALL (NTL bigints and multiprecision
floating point)
Using NTL multiprecision floating point with 15 decimal places.
Enter curve: [0, 0, 1, -1, 0]

Curve [0,0,1,-1,0] :    Basic pair: I=48, J=-432
disc=255744
2-adic index bound = 2
By Lemma 5.1(a), 2-adic index = 1
2-adic index = 1
One (I,J) pair
Looking for quartics with I = 48, J = -432
Looking for Type 2 quartics:
Trying positive a from 1 up to 1 (square a first...)
(1,0,-6,4,1)    --trivial
Trying positive a from 1 up to 1 (...then non-square a)
Finished looking for Type 2 quartics.
Looking for Type 1 quartics:
Trying positive a from 1 up to 2 (square a first...)
(1,0,0,4,4)     --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [0:0:1]
        height = 0.0511114082399688
Rank of B=im(eps) increases to 1 (The previous point is on the egg)
Exiting search for Type 1 quartics after finding one which is globally
soluble.
Mordell rank contribution from B=im(eps) = 1
Selmer  rank contribution from B=im(eps) = 1
Sha     rank contribution from B=im(eps) = 0
Mordell rank contribution from A=ker(eps) = 0
Selmer  rank contribution from A=ker(eps) = 0
Sha     rank contribution from A=ker(eps) = 0
Rank = 1
Searching for points (bound = 8)...==30271== Conditional jump or move
depends on uninitialised value(s)
==30271==    at 0x4C393CE: qsieve::sift0(long, long, long, int) (in /
tmp/Work-mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/
libmwrank.so)
==30271==    by 0x4C397DA: qsieve::sift(long) (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C39E1A: qsieve::search() (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C2BF64: mw::search(NTL::RR, int, int) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4D2BA6C: two_descent::saturate(long) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x40162C: main (in /tmp/Work-mabshoff/release-
cycles-2.9/sage-2.9.alpha0/local/bin/mwrank)
==30271==
==30271== Conditional jump or move depends on uninitialised value(s)
==30271==    at 0x4C38D35: qsieve::check_point(unsigned long, long,
long, long*, int) (in /tmp/Work-mabshoff/release-cycles-2.9/
sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C393E7: qsieve::sift0(long, long, long, int) (in /
tmp/Work-mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/
libmwrank.so)
==30271==    by 0x4C397DA: qsieve::sift(long) (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C39E1A: qsieve::search() (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C2BF64: mw::search(NTL::RR, int, int) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4D2BA6C: two_descent::saturate(long) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x40162C: main (in /tmp/Work-mabshoff/release-
cycles-2.9/sage-2.9.alpha0/local/bin/mwrank)
==30271==
==30271== Conditional jump or move depends on uninitialised value(s)
==30271==    at 0x4C38D5E: qsieve::check_point(unsigned long, long,
long, long*, int) (in /tmp/Work-mabshoff/release-cycles-2.9/
sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C393E7: qsieve::sift0(long, long, long, int) (in /
tmp/Work-mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/
libmwrank.so)
==30271==    by 0x4C397DA: qsieve::sift(long) (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C39E1A: qsieve::search() (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C2BF64: mw::search(NTL::RR, int, int) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4D2BA6C: two_descent::saturate(long) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x40162C: main (in /tmp/Work-mabshoff/release-
cycles-2.9/sage-2.9.alpha0/local/bin/mwrank)
==30271==
==30271== Conditional jump or move depends on uninitialised value(s)
==30271==    at 0x4C38D66: qsieve::check_point(unsigned long, long,
long, long*, int) (in /tmp/Work-mabshoff/release-cycles-2.9/
sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C393E7: qsieve::sift0(long, long, long, int) (in /
tmp/Work-mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/
libmwrank.so)
==30271==    by 0x4C397DA: qsieve::sift(long) (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C39E1A: qsieve::search() (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C2BF64: mw::search(NTL::RR, int, int) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4D2BA6C: two_descent::saturate(long) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x40162C: main (in /tmp/Work-mabshoff/release-
cycles-2.9/sage-2.9.alpha0/local/bin/mwrank)
==30271==
==30271== Conditional jump or move depends on uninitialised value(s)
==30271==    at 0x4C391AC: qsieve::check_point(unsigned long, long,
long, long*, int) (in /tmp/Work-mabshoff/release-cycles-2.9/
sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C393E7: qsieve::sift0(long, long, long, int) (in /
tmp/Work-mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/
libmwrank.so)
==30271==    by 0x4C397DA: qsieve::sift(long) (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C39E1A: qsieve::search() (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C2BF64: mw::search(NTL::RR, int, int) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4D2BA6C: two_descent::saturate(long) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x40162C: main (in /tmp/Work-mabshoff/release-
cycles-2.9/sage-2.9.alpha0/local/bin/mwrank)
==30271==
==30271== Conditional jump or move depends on uninitialised value(s)
==30271==    at 0x4C391ED: qsieve::check_point(unsigned long, long,
long, long*, int) (in /tmp/Work-mabshoff/release-cycles-2.9/
sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C393E7: qsieve::sift0(long, long, long, int) (in /
tmp/Work-mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/
libmwrank.so)
==30271==    by 0x4C397DA: qsieve::sift(long) (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C39E1A: qsieve::search() (in /tmp/Work-mabshoff/
release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4C2BF64: mw::search(NTL::RR, int, int) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x4D2BA6C: two_descent::saturate(long) (in /tmp/Work-
mabshoff/release-cycles-2.9/sage-2.9.alpha0/local/lib/libmwrank.so)
==30271==    by 0x40162C: main (in /tmp/Work-mabshoff/release-
cycles-2.9/sage-2.9.alpha0/local/bin/mwrank)
done:
  found points of rank 1
  and regulator 0.0511114082399688
Processing points found during 2-descent...done:
  now regulator = 0.0511114082399688
Saturating (bound = 100)...done:
  points were already saturated.

Generator 1 is [0:-1:1]; height 0.0511114082399688

Regulator = 0.0511114082399688

The rank and full Mordell-Weil basis have been determined
unconditionally.


> I know it happens during the 'tut.tex' doc test, and on a few more
> way later in the tests; the latter whiz by quickly, so it's very hard
> to peg it.
>
> I will use the highly original trick of binary search :-}, and slice
> and dice tut.tex to see if I can nail it.  I'll try this tonight,
> when I'm home.
>

I hope you didn't waste any time on this ;)

> Justin

Cheers,

Michael

> --
> Justin C. Walker, Curmudgeon-At-Large
> Institute for the Enhancement of the Director's Income
> --------
> When LuteFisk is outlawed,
> Only outlaws will have LuteFisk
> --------
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to