__color__,ticket,summary,component,milestone,type,owner,status,created,_changetime,_description,_reporter
1,12447,update the file COPYING.txt,distribution,sage-5.10,defect,tbd,needs_review,2012-02-04T14:44:46-08:00,2013-05-24T14:07:03-07:00,"The file `COPYING.txt` in the top-level directory looks out-of-date to me: it is missing entries for a number of our spkgs (e.g. blas, boehm-gc, and boost-cropped, just for the first few in alphabetical order), and it has entries for some things we haven't distributed in years (like clisp and gnuplotpy). For the spkgs which still belong on the list, I also don't know how accurate the information is.

I'm attaching a small patch for the developer's guide about this, but the file COPYING.txt needs a lot of work.",jhpalmieri
1,13947,zn_poly segfaults during tuning and tests on OS X and Cygwin when built on a busy system,packages: standard,sage-5.10,defect,tbd,needs_review,2013-01-11T14:56:56-08:00,2013-05-25T12:31:47-07:00,"See #13137 for more info.
This is true with different versions of MPIR so seems to be because of zn_poly and not of MPIR.
No problems where spotted on Linuces.

----

'''New spkg:''' [http://boxen.math.washington.edu/home/leif/Sage/spkgs/zn_poly-0.9.p11.spkg]

'''md5sum:''' `012e63d181151c19ddc71bdfaeb14e03  zn_poly-0.9.p11.spkg`


=== zn_poly-0.9.p11 (Leif Leonhardy, May 24th, 2013) ===
 * #13947: Fix `nuss_mul()` test failing especially if tuning happened
   under ""heavy"" load (at least on MacOS X and Cygwin)
   Add `fix_fudge_factor_in_nuss-test.c.patch`; fix suggested by David
   Harvey.
",jpflori
1,14571,Improve UTF-8 support in LaTeX documentation,documentation,sage-5.10,defect,mvngu,needs_review,2013-05-12T02:38:37-07:00,2013-05-25T13:11:32-07:00,Building pdf docs uses the deprecated utf8x. We should use utf8 instead.,jdemeyer
1,329,add md5sums for spkgs,scripts,sage-6.0,enhancement,pdenapo,positive_review,2007-03-21T22:43:18-07:00,2013-04-14T23:49:52-07:00,"{{{
I've noticed that sage has problems with the integrity of sage-
packages.

Supose that you have patially donwload a file, but for whatever reason
it gets truncated.
Then sage won't check its integrity before installing.

I would sugest adding to each file an md5 sum (or perhaps better a gpg
signtaure, but this could be difficult since we need anybody to be
able to build their own sage packages)
[in a file like package-name.spkg.md5 or package-name.spkg.signature]
and make sage chek this md5sum is correct.
[and if not, download it again]

[Most linux distributions do this somehow, for example Gentoo keeps
md5sums in the manifiests in the portage tree, I think that a good
model also would be Debian. For each package, Debian sources consists
of 3 files:

- package.dsc: a description and the md5sum of the
package.orig.tar.gz, and package.diff.gz for checking the integrity of
the package
- packages.orig.tar.gz: the pristine sources from the upstream author
- the .diff.gz with the modifications specific to debian

(by keeping separated the upstream sources, and the Debian
modifications, Debian makes clear which modifications are specific to
Debian)

I think that sage could adopt a similar aproach for their packages

best regards,
Pablo
}}}

 * Ticket #7617 implements the integrity check procedure below for the SageTeX spkg.

To apply:
  * Merge the checksums branch at https://github.com/ohanar/sage",was
2,6862,Mixing of different domains for symbolic variables,symbolics,,defect,,new,2009-09-02T04:35:47-07:00,2013-02-23T18:19:43-08:00,"From suge-support

On Sep 1, 11:35 pm, Mani chandra <mchan...@iitk.ac.in> wrote:

> Mani chandra wrote:
{{{
sage: x = a + I*b
sage: real(x.conjugate().simplify())
real_part(a) + imag_part(b)
sage: real(x.conjugate())
real_part(a) - imag_part(b)
}}}

This seems to be happening because maxima(via simplify)
treats variables as real whereas pynac treats as 
complex.


{{{
sage: x.conjugate()
conjugate(a) - I*conjugate(b)

sage: x.conjugate().simplify()
a - I*b
}}}
",gmhossain
2,10007,Enable deriving subclasses from FreeModule and FreeModuleElement,algebra,,task,AlexGhitza,new,2010-09-24T13:27:25-07:00,2011-01-22T14:11:32-08:00,"When building a new parent P which has a structure of module, one can
currently can derive from CombinatorialFreeModule. It would be very
very good, when mathematically appropriate to be able to derive
instead from FreeModule, in order to benefit from its efficiency and
many functionalities.

This is currently not possible, because arithmetic creates new
elements whose class is FreeModuleElement_* instead of the derived
class for the elements of P (the parent remains P as desired):

{{{
sage: class Bla_parent(sage.modules.free_module.FreeModule_generic):
....:         class Element(sage.modules.free_module_element.FreeModuleElement_generic_dense):
....:             pass
....: 
sage: F = Bla_parent(QQ,6,6)
sage: F
<class '__main__.Bla_parent_with_category'>
sage: p = F.Element(F,(1,2,3,4,5,6))
sage: p
(1, 2, 3, 4, 5, 6)
sage: p.__class__
<class '__main__.Element'>
sage: (p+p).__class__
<type 'sage.modules.free_module_element.FreeModuleElement_generic_dense'>
}}}
",nborie
2,2952,"[with patch, needs work] LaurentPolynomialRing coercion error",coercion,sage-5.10,defect,roed,needs_work,2008-04-18T14:04:57-07:00,2008-09-13T19:32:46-07:00,"Currently
{{{
sage: R.<q>=QQ[]
sage: L.<x,y,z> = LaurentPolynomialRing(R)
sage: f=(x+y+z^-1)^2
sage: f.substitute(z=1)
}}}
gives an error because it PolynomialRing isn't imported categories/pushout.py for the Laurent functor.

Once, that it is fixed, the above commands give a coercion error between the fraction field of QQ['q'] and the Laurent polynomial ring over QQ['q']",mhansen
2,4942,find_root() is broken when interval borders cannot be evaluated,numerical,sage-5.10,defect,mhansen,new,2009-01-05T12:32:08-08:00,2012-03-20T10:33:30-07:00,"Reported in http://groups.google.com/group/sage-support/browse_thread/thread/40da8039090c3e8a

{{{
Hi, I'm trying out SAGE for the first time, so I entered what you 
suggested (see above). 
Now, from the plot, it there seems to be no other roots between 0 and 2 
so I entered 
sage: find_root(x^2*log(x,2)-1,0, 2) 
and got the root = 0.0 
what am I missing here? 
TIA, 
AJG 
}}}
But note the following:
{{{
sage: find_root(1/(x-1)+1,0, 2) 
0.0 
sage: find_root(1/(x-1)+1,0.00001, 2) 
1.0000000000011564 
}}}

Cheers,

Michael",mabshoff
2,4950,Sage-3.2.3 won't build on mandriva 32-bit due to an issue with numpy,build,sage-5.10,defect,mabshoff,new,2009-01-07T07:53:41-08:00,2010-04-05T14:20:06-07:00,"{{{
Michael: Only one has failed to build so far -- mandriva 32-bit.   It
fails thus, and as you can see below, the numpy install fails maybe
due to an ATLAS issue.  This is actually a pretty serious build issue,
and should go in trac, if you agree:

gcc version 4.3.2 (GCC)
****************************************************
============================================================================
BUILDING MATPLOTLIB
           matplotlib: 0.98.3
               python: 2.5.2 (r252:60911, Jan  6 2009, 18:03:10)  [GCC
                       4.3.2]
             platform: linux2

REQUIRED DEPENDENCIES
                numpy: no
                       * You must install numpy 1.1 or later to build
                       * matplotlib.
Error building matplotlib package.
Command exited with non-zero status 1
0.08user 0.44system 0:12.28elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
42304inputs+360outputs (17major+4611minor)pagefaults 0swaps
sage: An error occurred while installing matplotlib-0.98.3.p4
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /home/wstein/build/mandriva32/build/sage-3.2.3/install.log.
Describe your computer, operating system, etc.
If you want to try to fix the problem, yourself *don't* just cd to
/home/wstein/build/mandriva32/build/sage-3.2.3/spkg/build/matplotlib-0.98.3.p4
and type 'make'.
Instead type ""/home/wstein/build/mandriva32/build/sage-3.2.3/sage -sh""
in order to set all environment variables correctly, then cd to
/home/wstein/build/mandriva32/build/sage-3.2.3/spkg/build/matplotlib-0.98.3.p4
(When you are done debugging, you can type ""exit"" to leave the
subshell.)
make[1]: *** [installed/matplotlib-0.98.3.p4] Error 1
make[1]: Leaving directory `/home/wstein/build/mandriva32/build/sage-3.2.3/spkg'
Command exited with non-zero status 2
2.83user 6.96system 23:46.58elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
52520inputs+41128outputs (22major+14379minor)pagefaults 0swaps

NOTE THAT:

wstein@mandriva32:~/build/mandriva32/build/sage-3.2.3$ ./sage -python
Python 2.5.2 (r252:60911, Jan  6 2009, 18:03:10)
[GCC 4.3.2] on linux2
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>> import numpy
Traceback (most recent call last):
 File ""<stdin>"", line 1, in <module>
 File ""/home/wstein/build/mandriva32/build/sage-3.2.3/local/lib/python2.5/site-packages/numpy/__init__.py"",
line 138, in <module>
   import linalg
 File ""/home/wstein/build/mandriva32/build/sage-3.2.3/local/lib/python2.5/site-packages/numpy/linalg/__init__.py"",
line 47, in <module>
   from linalg import *
 File ""/home/wstein/build/mandriva32/build/sage-3.2.3/local/lib/python2.5/site-packages/numpy/linalg/linalg.py"",
line 29, in <module>
   from numpy.linalg import lapack_lite
ImportError: /home/wstein/build/mandriva32/build/sage-3.2.3/local/lib/liblapack.so:
undefined symbol: zhpr_

}}}

I made this a blocker since Mandriva is in our ""officially supported"" list according to README.txt",was
2,5019,sage -gdb is broken on OSX when using branches,misc,sage-5.10,defect,cwitty,new,2009-01-18T18:05:15-08:00,2009-01-18T18:05:15-08:00,"This is a followup to #4991: When running {{{sage -gdb}}} on OSX with branches the following failure occurs:
{{{
...
. done
Reading symbols for shared libraries warning: Could not find object file ""/Users/wstein/sage-3.2.3/devel/sage-main/build/temp.macosx-10.3-i386-2.5/sage/ext/interactive_constructors_c.o"" - no debug information available for ""sage/ext/interactive_constructors_c.c"".

. done
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/Users/wstein/sage/local/lib/python2.5/site-packages/IPython/ipmaker.pyc in force_import(modname)
     64         reload(sys.modules[modname])
     65     else:
---> 66         __import__(modname)
     67 
     68 

/Users/wstein/ipy_profile_sage.py in <module>()
     14     from sage.misc.interpreter import attached_files
     15 
---> 16     branch = sage.misc.misc.branch_current_hg_notice(sage.misc.misc.branch_current_hg())
     17     if branch:
     18         print branch

/Users/wstein/sage/local/lib/python2.5/site-packages/sage/misc/misc.pyc in branch_current_hg()
   1502     i = s.rfind('->')
   1503     if i == -1:
-> 1504         raise RuntimeError, ""unable to determine branch?!""
   1505     s = s[i+2:]
   1506     i = s.find('-')

RuntimeError: unable to determine branch?!
Error importing ipy_profile_sage - perhaps you should run %upgrade?
WARNING: Loading of ipy_profile_sage failed.

sage: 
}}}

Cheers,

Michael",mabshoff
2,5062,"Make sure that ""sage -b"" checks build compatibility on shared filesystems",build,sage-5.10,defect,mabshoff,new,2009-01-22T16:33:30-08:00,2009-01-22T16:33:39-08:00,"This is a followup to #22:

Having thought about this and played around a little with uname it seems that it will not work and is not fine grained enough anyway. I would suggest to do write a small C program that identifies the following:

    * mode: i.e. 32, 64 bit
    * os: linux, osx, solaris, freebsd, cygwin
    * release: this would be the distribution on Linux, OSX 10.4/10.5, Solaris 10/Solaris 11/Opensolaris and so on 

The way we can properly identify the build platform and decide more intelligently if we issue a warning, i.e running the Fedora 10 build on a Fedora 9 box should abort since it doesn't work. The test should be wrapped in a shell script since the binary will obviously only run on a subset of arches, i.e. if the binary fails to run we just about and print a canned warning together with a config info saved as text that is created when building the binary.

This is enough a task to split it off to a new ticket. I have some basic code that does some of the above already for OSX since I need this kind of code while cleaning up the build system.

Thoughts?

Cheers,

Michael
",mabshoff
2,5776,sage-location ought to rewrite loads of files in $SAGE_LOCAL/bin,distribution,sage-5.10,defect,,new,2009-04-13T00:55:44-07:00,2011-06-21T07:51:13-07:00,"The following is from a 3.4.1.rc3 build that was -bdisted from 3.4.1.rc2. There are '''loads''' of files that still have 3.4.1.rc2 in various config files:
{{{
mabshoff@sage:/scratch/mabshoff/sage-3.4.1.rc3/local/bin$ grep -r ""sage-3.4.1.rc2"" *  | grep --invert-match Binary
freetype-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
freetype-config:    major=`grep define /scratch/mabshoff/sage-3.4.1.rc2/local/include/freetype2/freetype/freetype.h \
freetype-config:    minor=`grep define /scratch/mabshoff/sage-3.4.1.rc2/local/include/freetype2/freetype/freetype.h \
freetype-config:    patch=`grep define /scratch/mabshoff/sage-3.4.1.rc2/local/include/freetype2/freetype/freetype.h \
gdlib-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
gdlib-config:	echo  -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -Wl,--rpath -Wl,/scratch/mabshoff/sage-3.4.1.rc2/local/lib  -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib 
gdlib-config:	echo ""ldflags:     -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -Wl,--rpath -Wl,/scratch/mabshoff/sage-3.4.1.rc2/local/lib  -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib ""
ghmm-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
givaro-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
givaro-config:       	echo -I${includedir} -I/scratch/mabshoff/sage-3.4.1.rc2/local//include
givaro-config:       	echo -L${libdir} -lgivaro -L/scratch/mabshoff/sage-3.4.1.rc2/local//lib -lgmp 
givaro-makefile:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
givaro-makefile:OPTFLAGS = -I/scratch/mabshoff/sage-3.4.1.rc2/local//include  -fPIC -I""/scratch/mabshoff/sage-3.4.1.rc2/local/include""
givaro-makefile:GMP_CFLAGS = -I/scratch/mabshoff/sage-3.4.1.rc2/local//include
givaro-makefile:GMP_LIBS   = -L/scratch/mabshoff/sage-3.4.1.rc2/local//lib -lgmp
gpg-error-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
gphelp:$datadir= ""/scratch/mabshoff/sage-3.4.1.rc2/local/share/pari"";
gsl-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
libgcrypt-config:prefix=""/scratch/mabshoff/sage-3.4.1.rc2/local""
libgcrypt-config:gpg_error_libs=""-L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgpg-error""
libgcrypt-config:gpg_error_cflags=""-I/scratch/mabshoff/sage-3.4.1.rc2/local/include""
libgnutls-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
libgnutls-config:gnutls_libs=""-L${exec_prefix}/lib -lgnutls  -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgcrypt -lgpg-error ""
libgnutls-config:gnutls_cflags=""-I/scratch/mabshoff/sage-3.4.1.rc2/local/include  -I${prefix}/include""
libgnutls-extra-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
libgnutls-extra-config:gnutls_libs=""-L${exec_prefix}/lib -lgnutls-extra -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lopencdk -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgcrypt -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgpg-error -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lz -R/scratch/mabshoff/sage-3.4.1.rc2/local/lib  -L${exec_prefix}/lib -lgnutls  -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgcrypt -lgpg-error ""
libgnutls-extra-config:gnutls_cflags=""-I/scratch/mabshoff/sage-3.4.1.rc2/local/include -I${prefix}/include""
libpng12-config:prefix=""/scratch/mabshoff/sage-3.4.1.rc2/local""
libpng-config:prefix=""/scratch/mabshoff/sage-3.4.1.rc2/local""
linbox-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
linbox-config:       	echo -I${includedir} -I/scratch/mabshoff/sage-3.4.1.rc2/local/include -I/scratch/mabshoff/sage-3.4.1.rc2/local/include -I/scratch/mabshoff/sage-3.4.1.rc2/local/include   
linbox-config:       	echo -L${libdir} -llinbox   -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lntl -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgivaro  -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgmpxx -lgmp -lcblas -latlas
maxima:  prefix=`unixize ""/scratch/mabshoff/sage-3.4.1.rc2/local""`
maxima:  top_srcdir=`unixize ""/scratch/mabshoff/sage-3.4.1.rc2/spkg/build/maxima-5.16.3/src""`
opencdk-config:prefix=/scratch/mabshoff/sage-3.4.1.rc2/local
opencdk-config:opencdk_libs=""-L${exec_prefix}/lib -lopencdk -L/scratch/mabshoff/sage-3.4.1.rc2/local/lib -lgcrypt -lgpg-error  -lz""
opencdk-config:opencdk_cflags=""-I/scratch/mabshoff/sage-3.4.1.rc2/local/include -I${prefix}/include""
qd-config:prefix=""/scratch/mabshoff/sage-3.4.1.rc2/local""
qd-config:srcdir=""/scratch/mabshoff/sage-3.4.1.rc2/spkg/build/quaddouble-2.2.p9/src""
qd-config:builddir=""/scratch/mabshoff/sage-3.4.1.rc2/spkg/build/quaddouble-2.2.p9/src""
qd-config:configure_args="" '--prefix=/scratch/mabshoff/sage-3.4.1.rc2/local' '--enable-fortran=no' 'CXX=g++' 'CXXFLAGS=-fPIC -O3 -Dx86' 'LDFLAGS=' 'CC=gcc'""
R:R_HOME_DIR=/scratch/mabshoff/sage-3.4.1.rc2/local/lib/R
R:#R_HOME_DIR=/scratch/mabshoff/sage-3.4.1.rc2/local/lib/R
R:R_SHARE_DIR=/scratch/mabshoff/sage-3.4.1.rc2/local/lib/R/share
R:R_INCLUDE_DIR=/scratch/mabshoff/sage-3.4.1.rc2/local/lib/R/include
R:R_DOC_DIR=/scratch/mabshoff/sage-3.4.1.rc2/local/lib/R/doc
rmaxima:  MAXIMA_SHAREDIR=/scratch/mabshoff/sage-3.4.1.rc2/local/share/maxima/5.16.3/share
rmaxima:  MAXIMA_SHAREDIR=/scratch/mabshoff/sage-3.4.1.rc2/spkg/build/maxima-5.16.3/src/share
xmaxima:set autoconf(prefix) ""/scratch/mabshoff/sage-3.4.1.rc2/local""
xmaxima:set autoconf(exec_prefix) ""/scratch/mabshoff/sage-3.4.1.rc2/local""
xmaxima:set autoconf(libdir) ""/scratch/mabshoff/sage-3.4.1.rc2/local/lib""
xmaxima:set autoconf(libexecdir) ""/scratch/mabshoff/sage-3.4.1.rc2/local/libexec""
xmaxima:set autoconf(datadir) ""/scratch/mabshoff/sage-3.4.1.rc2/local/share""
xmaxima:set autoconf(infodir) ""/scratch/mabshoff/sage-3.4.1.rc2/local/info""
}}}

This causes loads of odd bugs when installing/upgrading from a bdist build, i.e. the location to R_HOME is hardcoded which might be involved with #5246 and #5634.

Cheers,

Michael",mabshoff
2,5838,crash in Singular's polynomial gcd,commutative algebra,sage-5.10,defect,malb,new,2009-04-20T14:07:49-07:00,2013-01-27T00:07:54-08:00,"Here's what I type to provoke the crash:
{{{
std = os.environ['SAGE_DATA'] + '/extcode/pickle_jar/pickle_jar.tar.bz2'
sage.structure.sage_object.unpickle_all(std)
sage.structure.sage_object.unpickle_all(std)
}}}
(this is the doctest of unpickle_all, plus an extra repetition of the second line)

Here's the output:

{{{
sage: std = os.environ['SAGE_DATA'] + '/extcode/pickle_jar/pickle_jar.tar.bz2'
sage: sage.structure.sage_object.unpickle_all(std)
/home/cwitty/sage-3.4.1.rc3/local/lib/python2.5/site-packages/IPython/iplib.py:2073: DeprecationWarning: RQDF is deprecated; use RealField(212) instead.
  exec code_obj in self.user_global_ns, self.user_ns
Successfully unpickled 483 objects.
Failed to unpickle 0 objects.
sage: sage.structure.sage_object.unpickle_all(std)
/home/cwitty/sage-3.4.1.rc3/local/bin/sage-sage: line 198: 22270 Aborted                 sage-ipython ""$@"" -i
}}}

The first section of the backtrace is:

{{{
#0  0x00007fc7c14c2105 in raise () from /lib/libc.so.6
#1  0x00007fc7c14c3623 in abort () from /lib/libc.so.6
#2  0x00007fc7bcedd6d8 in global_NTL_error_callback ()
   from /home/cwitty/sage-3.4.1.rc3/local/lib/libcsage.so
#3  0x00007fc7bc9451ef in NTL::Error (
    s=0x7fc7bc97def1 ""InvMod: inverse undefined"") at tools.c:38
#4  0x00007fc7bc88ebd9 in NTL::InvMod (a=<value optimized out>, n=244)
    at ZZ.c:351
#5  0x00007fc7bc90545f in NTL::PlainRem (r=@0x7fffca29e230, a=@0x7fffca29e230, 
    b=@0x6) at ../include/NTL/lzz_p.h:278
#6  0x00007fc7bc9140bb in NTL::GCD (d=@0x7fffca29e360, 
    u=<value optimized out>, v=@0x7fffca29e390) at lzz_pX1.c:558
#7  0x00007fc7a963206a in gcd_poly_p (f=@0x7fffca29e9e0, g=@0x7fffca29e9d0)
    at /home/cwitty/sage-3.4.1.rc3/local/include/NTL/lzz_pX.h:696
#8  0x00007fc7a9633835 in gcd_poly (f=<value optimized out>, g=@0x7fffca29ee50)
    at cf_gcd.cc:538
#9  0x00007fc7a963401e in gcd (f=@0x7fffca29ee60, g=@0x7fffca29ee50)
    at cf_gcd.cc:776
#10 0x00007fc7a9634601 in gcd_test_one (f=@0x7fffca29f3b0, g=@0x7fffca29f3c0, 
    swap=true) at cf_gcd.cc:76
#11 0x00007fc7a9631b70 in gcd_poly_p (f=@0x7fffca29f7b0, g=@0x7fffca29f7a0)
    at cf_gcd.cc:353
#12 0x00007fc7a963373d in gcd_poly (f=<value optimized out>, g=@0x7fffca29fbb0)
    at cf_gcd.cc:543
#13 0x00007fc7a9635d89 in chinrem_gcd (FF=<value optimized out>, 
    GG=<value optimized out>) at cf_gcd.cc:1088
#14 0x00007fc7a96337e1 in gcd_poly (f=<value optimized out>, g=@0x7fffca2a0560)
    at cf_gcd.cc:601
#15 0x00007fc7a963401e in gcd (f=@0x7fffca2a0550, g=@0x7fffca2a0560)
    at cf_gcd.cc:776
#16 0x00007fc7a94a69f8 in singclap_gcd (f=0x7fc7a930b198, g=0x7fc7a930b058)
    at clapsing.cc:230
#17 0x00007fc7a992d2f9 in __pyx_pf_4sage_5rings_10polynomial_28multi_polynomial_libsingular_23MPolynomial_libsingular_gcd (__pyx_v_self=0x5e60830, 
    __pyx_args=<value optimized out>, __pyx_kwds=<value optimized out>)
    at sage/rings/polynomial/multi_polynomial_libsingular.cpp:31063
#18 0x00000000004187e3 in PyObject_Call (func=0x58ad, arg=0x58ad, kw=0x6)
    at Objects/abstract.c:1861
#19 0x00007fc7b3aaf02f in __pyx_pf_4sage_5rings_22fraction_field_element_20FractionFieldElement_reduce (__pyx_v_self=0x5e5e2d0, unused=<value optimized out>)
    at sage/rings/fraction_field_element.c:2288
#20 0x00000000004187e3 in PyObject_Call (func=0x58ad, arg=0x58ad, kw=0x6)
    at Objects/abstract.c:1861
#21 0x00007fc7b3aa3b2b in __pyx_pf_4sage_5rings_22fraction_field_element_20FractionFieldElement___init__ (__pyx_v_self=0x5e5e2d0, 
    __pyx_args=<value optimized out>, __pyx_kwds=<value optimized out>)
    at sage/rings/fraction_field_element.c:1905
}}}
",cwitty
2,5965,Check /dev/pts and /dev/shm requirement on Linux,distribution,sage-5.10,defect,tornaria,needs_info,2009-05-02T16:41:40-07:00,2012-03-22T17:18:12-07:00,"Sage requires both pseudoterminals (for pexpect) and shared memory (for pyprocessing semaphores). On modern linux, those are implemented via special filesystem mounts:
 - {{{/dev/pts}}} for pseudoterminals (of type {{{devpts}}})
 - {{{/dev/shm}}} for shared memory (of type {{{tmpfs}}})
A normal system has those mounts active. However, running sage in a chroot fails in weird ways if we neglect to mount those inside the chroot:
 - the first one makes pexpect interfaces to fail, e.g.:
{{{
sage: gap(2)
A workspace appears to have been corrupted... automatically rebuilding (this is harmless).
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/tornaria/.sage/temp/arf/10828/_home_tornaria__sage_init_sage_0.py in <module>()

/opt/sage-3.4.1-x86_64-Linux/local/lib/python2.5/site-packages/sage/interfaces/expect.pyc in __call__(self, x, name)
   1002             return cls(self, x, name=name)
   1003         try:
-> 1004             return self._coerce_from_special_method(x)
   1005         except TypeError:
   1006             raise

/opt/sage-3.4.1-x86_64-Linux/local/lib/python2.5/site-packages/sage/interfaces/expect.pyc in _coerce_from_special_method(self, x)
   1026             s = '_gp_'
   1027         try:
-> 1028             return (x.__getattribute__(s))(self)
   1029         except AttributeError:
   1030             return self(x._interface_init_())

/opt/sage-3.4.1-x86_64-Linux/local/lib/python2.5/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.SageObject._gap_ (sage/structure/sage_object.c:3370)()

/opt/sage-3.4.1-x86_64-Linux/local/lib/python2.5/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.SageObject._interface_ (sage/structure/sage_object.c:3018)()

/opt/sage-3.4.1-x86_64-Linux/local/lib/python2.5/site-packages/sage/interfaces/expect.pyc in __call__(self, x, name)
   1000             return x
   1001         if isinstance(x, basestring):
-> 1002             return cls(self, x, name=name)
   1003         try:
   1004             return self._coerce_from_special_method(x)

/opt/sage-3.4.1-x86_64-Linux/local/lib/python2.5/site-packages/sage/interfaces/expect.pyc in __init__(self, parent, value, is_name, name)
   1375             except (TypeError, KeyboardInterrupt, RuntimeError, ValueError), x:
   1376                 self._session_number = -1
-> 1377                 raise TypeError, x
   1378         self._session_number = parent._session_number
   1379 

TypeError: Unable to start gap because the command 'gap -r -b -p -T -o 9999G /opt/sage-3.4.1-x86_64-Linux/data//extcode/gap/sage.g' failed.
}}}
 - the second one makes pyprocessing to fail, which can be reproduced by:
{{{
sage: import processing, processing.synchronize                      
sage: processing._processing.SemLock(processing.synchronize.BOUNDED_SEMAPHORE, 1)                           
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)

/home/tornaria/.sage/temp/arf/10892/_home_tornaria__sage_init_sage_0.py in <module>()

OSError: [Errno 38] Function not implemented
}}}
Both failures are detected by doctests. The first one all over the place, and the second one by doctests in {{{sage/parallel/multiprocessing.py}}} and {{{sage/parallel/decorate.py}}}.",tornaria
2,7602,bug in fpLLL,linear algebra,sage-5.10,defect,was,new,2009-12-04T03:13:19-08:00,2012-06-01T10:48:22-07:00,"AndyNovo wrote on http://groups.google.com/group/sage-devel/browse_thread/thread/12cbd8a649a3d655/:
{{{
We've been working on factoring polynomials in FLINT very intensively the last couple months.  So we've been making floating point LLL in FLINT.  During the process I just discovered what I thought was my bug but is actually a bug in fpLLL which means it's a bug in SAGE too.

Here's a simple lattice which triggers the bug on my 32 bit machine.
(It's the zero rows which are not handled cleanly causing it to size
reduce in very odd ways...)  For a 64 bit machine I have a much larger example which breaks it.

[[0 0 0 0 0]
[0 0 0 0 0]
[1 0 0 0 11]
[0 1 0 0 47]
[0 0 1 0 3748]]

To test the bug in SAGE just run the following code:

matrix([[0,0,0,0,0],[0,0,0,0,0],[1,0,0,0,11],[0,1,0,0,47],
[0,0,1,0,3748]]).LLL()

(This was on SAGE 4-1-1 the August 14th version.)
}}}",malb
2,7860,sage_fortran builds 32-bit executables when SAGE64=yes,porting,sage-5.10,defect,drkirkby,new,2010-01-06T14:25:37-08:00,2012-04-30T03:06:29-07:00,"I'm trying to make a 64-bit build of Sage on my Sun Ultra 27, but although I've sorted out many packages which do not honour SAGE64, the sage_fortran package is unique, and I don't have a clue how to fix it. 

I've also set FCFLAGS to -m64, but that is being ignored. 

I've marked this as critical, as it really will inhibit progress on Sage on Open Solaris if this bit insists on building 32-bit executables. Overall, it seems less hassle to build 64-bit on Open Solaris than 32-bit, due to the OpenSSL issues.

Dave 

{{{
sage_fortran -fPIC  -c sgerqf.f -o sgerqf.o
sage_fortran -fPIC  -c sgesc2.f -o sgesc2.o
sage_fortran -fPIC  -c sgesdd.f -o sgesdd.o
sage_fortran -fPIC  -c sgesv.f -o sgesv.o
sage_fortran -fPIC  -c sgesvd.f -o sgesvd.o
^Cmake: *** [all] Interrupt

drkirkby@hawk:~/sage-4.3.1.alpha1$ find . -name sgerfs.o
./spkg/build/lapack-20071123.p0/src/SRC/sgerfs.o
drkirkby@hawk:~/sage-4.3.1.alpha1$ file ./spkg/build/lapack-20071123.p0/src/SRC/sgerfs.o
./spkg/build/lapack-20071123.p0/src/SRC/sgerfs.o:	ELF 32-bit LSB relocatable 80386 Version 1
drkirkby@hawk:~/sage-4.3.1.alpha1$ echo $SAGE64
yes
}}}",drkirkby
2,8251,bad interaction between unique? RationalField() and (pickled) Jones databse,categories,sage-5.10,defect,nthiery,new,2010-02-12T07:29:39-08:00,2011-01-09T15:00:38-08:00,"It's possible to get a traceback for some dumb reason in some cases when computing the torsion subgroup of an elliptic curve:
{{{
...
Traceback (most recent call last):           for K in J.unramified_outside([i],3):
  File """", line 1, in <module>
    
  File ""/tmp/tmpSAW9n5/___code___.py"", line 6, in <module>
    T=E.torsion_subgroup()
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py"", line 3515, in torsion_subgroup
    self.__torsion_subgroup = ell_torsion.EllipticCurveTorsionSubgroup(self, algorithm)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/ell_torsion.py"", line 159, in __init__
    if self.__K is RationalField() and algorithm in pari_torsion_algorithms:
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/sage/rings/rational_field.py"", line 208, in __init__
    self._assign_names(('x',),normalize=False) # ???
  File ""parent_gens.pyx"", line 327, in sage.structure.parent_gens.ParentWithGens._assign_names (sage/structure/parent_gens.c:2854)
  File ""category_object.pyx"", line 336, in sage.structure.category_object.CategoryObject._assign_names (sage/structure/category_object.c:3286)
ValueError: variable names cannot be changed after object creation.
}}}

The above is caused by running this script:
{{{
J=JonesDatabase()
P=Primes()
for E in cremona_optimal_curves([0..50]):
    T=E.torsion_subgroup()
    i=E.conductor()
    if i.is_prime():
       for K in J.unramified_outside([i],3):
                F=E.base_extend(K)
                T_1=F.torsion_subgroup() 

                if T != T_1:
                    E.label();
                    K.is_galois();
                    T;
                    T_1;
    else:
        j=2 
        while j < i :
            if j.is_prime():
                n=i/j
                if n.is_integral():
                    for K in J.unramified_outside([j],3):
                        F=E.base_extend(K)

                        T_1=F.torsion_subgroup() 
                        if T != T_1:
                            E.label();

                            K.is_galois();
                            T;
                            T_1;
            j=P.next(j)
}}}",was
2,8772,Maxima interface chokes randomly,interfaces,sage-5.10,defect,was,new,2010-04-26T14:00:59-07:00,2010-09-01T19:04:22-07:00,"Sufficiently many calls to Maxima eventually causes that interface to throw an exception, some samples of which are given below.    A minimal piece of code exhibiting this problem is

{{{
def prob(): 
    for i in xrange(1000000): 
        a = var('a') 
        eqn = (a - 1)/(a) 
        eqn.numerator() 
}}}
This error has been observed in Sage 4.3.* on OS X.5.* (8-core Xeon Mac Pro and 2-core Intel Core 2 Mac Book), and Ubuntu Linux 9.10 (quad-core Intel Core 2).  See the sage-devel thread [http://groups.google.com/group/sage-devel/browse_thread/thread/3b43147e44324c25] for some discussion.  In particular, it may be related to #5662 where the synchronization with Maxima was getting lost on  certain multi-core CPUs because of something related to switching between cores.   It takes some time, e.g. 5-15 minutes for the problem to manifest itself.  

Typical errors:

{{{
TypeError: unable to make sense of Maxima expression 
'""__SAGE_SYNCHRO_MARKER_202188656""' in Sage 

TypeError: Error executing code in Maxima 
CODE: 
        _tmp_ : -(a0-1)*a1^2*a3$ 
Maxima ERROR: 
_tmp_ : -(a0-1)*a1^2*a3$ 
stdin:57338284:Incorrect syntax: Illegal use of delimiter ) 
(%i832002) 
stdin:57338357:Incorrect syntax: Premature termination of input at ;. 
(%i832003) 
}}}",dunfield
2,9129,sqrt memory leaks,basic arithmetic,sage-5.10,defect,AlexGhitza,new,2010-06-03T06:00:22-07:00,2012-06-22T07:05:17-07:00,"cf http://groups.google.com/group/sage-support/browse_thread/thread/8c18b2b91004c35a#:
{{{
sage: m = get_memory_usage()
sage: while True:
    a = ZZ(randint(2^400,2^800)).sqrt()
    print get_memory_usage(m)
}}}
or simpler:
{{{
m = get_memory_usage()
i=0
while True:
    i+=1
    a = 2.sqrt()
    if i%1000==0:
        print get_memory_usage(m)
}}}",zimmerma
2,9505,"coeff(f,x*y) does not work",symbolics,sage-5.10,defect,burcin,new,2010-07-15T02:12:14-07:00,2012-03-26T09:01:53-07:00,"The following is ok:
{{{
sage: var('x,y,z')
sage: f=x*y*z^2
sage: f.coeff(z^2)
x*y
}}}
However the following is not:
{{{
sage: f.coeff(x*y)
0
}}}",zimmerma
2,9551,Sage can try to write outside $SAGE_ROOT - potentially screwing a system up,build,sage-5.10,defect,GeorgSWeber,new,2010-07-19T09:06:29-07:00,2011-06-15T17:00:09-07:00,"As reported here:

http://groups.google.co.uk/group/sage-devel/browse_thread/thread/60d384d785d9f034/9cdf5d6fbecf23d0?lnk=gst&q=write+kirkby#9cdf5d6fbecf23d0

Sage tried to write {{{/usr/lib/python2.4/site-packages/}}} on ''t2.math.washington.edu''. A larger section of the error is shown further down the ticket, but the most critical line is:

{{{
error: could not create '/usr/lib/python2.4/site-packages/rpy2': Permission denied
}}}

Recent(ish) version of Solaris 10 include Python 2.4.4 in {{{/usr/bin}}}, with libraries in {{{/lib/python2.4/}}}, which is where the Sage build tried to write. 

This was on the 4.5.alpha0 build, though I'm not aware of any one else raising this issue, so it's quite possible nothing has been done to fix the bug in the latest build (4.5 as I write). 

Since I'm not stupid enough to build Sage as root, this was not a problem, and just resulted in a failed build. But I'm well aware many people do build Sage as root, in which case this could be very serious. (I guess one could argue they got what they deserved). 

Another ticket I created (#9209) shows that Sage can fail to build if a user has a local installation of python, but if one makes that installation unreadable, so Sage will build. 

Another, possibly relevant ticket is #9536

I personally do not have the python skills to sort this out, but I do believe it is potentially a serious problem, as a user can mess up their system by writing to system directories. 
{{{
copying rpy/rinterface/tests/test_SexpVector.py ->
build/lib.solaris-2.10-sun4v-2.4/rpy2/rinterface/tests
copying rpy/rinterface/tests/test_SexpEnvironment.py ->
build/lib.solaris-2.10-sun4v-2.4/rpy2/rinterface/tests
copying rpy/rinterface/tests/__init__.py ->
build/lib.solaris-2.10-sun4v-2.4/rpy2/rinterface/tests
copying rpy/rinterface/tests/test_SexpClosure.py ->
build/lib.solaris-2.10-sun4v-2.4/rpy2/rinterface/tests
copying rpy/rinterface/tests/test_EmbeddedR.py ->
build/lib.solaris-2.10-sun4v-2.4/rpy2/rinterface/tests
copying rpy/rinterface/tests/test_SexpVectorNumeric.py ->
build/lib.solaris-2.10-sun4v-2.4/rpy2/rinterface/tests
running build_ext
building 'rpy2.rinterface.rinterface' extension
creating build/temp.solaris-2.10-sun4v-2.4
creating build/temp.solaris-2.10-sun4v-2.4/rpy
creating build/temp.solaris-2.10-sun4v-2.4/rpy/rinterface
/usr/lib/python2.4/pycc -DNDEBUG
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include
-L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/ -O2 -g -m64
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include -DR_INTERFACE_PTRS=1
-DCSTACK_DEFNS=1 -DRIF_HAS_RSIGHAND=1
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R/include -Irpy/rinterface
-I/usr/include/python2.4 -c rpy/rinterface/array.c -o
build/temp.solaris-2.10-sun4v-2.4/rpy/rinterface/array.o
/usr/lib/python2.4/pycc -DNDEBUG
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include
-L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/ -O2 -g -m64
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include -DR_INTERFACE_PTRS=1
-DCSTACK_DEFNS=1 -DRIF_HAS_RSIGHAND=1
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R/include -Irpy/rinterface
-I/usr/include/python2.4 -c rpy/rinterface/r_utils.c -o
build/temp.solaris-2.10-sun4v-2.4/rpy/rinterface/r_utils.o
/usr/lib/python2.4/pycc -DNDEBUG
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include
-L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/ -O2 -g -m64
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include -DR_INTERFACE_PTRS=1
-DCSTACK_DEFNS=1 -DRIF_HAS_RSIGHAND=1
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R/include -Irpy/rinterface
-I/usr/include/python2.4 -c rpy/rinterface/rinterface.c -o
build/temp.solaris-2.10-sun4v-2.4/rpy/rinterface/rinterface.o
/usr/lib/python2.4/pycc -G -L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/
-m64 -I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include
-L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/ -O2 -g -m64
-I/rootpool2/local/kirkby/sage-4.5.alpha0/local/include
build/temp.solaris-2.10-sun4v-2.4/rpy/rinterface/array.o
build/temp.solaris-2.10-sun4v-2.4/rpy/rinterface/r_utils.o
build/temp.solaris-2.10-sun4v-2.4/rpy/rinterface/rinterface.o
-L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R/lib
-L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R/modules
-R/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R/lib
-R/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R/modules -lR -o
build/lib.solaris-2.10-sun4v-2.4/rpy2/rinterface/rinterface.so
-L/rootpool2/local/kirkby/sage-4.5.alpha0/local/lib/R//lib -lR -llapack -lblas
running install_lib
creating /usr/lib/python2.4/site-packages/rpy2
error: could not create '/usr/lib/python2.4/site-packages/rpy2': Permission denied
Error building RPY -- Python interface to R. 
}}}",drkirkby
2,9645,Bugs in the computation of Groebner bases over the integers,commutative algebra,sage-5.10,defect,duleorlovic,new,2010-07-30T06:56:53-07:00,2010-08-03T09:12:07-07:00,"A bug report on [http://groups.google.com/group/sage-devel/browse_thread/thread/46124695d2f7469a sage-devel] made me play around with the following example:

{{{
sage: R.<x,y>=PolynomialRing(ZZ,2)
sage: I = R*(4*x^2*y^2+2*x*y^3+3*x*y,2*x^2+x*y,2*y^2)
sage: I.groebner_basis(algorithm='libsingular:std')
[x^2*y, x*y^2, 2*x^2 + x*y, 3*x*y, 2*y^2]
sage: (I.groebner_basis(algorithm='libsingular:std')*R).interreduced_basis()
[x^2*y, x*y^2, 2*x^2 + x*y, 3*x*y, 2*y^2]
sage: I.groebner_basis(algorithm='libsingular:slimgb')
[2*x^2 + x*y, 3*x*y, 2*y^2]
sage: (I.groebner_basis(algorithm='libsingular:slimgb')*R).interreduced_basis()
[2*x^2 + x*y, 3*x*y, 2*y^2]
sage: (I.groebner_basis(algorithm='toy:buchberger')*R).interreduced_basis()
[2*x^2 + x*y, 3*x*y, 2*y^2]
sage: I.groebner_basis(algorithm='toy:buchberger2')
[4*x^2*y^2 + 2*x*y^3 + 3*x*y, 2*x^2 + x*y, 2*y^2]
sage: (I.groebner_basis(algorithm='toy:buchberger2')*R).interreduced_basis()
[2*x^2 + x*y, 3*x*y, 2*y^2]
sage: I.groebner_basis(algorithm='magma')
[x^2*y, x*y^2, 2*x^2 + x*y, 3*x*y, 2*y^2]
}}}

'''__First bug__''' (fixed with Singular-3-1-1)

The documentation suggests that {{{toy:buchberger2}}} is supposed to return a reduced Groebner basis, but it doesn't. So, to the very least, the documentation is a little unclear.

'''__Second bug__'''

The five algorithms return two ''different'' reduced Groebner bases. So, at least one of them must be wrong.

{{{libsingular:std}}} and {{{magma}}} agree on this result:
{{{
sage: G1 = I.groebner_basis(algorithm='libsingular:std'); G1
[x^2*y, x*y^2, 2*x^2 + x*y, 3*x*y, 2*y^2]
}}}
while {{{libsingular:slimgb}}}, {{{toy:buchberger}}} and {{{toy:buchberger2}}} agree on this result:
{{{
sage: G2 = I.groebner_basis(algorithm='libsingular:slimgb'); G2
[2*x^2 + x*y, 3*x*y, 2*y^2]
}}}

The following suggests that at least answer {{{G2}}} is wrong:
{{{
sage: [g.reduce(G2) for g in G1]
[x^2*y, x*y^2, 0, 0, 0]
sage: [g.reduce(G1) for g in G2]
[0, 0, 0]
}}}

Let us check that indeed the element {{{x*y^2}}} belongs to the original ideal:
{{{
sage: y*I.0 -2*y^3*I.1 -x*I.2
x*y^2
}}}

Conclusion: '''Under the assumption that there is no bug in reduce and the basic arithmetic, it is proven that slimgb and toy:buchberger(2) give a wrong answer.'''

'''__Third bug__''' (fixed with Singular-3-1-1)

Of course, if {{{G1}}} is a Groebner basis then all of its elements must belong to the ideal. Singular provides a command to express the Groebner basis elements as combinations of the given ideal generators: {{{liftstd}}}.

But {{{liftstd}}} apparently gives a wrong answer:
{{{
sage: r = singular(R)
sage: i = singular(I)
sage: singular.eval('matrix m')
'matrix m;'
sage: print singular.eval('liftstd(%s,m)'%i.name())
_[1]=2*y^2
_[2]=-3*x*y
_[3]=2*x^2+x*y
_[4]=x*y^2
_[5]=x^2*y
sage: singular('m')
0,-1,   0,y,     -3*x-y,
0,2*y^2,1,-2*y^3,2*y^3+5*y,
1,0,    0,-x,    -x-2*y
}}}

So, up to order and sign, the answer given by {{{liftstd}}} coincides with {{{G1}}}. Now, the matrix {{{m}}} should transform the list of ideal generators into the Groebner basis. But it does not for the element {{{x^2*y}}}:
{{{
sage: print singular.eval('matrix(%s)*m'%i.name())
_[1,1]=2*y^2
_[1,2]=-3*x*y
_[1,3]=2*x^2+x*y
_[1,4]=x*y^2
_[1,5]=-12*x^3*y^2-6*x^2*y^3+x^2*y-4*y^3
}}}

So, there is a bug in {{{liftstd}}} as well. At least, it is possible to verify that {{{x^2*y}}} (and therefore all of {{{G1}}}) belongs to the ideal:
{{{
sage: 2*y*I.1 - x*I.0 + (2*x^3 + x^2*y - x)*I.2
x^2*y
}}}
",SimonKing
2,9970,Flaky doctest in sage/interfaces/r.py,doctest coverage,sage-5.10,defect,mvngu,needs_work,2010-09-22T15:32:47-07:00,2013-05-24T00:02:25-07:00,"[http://groups.google.com/group/sage-release/browse_thread/thread/01a01378099b9d5e/3fe4b83c4c612663#3fe4b83c4c612663 Dima Pasechnik reports on sage-release]:
{{{
Builds and tests OK on Linux amd64 (Debian unstable). Got one test failure:

sage -t  ""devel/sage/sage/interfaces/r.py""
**********************************************************************
File ""/usr/local/src/sage/sage-4.6.alpha1/devel/sage/sage/interfaces/r.py"", line 1128:
    sage: tmpdir in sageobj(r.getwd())
Expected:
    True
Got:
    False

that however would  not repeat if I tested again...
}}}

I've also seen this error, on occasion.  The test lines are
{{{
#!python
            sage: import tempfile
            sage: tmpdir = tempfile.mkdtemp()
            sage: r.chdir(tmpdir)
            sage: tmpdir in sageobj(r.getwd()) 
            True
}}}
The script
{{{
#!python
import os
import tempfile

fail = 0
for i in xrange(1000):
    tmpdir = tempfile.mkdtemp()
    r.chdir(tmpdir)
    if tmpdir not in sageobj(r.getwd()):
        print tmpdir, r.getwd(), sageobj(r.getwd())
        fail += 1
    os.rmdir(tmpdir)  # clean up

print fail
}}}
prints
{{{
#!python
/tmp/tmpb1LEIM [1] ""/tmp/tmpb1LEIM"" /tmp/tmpbInteger(1)EIM
/tmp/tmpZ6LyPm [1] ""/tmp/tmpZ6LyPm"" /tmp/tmpZInteger(6)yPm
/tmp/tmp2LTCse [1] ""/tmp/tmp2LTCse"" /tmp/tmpInteger(2)TCse
/tmp/tmpzoor1L [1] ""/tmp/tmpzoor1L"" /tmp/tmpzoorInteger(1)
/tmp/tmpCl70Lo [1] ""/tmp/tmpCl70Lo"" /tmp/tmpClInteger(70)o
/tmp/tmpN7L_vQ [1] ""/tmp/tmpN7L_vQ"" /tmp/tmpNInteger(7)_vQ
/tmp/tmp9LAnw8 [1] ""/tmp/tmp9LAnw8"" /tmp/tmpInteger(9)Anw8
/tmp/tmpvL13LQ [1] ""/tmp/tmpvL13LQ"" /tmp/tmpvLInteger(13)Q
/tmp/tmpfB9L8g [1] ""/tmp/tmpfB9L8g"" /tmp/tmpfBInteger(9)8g
/tmp/tmp0LtlQ6 [1] ""/tmp/tmp0LtlQ6"" /tmp/tmpInteger(0)tlQ6
/tmp/tmpQF4L5I [1] ""/tmp/tmpQF4L5I"" /tmp/tmpQFInteger(4)5I
/tmp/tmp_0LOOr [1] ""/tmp/tmp_0LOOr"" /tmp/tmp_Integer(0)OOr
/tmp/tmpdDDj7L [1] ""/tmp/tmpdDDj7L"" /tmp/tmpdDDjInteger(7)
/tmp/tmpr0LiLu [1] ""/tmp/tmpr0LiLu"" /tmp/tmprInteger(0)iLu
/tmp/tmpu5LnMJ [1] ""/tmp/tmpu5LnMJ"" /tmp/tmpuInteger(5)nMJ
/tmp/tmp0Py04L [1] ""/tmp/tmp0Py04L"" /tmp/tmp0PyInteger(04)
/tmp/tmp3LZjCk [1] ""/tmp/tmp3LZjCk"" /tmp/tmpInteger(3)ZjCk
17
}}}
on sage.math.",mpatel
2,10018,Unhandled SIGSEGV after bnfcertify(),c_lib,sage-5.10,defect,jdemeyer,needs_work,2010-09-26T04:49:57-07:00,2011-11-12T09:23:49-08:00,"Do the following in Sage:
{{{
sage: K.<z> = CyclotomicField(23); bnf=K.pari_bnf(certify=False)
sage: bnf.bnfcertify()
}}}
After typing the second line {{{bnf.bnfcertify()}}}, hit CTRL-c after 5 seconds or so (not immediately).
The interrupt will never register (the computation will continue running).

Dependencies: #10115, #9893, #9678",jdemeyer
2,10358,The sloane_find command is now completely broken,combinatorics,sage-5.10,defect,tmonteil,new,2010-11-30T19:02:31-08:00,2013-01-21T03:32:59-08:00,"The sloane_find command, which parses output of a webpage, is now completely broken due to the Sloane sequence webpage being rewritten. It silently always finds nothing.

{{{
sage: sloane_find([1,1,2,3,5,8,13,21], nresults=1)
[]
}}}",was
2,10476,Problems interrupting Singular,interfaces,sage-5.10,defect,jdemeyer,needs_work,2010-12-14T11:45:24-08:00,2012-07-21T09:16:05-07:00,"Type the following:
{{{
sage: singular._expect_expr(""1"")
}}}
Now type `CTRL-C`.  It takes a very long time before something happens.  This was the cause of #9163 (which was fixed to avoid this issue).

----

'''apply''' [attachment:10476_singular_interrupt.patch] to the Sage library.

----

`cntrlc.patch` sent and accepted upstream: [http://www.singular.uni-kl.de:8002/trac/ticket/432]",jdemeyer
2,10606,Trouble with deepcopy of vectorspaces where the inner product matrix is specified,linear algebra,sage-5.10,defect,"jason, was",new,2011-01-12T12:35:19-08:00,2011-01-12T12:35:19-08:00,"There are some serious problems using deepcopy on vectorspaces where the inner_product_matrix is specified.  This fails over GF(p) for large primes, and over RR.

Please see also Ticket #10577 for a related problem over GF(2).

{{{
sage: V = VectorSpace(GF(46337), 2, inner_product_matrix=DiagonalMatrix(ZZ, [1,1]))
sage: deepcopy(V)
Ambient quadratic space of dimension 2 over Finite Field of size 46337
Inner product matrix:
[1 0]
[0 1]
sage: 
sage: V = VectorSpace(GF(46349), 2, inner_product_matrix=DiagonalMatrix(ZZ, [1,1]))
sage: deepcopy(V)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Users/jonhanke/Documents/SAGE/sage-4.6/<ipython console> in <module>()

/Users/jonhanke/Documents/SAGE/sage-4.6/local/lib/python/copy.pyc in deepcopy(x, memo, _nil)
    187                             raise Error(
    188                                 ""un(deep)copyable object of type %s"" % cls)
--> 189                 y = _reconstruct(x, rv, 1, memo)
    190 
    191     memo[d] = y

/Users/jonhanke/Documents/SAGE/sage-4.6/local/lib/python/copy.pyc in _reconstruct(x, info, deep, memo)
    320         dictiter = None
    321     if deep:
--> 322         args = deepcopy(args, memo)
    323     y = callable(*args)
    324     memo[id(x)] = y

/Users/jonhanke/Documents/SAGE/sage-4.6/local/lib/python/copy.pyc in deepcopy(x, memo, _nil)
    160     copier = _deepcopy_dispatch.get(cls)
    161     if copier:
--> 162         y = copier(x, memo)
    163     else:
    164         try:

/Users/jonhanke/Documents/SAGE/sage-4.6/local/lib/python/copy.pyc in _deepcopy_tuple(x, memo)
    233     y = []
    234     for a in x:
--> 235         y.append(deepcopy(a, memo))
    236     d = id(x)
    237     try:

/Users/jonhanke/Documents/SAGE/sage-4.6/local/lib/python/copy.pyc in deepcopy(x, memo, _nil)
    160     copier = _deepcopy_dispatch.get(cls)
    161     if copier:
--> 162         y = copier(x, memo)
    163     else:
    164         try:

/Users/jonhanke/Documents/SAGE/sage-4.6/local/lib/python/copy.pyc in _deepcopy_tuple(x, memo)
    233     y = []
    234     for a in x:
--> 235         y.append(deepcopy(a, memo))
    236     d = id(x)
    237     try:

/Users/jonhanke/Documents/SAGE/sage-4.6/local/lib/python/copy.pyc in deepcopy(x, memo, _nil)
    171             copier = getattr(x, ""__deepcopy__"", None)
    172             if copier:
--> 173                 y = copier(memo)
    174             else:
    175                 reductor = dispatch_table.get(cls)

TypeError: __deepcopy__() takes no arguments (1 given)
}}}

",jonhanke
2,10928,numpy matrices indexed by sage integers are wrong,packages: standard,sage-5.10,defect,tbd,new,2011-03-13T18:32:59-07:00,2012-06-01T10:48:52-07:00,"When using numpy matrices, indexing behaves differently depending on whether sage integers or python integers are used to do the indexing
{{{
sage: mymat = numpy.matrix(numpy.arange(6).reshape(3,2))
sage: mymat[:,0]
matrix([[0, 2, 4]])
sage: mymat[:,int(0)]
matrix([[0],
        [2],
        [4]])
}}}

The second behaviour is correct, i.e. int(0) gives the correct answer.",flawrence
2,11271,there is a serious bug in the documentation or code for is_surjective for Galois representations attached to elliptic curves,elliptic curves,sage-5.10,defect,cremona,new,2011-04-28T10:14:26-07:00,2011-05-10T20:44:39-07:00,"David Zywina pointed out to me that the docstring for the Sage function clearly states: ""Return True if the mod-p representation is surjective onto Aut(E[p])=GL2(Fp).  False if it is not, or None if we were unable to determine whether it is or not.""   
So according to the docstring, if the functions returns either True or False, then it returns the right answer.  The documentations suggests that if the function returns None (which is completely different than True/False in Python), then you have to re-call it with a bigger parameter.  That said, I just looked through the actual source code, and this simply isn't true at all!
{{{
sage: E = EllipticCurve('147b1')
sage: rho = E.galois_representation()
sage: rho._is_surjective??
...
    while ell < A:
        ell = arith.next_prime(ell)
        if Np % ell != 0:
            ...
    return False    #, signs
}}}

That ""return False"" at the end should be ""return None"" according to the docstring.  So this is a serious bug in the Sage documentation or in the function.  The options for a fix are:

1.  Probably the function as is can never ever prove non-surjectivity, except in various special cases.   It should be changed to a better one that can prove non-surjectivity maybe following [1], or at least using division polynomials (since p<=37 anyways). 

2. Change the lying docstring a lot to agree with the code.    NOTE: One should probably also change the docstring for the deprecated ""E.is_surjective()"" which is also misleading. 

[1] http://www.math.upenn.edu/~zywina/papers/EffectiveModl.pdf

I could imagine doing 2 above quickly, then opening another ticket for 1, or even having 1 as part of #11270 later. 

I'm marking this as ""critical"" since it is a major misleading mathematical bug, and it is functionality that gets used as a hypothesis for computational papers a lot (though in practice always in the direction that is safe, but who knows?). 







See also: #11270",was
2,11539,Sage incorrectly interprets factorials in equations.,symbolics,sage-5.10,defect,burcin,positive_review,2011-06-23T15:47:42-07:00,2013-05-22T06:21:08-07:00,"{{{
sage: maxima(factorial(x) == 0).sage()
x != 0
}}}

Running the following two commands to change how factorials are printed in Maxima will fix this:

{{{
sage.calculus.calculus.maxima.eval(r"":lisp (defun msize-factorial (x l r) (setq l (msize (cadr x) (revappend '(#\f #\a #\c #\t #\o #\r #\i #\a #\l #\() l) nil 'mparen 'mparen) r (list 1 #\) ) ) (list (+ (car l) (car r)) l r)) "")
sage.calculus.calculus.maxima.eval(r"":lisp (defprop mfactorial msize-factorial grind)"")
}}}

We should run these when the Maxima interface is started.",mhansen
2,11674,np.dot of two numeric matrices segfaults in the binary Ubuntu 10.04.1 x86_64 distribution,distribution,sage-5.10,defect,tbd,new,2011-08-09T20:41:18-07:00,2011-09-01T08:45:01-07:00,"Multiplying two ordinary matrices using numpy segfaults `sage`. Using a standard Python install, this does not happen.

Steps to reproduce:

 1. Run sage
 1. Run the following code:
{{{
#!python
import numpy as np
ms = np.load('matrices.npy')
np.dot(ms[0],ms[1])
}}}

Observe that Sage segfaults.

The actual segfault notification is: 
{{{
/PersonalStorage/Development/tools/sage/local/lib/libcsage.so(print_backtrace+0x31)[0x7f39008bd817]
/PersonalStorage/Development/tools/sage/local/lib/libcsage.so(sigdie+0x14)[0x7f39008bd849]
/PersonalStorage/Development/tools/sage/local/lib/libcsage.so(sage_signal_handler+0x20e)[0x7f39008bd474]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60)[0x7f39068d2c60]
/PersonalStorage/Development/tools/sage/local/lib/libatlas.so(+0x6b70d)[0x7f38fa76b70d]

----
Unhandled SIGSEGV: A segmentation fault occurred in Sage. This
probably occurred because a *compiled* component of Sage has a bug
in it and is not properly wrapped with sig_on(), sig_off(). You
might want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate.
}}}

Running this code outside of Sage, in another python interpreter (with numpy 1.5.1) does not exhibit this fault.

For my work, this is debilitating; and I hope to publish a paper using these results soon.",mister.wardrop
2,11771,sage crashes on some degenerate flint xgcd's,basic arithmetic,sage-5.10,defect,AlexGhitza,needs_info,2011-09-01T07:31:40-07:00,2013-01-08T01:10:34-08:00,"It is a quite special case of a crash confirmed on my personal build of sage-4.7.1 over debian 64 bits and on the sage 4.6.2 live-cd.

{{{
sage: K.<t> = QQ[]
sage: f = 1191473873476953285460227947527304741094529005781035717529284834642240745265086239433225233076380605624702266276885804709520281440988182053809930373012295427761599173283075394027446821241892392804713752542041540414303545583709080606441854656664598446661127728326564842323560052105463862185938911893961846570332829347182333704456070837343428230983843530274245217749818452153963934998122234661271161569262586325411921064111934381922037945270623943491947875/174871690725031062857895617270118958943875455402498164912193640599242093454750654780085420853488176444988327239631035217531243625721319710975536503495407145388346890918173115305552220286954950702835407245264267388461374170898342445030455218024182130357203694248197982274053168818543555835515884596734129707663700160914563749534599365348467621157940711549705946958811234911744609308389669378785394624299045157307052537461489976306157712499268558208*t^2 + 5957369375137745766183044465877722046314306073183566047662176066376092822960216106589074191713407928403006693599830465933201735913930024018536420188572573727786004174018936541086056419278615451779011404807616761860595584128639414642858019879851937134914457225162263601277479470481610775838350438889994627122281434924162712202260797778449612640435669592035220516200416587508637711781532078536756632435733417252181811941101332377039987959982663304126874375/699486762900124251431582469080475835775501821609992659648774562396968373819002619120341683413952705779953308958524140870124974502885278843902146013981628581553387563672692461222208881147819802811341628981057069553845496683593369780121820872096728521428814776992791929096212675274174223342063538386936518830654800643658254998138397461393870484631762846198823787835244939646978437233558677515141578497196180629228210149845959905224630849997074232832*t + 595736938787822009331990421961260248362332039245863629830822372455192136576779705935162047105729215117952692017561893764228666459028138729266510727391875394724342702142392944610048092837133895505126656842160002614286655228073218094975822828090436855755172392470009650873209905710177629566178254191440085731926712596202595947686810438960749730919092209485990076735620893188477276276323303747694695509334321377061733279957672914270197272127541816272056125/174871690725031062857895617270118958943875455402498164912193640599242093454750654780085420853488176444988327239631035217531243625721319710975536503495407145388346890918173115305552220286954950702835407245264267388461374170898342445030455218024182130357203694248197982274053168818543555835515884596734129707663700160914563749534599365348467621157940711549705946958811234911744609308389669378785394624299045157307052537461489976306157712499268558208
sage: g = 7925514953439579217949411496070912283478756109542146778302736430907864339692157890889177607003850592550664633799500428198493004015260056890058768264544347643931941923348352003774969492496740120316730457336026114447919653038820695052079984552717333048168876470640134695132125004739250250335197986836852600631182406711728391491853158562797699369204277005299010981337229996326844358132661064724072391106497919430501388151144632847309459048255619440076828071778798946142720000*t^45 + 293918791735480187577516941922733339937352807492841059118385933713283748539804779598827534478091602814003325445243382063224479399718045693658301080762463524046243363063916545047844750387215544788284927537953987285544630566149438287142367528767727980654042920664036206810459153927037523164720164761138218983102711056490362217363277405537096087836114521783454293906133185934584337779537607245876838439405747698796418648433570169192974538900486764773328257871805216316101120000*t^44 + 5058044922569190077396724941164677520085481670106248685911864235740946801026987029117321650107013512436092366949300075069290665996401186739662934911788711343592999481217405623453178126021128397426295357197196460668417362332865447139408950326853588609524618735771926784908539435208354146402007017240653850509854643423004019209503548291682701753204354835806410957416430193017771366830735558144633575952567366598242644959867584304192999520949046953957287435927760351691612654592*t^43 + 54694849336338045833196438539312842280539310213616574853920662032930034365977405106809106935195387675024326548871547468517032727833977513266054462393556813498574344707769305602332489254981329059675876167472860588231715013102018073265202456236085176045504848348705979465130426930205907924724013784863969063360253359489925535762884329455665859013929198494760643835634782798402879965906486564928851921325634019050906087746076965043556286091899796610509937049781963748750859254784*t^42 + 421699361379403421927899085135161755299555767411337866977865778493376007237300023161182987072258309302850137118151960357388606569278273465474395618920242931384017029701996942217038242402694557600928709998824326923455010165560839170156900871767094770732933837469169350292826850777032352906260377542855705628909042897309335030259615222631926105615612994898757637232330315292186344302495295509082542975157721318285008930334275498140777527773837345204734923496752054480072350336768*t^41 + 2485471180921170180607487275048773208518394460583694079509045568317632688737198424067265257527867517793151316977650485529586251838580079895022127039471687019113613172118865405146609447207318120265759639488442383722133279326662700576733389743893160823509646564702044962581518617642509050986818943929029387972887811527720497045443156272736524708800344882974541859663477943872044376006963377805774615921049946808404940634710642903775036096700801717224590724670725219584628943554048*t^40 + 11702378297468092749338378099214444222368765770816490714907329235706807184009354699943824805760512336243783912186297243552005418130718361111985339119609056250692893485448677102001611042393950441338930850603214615872821215966972121594867139857842213985124897237202754537980110286449222571966646098603372943387688932003778781645868983730827578716908282739295978752028540662513070685571058895344336399030077210838607103255178310257903019435702993291293447777974394203651555510402688*t^39 + 45362608030363136983761025968625775573374925940317388209913546851288099896642451818517887036310825019112231824348237451781148889932768526881830630212197032202388230334104401636913181857080758121707993940119507385058600903763265096557369885301489985186177849373073225800198133826995533491758473417655750983222833567200113682054724362172575209804038397427264061796643094475089574554995291272299124661987948290864363370884192707990532587355664736646537065381463763137557096381829504*t^38 + 147965890938599589757330010425310111051260874059570344878889758962164965472254145408316670017020710033693604947168767422990988024997940157312220092212716715448475832439504425498058516260807960514052625712698891974219508630496098590248872494328304864851680476142137598768436390325126452874499966738926030670860118673432811493358550010256440448423980641986304554336308635220027870988252373907228112821838730509231333943573216437875869737577406424765998992668610873464787760105267184*t^37 + 412854050610727648913144179286213988165102990084805131216351904196579648643020811472044176027506718745756031427507192390745146505459535312783780659680100208237312732111308864004353533251568679529354532012814448168551555072542785816924044258457770660764268565568835913972977574995625860425980583139193447726220461195958238938354984629898917253646529411365038734000396561116321935183778850534277244118752421455062274868907741199640604154477528940169647302694075547996396454663456080*t^36 + 997973095185670625342370012469193970072389349234039878960553396297231223850670551360280149898813930061089384702788964426010766318658006295791076198317931702254350596268494110689335004627369696534313393233533793059042895246030064749549144858437845777909867391912833168688310347575974286923470058609001230574861208881801687078070994081568485741432202615128809330327295433600567937229541718419320874514736401051249778187402772501230797574461072433345946754218272275390828609771128028*t^35 + 2110971448933982524270043074289041291948850888916022538871279405036127894935809303880054368383060194664879573001798307389813109430943567418440464670579721076015381103131439464445871365824921081152395014313443335004407093777729315321032362362665019604464442089860196445899707831913065091756228821154878219661390976361499300164048804555656549257391147099986057127409119173362059606509455507824055265076272913740563410477900218869017568335862947706849711982733524319104967312757621100*t^34 + 3938885011139390642689248899047135951625893233815279706609229027016277354215915265277536272967330277440679523435204392263874560538379975241192537501760945071902026114404299873621572987453111739188285635750659528523753618044607778963952789214572609165961705511007095276637444349704203809176774642808993482441123358390263424923237415389263737538016980028990649268719720355983776805736249058208290276899970063276998182485280176565942360784595059838544067051327159256328182679067087425*t^33 + 6525421391013158287374331859667706862622395406857629685576298935370455818921680560188357241485402426889475634793749083217763488048399226120794213545599529842906755304384555504715022996032523078558736166814277649036134922690130477889703580177476622398225490952424241174726573520765022987236742936620584956995142951378174313302142748058429850501535610984950254690159075714173349693558435876552839898853760900861233075399962019657298006619149445198792686650582799567219703558116753688*t^32 + 9648801282294413240161523587424028799474272425190062586162358477659819408179981983268045602187864919296081105306888791383622497929357821256907058519748651340418123952836827613631937758260039260109488362021820930920652881855336971170398212707146489726591703547998345460435470704986784048986381294667829639859422935802115321763721715233560384707943499143721866744933538010860236653435152228417811812570479854509838459533925634420312773859096650361368525070915843660608513545449628965*t^31 + 12788467727774863982860932695554531415431010038222657224597409376738309895255496598699085564562611914543872174948728417217861116590582218873594992794647290550587069394424888291792728073869775911559563548869037244496013093484035449180322054195136227715331656047831641660194463981256812058982845477890235707953147984444495791817913458270321409853350983938909616786485620868826055262888744900416864639739642240645321991793381338117747160795616177381276528086788883290362073364517310110*t^30 + 15245084675733140263510462479971519024464935284011264360732722516372209503564972564242783264973941129294373208527063336224511241111787257558828526897684433254770390766688701125094537565404661815222608274121611907636528026244472744578082024023284457504496262004174592670562135169552014194946781533106661151841808755115752690244382533005603893072375934580549851198518327099303857929709676825950111718340319550932902855393030382909942160634286908383042983407969571191558978997162971776*t^29 + 16389951846896937229684045335945407785840086947555325034979775336777455628122125638613099035723610729504225486244003183126673774336767238358935322612435153467454802372562897670561798021260928795669492574588127327057926632309295733178832770597400730454496823661641229484065558774191955359265052164066901003335254512458375327233888471980656041727845585880437760736721784430221168946602813450436934855428800736608888630402338731188537699091277296228247128288562867864067508966725404752*t^28 + 15923973789374768314546269572985607273749036550180317305240513246207729744120863777209917797722876735784975653007774911161404509133686488858610418292062539401050613438570289158808567185961127993832278231066843611896605279605480919443620945739621341052011584412147624443100375541102245899360700454373716960111379959263682525737333535136945861314971037426513726517069175843040738462580847660739402516209160379545099559065703017830300590723044243924141014988739640512398577454796664476*t^27 + 14001764394118664221365206554061743531919131389416723428850796309445899180279854787473844143324506601237284093381014172518532461861580157150183045101088822073504564582435586045945864096435832224990725152648055544530233866937231681699766545657677557399795731199700050280252278936158980797345993442097940252054209910054854241690800395931427478486967307500263537574465159547017734598880583993054365523971510552159114864414391932706811393890082594668348159436779018718323413449796325904*t^26 + 11152161888522339297047382181389984496470642736735513884256930857175834666740949086753134099736943340304561928965074116948212273744710030661552874274273046970113512832800667317284701785355036689358051685238495272142984093593859477999840388790510757550037927344563490784242536726856421183289066567690610353457240120882891159249567030203154125624915221253038814995370885289883505147497042896257983613864919367006061695750766398976658871799390578324185904458271442438766162123372463230*t^25 + 8048767426777293986280101456360410318074316903960649425762014786693258249580484709366956726437551573519850944154140151991337562394501837144303175973954574168220453234351591478712918456619580092223150835056045596683747783894992197977014074148479416703012501517673714119710712920691272989716895307008262298947501703127842691991089971239006010429505720910153802720743412967809829162569092795605684221989967029689769857864765539496427612981800788644513328127425845054164509454678849760*t^24 + 5262629840754091621498163090386478520959348881638641852457969492933171333770256000739085142273276157414972528992818884448674820920428182057346608285967687794943569455502202311215176576359583926697977293833618300618058369623330182711765003464697208548935973536988475267319987325748996314305664613322390546343892430347729948383335605168387765087758863985064215694995846725974771800071361536680579393805669372930131017183020805629262193824532507665897277119555401627902151392926466886*t^23 + 3114872049902244131198004454354240480861453040251809454516259996348746639356801379009427430803791009609999333881668300012557163502674103336510572301255506183265693623891565114440784962586589854053100030598628556249879285924408182431347846097272341983659709282453355734645414966005528671173141037080863122995123105138579163336937462639492023651833224234008386356220637039060693991805367808585100580042562435067309704774953003285221727483544116830611805267517300271782766763574712996*t^22 + 1666627226706498959557569817871044264469975437540138603547861660424437753187968734534269154979245874083777852839681106901618513988387556354135476267209998115236437653432075331629750632662495842321072485397276767146656045937766487705986571895670316666819198728237342392263488456815656063467424237187409163420343607734844711341149766902013302158748182880854692946455365378394748860711744495257629861061790331563768858195817759951127316780041858861340702710950272840344251229121976316*t^21 + 804464834486138544348798891433796454231646886206326824306727373298236559907169642412283642932504399480419824409057860790751821911252896045259918870858582914050428404596574128510689623562665524085613489955256202965010536601953931632614496294081729283601815297769394328375659692985967483973949962395772855218330007785637876876883977949541805398229657071342421906491883790305712298361083859591974949228704766502689594346827377699106721539643982509108668637670395687194854009853559296*t^20 + 349329055372500354547538290873283032799895433524662339350400896711791239467505083751247234655256780794749126974043725172371330117187543276954967491124908086523104594082490844511359123292898812951874034570389136432669436648578362219274505429022668426105897746929630484094178581602834154449012297935131832055010426700124727186638514023026346095650596927031721573003182422440273685274234152126898260802074169572786521571071016770318423808972800483083075951988223594743727756435669504*t^19 + 135970178440190733686976648333288719209399226795745431128424124413323459178258812383609911825411458342695253443602900735461842828734073894634467815295101591994921267094517811731331788386355113200620792535367328387170628641472662219124648693969171576846446777832125509823449953865555125490264321192383500916108943970763885127898840749587660831597585290822779628679161972491770359270881598753566146318815667305460083658210276919309522087588038185694806776407712756275668571297933556*t^18 + 47220119878855114578841099437857621050003005505338000961291979917933062561619465788218527999275811747395589277891453164092312531838385038609342512458386864008476413080478040723881311242494744412610030464575315516179948065454446646709274787440911877994073341943953530226325202781169005471561389176519070560246381804817378674434166769605954883972733489647995020964516504286765945289519242194014728034933289939619898697460168046082410104243080646437921598662277302797579766361092457*t^17 + 14546627014189438964512706854650793214817304563955069878503854818479294289754639965492451614697560641693214826940062953511978649923303687706880263748727749447781576849419244116658425201644564502294011017732202607235682773633225298829846293741435525891552913383547550531097802489199814218768739219984777033729204507515003390344548396054912879261653728951720511374739308709852401505328620130972266281409612843573623348202425270806909994641433149760293353106403204256445542222522248*t^16 + 3946287357118856747646743142580593180939325050223992458622609211743180087022180772833114442329622430374316780587467023040090435505459976913463073861531260027990924025389557149025676931945354656607866432107770707789011877744999824844566442180758643359451895760661308697273167127817164540336480827202068678749542720002600015385213437650698615470916610783893524115942220101563867434589406278990407634797628726058198006074102013910015548155953201783697557528543838750959394053556061*t^15 + 934181590724770156915121004042777606161562949855773977707196319851682764084778164345009830448714185683203091887847113021315864358945158757002057378238681910795856882103918960498973246285660595756600854496832492409948244818119142214008502127887890664086339947877591954627544721639128225366634705684047851450258435126430535496332219271174934110382633876512397804132233468015623531700341451035637648183418605632726936720033403670460130341182357816091351707013610759108358043925070*t^14 + 190738265078847725464059099686973360226079226125591419597419273307843571919221993624609004807094949542537850299255591462226477704236366433678716480097986435248818265963227494210179712983351105189386123039415065129332466606464332943124257613667592173523881935826488171910076088988681568884136734413633892669060662429803501783978516416390099896013889822236834115043995324359124391333714059990367900026352780161633494701458720094409430117592018921442373009969179443638870062346988*t^13 + 33088049551037012798857177042722000193629544928008635389450319418211587965335619342118248562537077096642309649281561022671014835030321694154797484807481552597966588490657356662848904239835719942440454608148536064974653088471095766092954698432637899189563137460275353284987446905248285182967446248234843454909116257520524169201918559007250649957354907022508216119298434903744970302555249924206012507530243948655460549138602168471705376479061075435247210004317368478922250617504*t^12 + 4780187861721097103421561504473720080097879838434489981410900988923806826767038474149118065492431720003008010074490959041516205300270412600732006878130282527359815583167841562703978176562571470273327439400220606911238069883104078808401835243758082134119690372361919556246090973649393219281872499556319943605369431098587333613949137129901200152676301909312138551001257884772289368549889782023312965046345828969092261644048750545132819747315414260973934103740635207103079351040*t^11 + 559456649409886517645554677325434685404247415709075724496655340573007665156097888221466733090215909892776141041270636001048895662846873433472179876903609388072089924715739721327595617305966251009918502571196130241803928478317145667346711840073166257174045705379704025968568225447113909317485425485479748356181065107172686885985956704504868081475311032360176200232811872041489907430881442837189728503567315354892167205681887760346135640102753024288097919601200561864927528960*t^10 + 50948447320385157792093530249246838208031268919466441287872892089466939406750271520044586955455469631770452191371795427682228376861523785135751860465732772770514295524246348236755132306410324289872598037031652344909505466010244708482699970488591391158927745679388227707618184734312276209378143976203607433911954759308136519704111075049513573207271119863538527240044888047459536934880621838240381356255608370390128674722386723352260558307928475089179132001780766848571444352*t^9 + 3386383999415701694153144567404545114197212924565506475658615899907383110858925294348764492602287569714233807066332712270209826285433705988336069535913396240007407262079890674092810430206696339495806933712600233830106996236755749182709289489991676755574269775048935064447699877505894788426520663565697439483811584523304369689029519204164313704270043719071837613020018670205825837832956321719482167916544739603691526977940054824033147634694036228966374823157449193066433344*t^8 + 146129819533605282881369878670528470174682582412263676202436838024776579204937296748229742107782448036399991778261509236976766661608498459029942418603165693474827891939437652249157107703838182010618001835953553609568030251493145121213363732254240565443863856611828927934993270952161362827640471915769158980284414045744730042169203279944903177115422708184079408527852076598648336108329072616511297356464038589229877488600106455364053377578706638349219218400048080717568832*t^7 + 3078008404143493325413396687603783048676684531507315217124643655099648945604285571597962778361644756677217839388352364597631894566526667909215536689081642597871533196748743113012102495156839081957060918357959037763612336384960332383390307267489046640355974229033444297439381102120575735152282466099915115765069224178495809715479854152461837912208100621532997693246250331161420250695120941793376823326789008211563539255738001764942691529982240678219816015055537668266880*t^6 + 749748266535448482980000523900796337014242550617334827635636271746870485465093441313047420670806434022189643465167292453851477259379861096245984247914017889271447123532861287448471402369899354001146099867801514522003520187909165283161941015281752676289626464039751194288937136954552645140845144982368850097887709675809538065905149537050270180310827327235552300073985756330885804520707969356508120353152276058005042033621190388641966298893439264882274400080138078464*t^5 + 22763021001212288525649219968240291795076682753281626473681762600836656962585296182347503578671254114661839316796047947827363307641155102385375948302008994251312450927706934275869317866448368974931310767329411101190226875471975465789589406436141329920570157654491441039511574791429872260010053983457052134350770020681152207688178102926181096881988395383061276940165294920112663731913982666150498311432405537959954661232773771461891712577468241898048368054186979840*t^4 + 760732209322956364230918251465211804255898726453501652201559924531687159934218116267300005988973501819064052076963672731344826951331488544717567082215953893286027963750212303463945592667622105759098569422663953220699523340224299677842522347708908264142117729514148011758810169174673273142042930237593812742842033904048542885118122073981169544281742573178479542614718551213601389649603467359720415591501513267189141401706542384007133438447938695504788377845760*t^3 + 41544813352135040976950738897887893114387003240423790799951649970908436827293276688809866886969098156185071386944798195405430774778955507150491060619751798064808932393088305841792374978427887767434322831927102150959987052094792515451797115686345263540045464322800865086061669021994451484819098927834799228368418293630987202178683439976104931312600439164262249011017202677016929889120382632621091757957638702011602473100289484910127266680720568281114356303872*t^2 + 223835764128039760458106390105752267448160582915197651087607859967029879622080838118509338692464865849585058866727725078439991840923289230048686724474121146097084020375261587591106841967302336899629321273938262257230558938749878329638982679070953126857220728637693417310788056087735751469460332283819686025809536205970641599404287187646038555082164110783623612107278380687033099914738776804845305119102777801353027247950707169671881871999063754506240*t - 55958941032009940114526597526438066862040145728799412771901964991757469905520209529627334673116216462396264716681931269609997960230822307512171681118530286524271005093815396897776710491825584224907330318484565564307639734687469582409745669767738281714305182159423354327697014021933937867365083070954921506452384051492660399851071796911509638770541027695905903026819595171758274978684694201211326279775694450338256811987676792417970467999765938626560
sage: f.xgcd(g)
...
CRASH!
}}}

A smaller example:

{{{
sage: R.<t> = QQ[]
sage: f = 10**383 * (t+1)
sage: g = 10**445 * t^2 + 1
sage: r = f.xgcd(g)
}}}

----

Apply
 1. [attachment:trac-11771-fmpq_poly.patch]
 1. [attachment:trac-11771-test.2.patch]
to the Sage library.
",lftabera
2,11814,Segmentation fault in dlx_solver,combinatorics,sage-5.10,defect,sage-combinat,new,2011-09-19T01:59:58-07:00,2012-08-09T10:31:19-07:00,"On a 64-bit Gentoo Linux system running sage-4.7.2.alpha2:

{{{
sage: from sage.combinat.matrices.dancing_links import dlx_solver
sage: rows = []
sage: x = dlx_solver(rows)
sage: x.search()
/usr/local/src/sage-4.7.2.alpha2/local/lib/libcsage.so(print_backtrace+0x31)[0x7f6c37015e02]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libcsage.so(sigdie+0x14)[0x7f6c37015e34]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libcsage.so(sage_signal_handler+0x20c)[0x7f6c37015a82]
/lib/libpthread.so.0(+0xf400)[0x7f6c3c26e400]
/usr/local/src/sage-4.7.2.alpha2/local/lib/python2.6/site-packages/sage/combinat/matrices/dancing_links.so(+0x738b)[0x7f6c1612f38b]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x4c32)[0x7f6c3c55d842]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x879)[0x7f6c3c55f819]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCode+0x32)[0x7f6c3c55f912]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x4ccb)[0x7f6c3c55d8db]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x879)[0x7f6c3c55f819]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5364)[0x7f6c3c55df74]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x879)[0x7f6c3c55f819]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5364)[0x7f6c3c55df74]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5a8a)[0x7f6c3c55e69a]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x879)[0x7f6c3c55f819]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5364)[0x7f6c3c55df74]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x879)[0x7f6c3c55f819]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5364)[0x7f6c3c55df74]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x879)[0x7f6c3c55f819]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5364)[0x7f6c3c55df74]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x879)[0x7f6c3c55f819]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalCode+0x32)[0x7f6c3c55f912]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyRun_FileExFlags+0xb0)[0x7f6c3c581d20]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyRun_SimpleFileExFlags+0xdf)[0x7f6c3c58275f]
/usr/local/src/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(Py_Main+0xb23)[0x7f6c3c58fa23]
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f6c3b897ba6]
python[0x4006e9]

------------------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occurred in Sage.
This probably occurred because a *compiled* component of Sage has a bug
in it and is not properly wrapped with sig_on(), sig_off(). You might
want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate.
------------------------------------------------------------------------
}}}

Note that this behaviour is actually documented in `sage/combinat/tiling.py`:
{{{
    def is_suitable(self):
        r""""""
        Return whether the volume of the box is equal to sum of the volume
        of the polyominoes and the number of rows sent to the DLX solver is
        larger than zero.

        If these conditions are not verified, then the problem is not suitable
        in the sense that there are no solution.

        .. NOTE::

            The DLX solver throws a Segmentation Fault when the
            number of rows is zero::

                sage: from sage.combinat.matrices.dancing_links import dlx_solver
                sage: rows = []
                sage: x = dlx_solver(rows)
                sage: x.search()        # not tested
                BOOM !!!
}}}

For sage-on-gentoo, there is an assertion failure:
{{{
sage:  x = dlx_solver(rows)
python2.7: sage/combinat/matrices/dancing_links_c.h:217: void dancing_links::setup_columns(): Assertion `nr_columns > 0' failed.
/usr/lib64/libcsage.so(print_backtrace+0x24)[0x7fea73a945f7]
/usr/lib64/libcsage.so(sigdie+0x1d)[0x7fea73a94687]
/usr/lib64/libcsage.so(sage_signal_handler+0x157)[0x7fea73a94822]
/lib64/libpthread.so.0(+0xfee0)[0x7fea79206ee0]
/lib64/libc.so.6(gsignal+0x35)[0x7fea78ea5ee5]
/lib64/libc.so.6(abort+0x186)[0x7fea78ea7896]
/lib64/libc.so.6(__assert_fail+0xf5)[0x7fea78e9e7a5]
/usr/lib64/python2.7/site-packages/sage/combinat/matrices/dancing_links.so(+0x855d)[0x7fea4e73255d]
}}}",jdemeyer
2,11853,? and ?? very flaky in the notebook,notebook,sage-5.10,defect,"jason, mpatel, was",new,2011-09-27T02:30:30-07:00,2012-02-26T09:57:58-08:00,"The following consistently fails with sage-4.7.2.alpha2 and also on `www.sagenb.org` (the new flask notebook based on sage-4.7):

0. If running locally, start with `sage -n`

1. Create new worksheet, call it `GFhelp`

2. In the worksheet, evaluate the following and wait for Sage to finish:
{{{
GF?
}}}

3. Close the worksheet

4. Reopen the worksheet `GFhelp`

5. Re-execute `GF?` by simply typing `SHIFT-ENTER`.

Now the worksheet totally hangs.",jdemeyer
2,11895,padic_ZZ_pX_CR_element is unhashable,padics,sage-5.10,defect,roed,needs_work,2011-10-04T13:40:23-07:00,2012-10-16T11:07:44-07:00,"Extensions of p-adic numbers seem to be unhashable, and this becomes a problem when used in cached methods. For example, the following code raises a TypeError:

{{{
sage: K.<a>=Qq(3^2)
sage: M=Matrix(K,1,1,1)
sage: print M
}}}
",mmasdeu
2,11907,Modify tutorials: no more 'examples' directory,documentation,sage-5.10,defect,mvngu,new,2011-10-08T10:22:40-07:00,2011-10-08T16:57:10-07:00,"All of the versions of the tutorial (en, fr, de, ru) [http://sagemath.org/doc/tutorial/programming.html#creating-compiled-code reference a file] in the directory `SAGE_ROOT/examples`.  Since this directory is being removed (see #7494), this part of the tutorial needs to be rewritten.  Is the referenced file (`factorial.spyx`) outdated, or is it worth keeping?  If worth keeping, the easiest thing to do would be to move it somewhere else.  Where?

(By the way, if the file is worth keeping, the doctests don't work: they give syntax errors. I don't think you can doctest using the ""time"" command.  So they should perhaps be marked as `# not tested`.  Also, the ""TODO"" note seems outdated and should probably be removed.)",jhpalmieri
2,11939,"Notebook ""ulimit -v"" does not work",notebook,sage-5.10,defect,"jason, mpatel, was",new,2011-10-18T03:22:46-07:00,2013-01-21T10:25:52-08:00,"The `ulimit -v` argument does not do anything at all (I have not tested other `ulimit` options), neither locally nor remote.  Both commands
{{{
notebook(ulimit=""-v 1"")
}}}
and
{{{
notebook(server_pool=[""jdemeyer@localhost""], ulimit=""-v 1"")
}}}
don't seem to put any limit.",jdemeyer
2,12188,Bug in is_smooth for curves over CC,algebraic geometry,sage-5.10,defect,AlexGhitza,new,2011-12-18T13:05:03-08:00,2012-09-26T00:56:24-07:00,"{{{
sage: P.<X,Y,Z> = CC[]
sage: C = Curve(X)
sage: C.is_smooth()
singular_ring_delete(ring*) called with NULL pointer.
...
Exception KeyError: (The ring pointer 0x0,) in 'sage.libs.singular.ring.singular_ring_delete' ignored
True
}}}",johanbosman
2,12198,is_squarefree() over multivariate rings does not work,basic arithmetic,sage-5.10,defect,AlexGhitza,new,2011-12-20T02:54:35-08:00,2012-05-11T00:20:48-07:00,"The following examples demonstrate the problem:

{{{
sage: R.<x,y>=PolynomialRing(ZZ,'x','y')
sage: R(1).is_squarefree()
False
sage: R(x^2+y^2).is_squarefree()
False
sage: R(x^2+1).is_squarefree()
False
}}}",MvanBeek
2,12342,things I don't like about the json <--> hg conversion code,distribution,sage-5.10,defect,tbd,new,2012-01-22T08:40:50-08:00,2012-03-07T11:27:48-08:00,"1. It doesn't print a usage message when the script is just run:
{{{
wstein@sage:/scratch/wstein/sage-4.8-sage.math.washington.edu-x86_64-Linux$ ./sage -sh

Starting subshell with Sage environment variables set.
Be sure to exit when you are done and do not do anything
with other copies of Sage!

Bypassing shell configuration files ...

SAGE_ROOT=/mnt/usb1/scratch/wstein/sage-4.8-sage.math.washington.edu-x86_64-Linux
(sage subshell) sage:sage-4.8-sage.math.washington.edu-x86_64-Linux wstein$ cd spkg/base
SAGE_ROOT=/mnt/usb1/scratch/wstein/sage-4.8-sage.math.washington.edu-x86_64-Linux
(sage subshell) sage:base wstein$ ./json_bundle.py
SAGE_ROOT=/mnt/usb1/scratch/wstein/sage-4.8-sage.math.washington.edu-x86_64-Linux
}}}
There should have been a usage message detailing the options.  

2. There really are no tests at all of this.  The ticket #3052 where it was introduced talked about the challenge of writing tests, but then seemed to conclude with totally giving up.  This is not acceptable.  I'm totally opposed to ever introducing code into Sage that does anything useful if it doesn't have tests.  If it isn't, tested then it will definitely be broken soon enough.  This is exactly the sort of code that is likely to break too, due to Mercurial making some format change, us switching away from Mercurial etc.  With no tests, the brokeness of this code could go unnoticed even if we switched all of sage to git. 

3. The name bundle.json for the JSON hg repo could clash with an existing file, and is confusing, since it doesn't mention hg at all.  It would be much better to use .hg_bundle.json, since by starting with "".hg"" it's clear it is something that is reserved for Mercurial usage. 

4. This code needs to be refactored.  A bare minimum functionality for this should have been something like:
{{{
$ sage -hg_text_expand .hg
# produce .hg_bundle.json
$ sage -hg_text_collapse .hg_bundle.json
# create .hg or give an error if .hg is there.
}}}
Then the other functionality could be built on that.  As it is, just doing the conversion either way runs a bunch of code in the middle of a for loop (over spkg's).  Currently the most basic functionality (which could be easily tested) is obfuscated; if it were available other people could easily build tools on top of it to do what they need (e.g., with their own hg repos). 

5. A serious issue with this patch is that it seems to already be totally broken.  Just take the sage-4.8 tarball, extract it, and type ""make text-expand"".  What happens is:
{{{
wstein@sage:/scratch/wstein/2012-01-22/sage-4.8$ time make text-expand
./spkg/base/text-expand                                               
Determined SAGE_ROOT=/scratch/wstein/2012-01-22/sage-4.8              
Extracting SPKG: ./spkg/standard/boost-cropped-1.34.1.spkg ...        
Extracting SPKG: ./spkg/standard/jinja2-2.5.5.spkg ...       
Extracting SPKG: ./spkg/standard/atlas-3.8.4.p1.spkg ...              
Extracting SPKG: ./spkg/standard/fortran-20100629.spkg ...            
Deconstructing repo at ./spkg/standard/cddlib-094f.p10 ...            
************************************************************************
You must compile Sage first using 'make' in the Sage root directory.    
(If you have already compiled Sage, you must set the SAGE_ROOT variable 
in the file './sage').                                                  
************************************************************************
./spkg/base/text-expand: line 23: ./json_bundle.py: No such file or directory
rm: cannot remove `./spkg/standard/cddlib-094f.p10/bundle.hg': No such file or directory
Deconstructing repo at ./spkg/standard/genus2reduction-0.3.p8 ...  
...
** and hundreds more similar error messages **
}}}
Maybe I'm doing something wrong, but there are no directions, and if one can't just do ""make text-expand"" from a bare tarball, then there should be an immediate error message to that effect. 

6. Looking at the source code, I'm concerned about whether or not *every* .hg repo (e.g., even the base repo) is actually changed to JSON when ""make text-expand"" is run.    This is just a concern.  I do note that after doing ""make text-expand"" the hg repo in $SAGE_ROOT is gone, with nothing in its place.  Not happy about that (maybe this is caused by everything going to hell above):
{{{
wstein@sage:/scratch/wstein/2012-01-22/sage-4.8$ ls -al
total 128
drwxr-xr-x 4 wstein wstein  4096 2012-01-22 08:28 .
drwxr-xr-x 4 wstein wstein  4096 2012-01-22 08:38 ..
-rw-r--r-- 1 wstein wstein 71842 2012-01-19 21:38 COPYING.txt
-rw-r--r-- 1 wstein wstein   366 2012-01-19 21:38 .hgignore
-rw-r--r-- 1 wstein wstein  1949 2012-01-19 21:38 .hgtags
drwxr-xr-x 2 wstein wstein  4096 2012-01-19 21:38 ipython
-rw-r--r-- 1 wstein wstein  4399 2012-01-19 21:38 Makefile
-rw-r--r-- 1 wstein wstein 11673 2012-01-19 21:38 README.txt
-rwxr-xr-x 1 wstein wstein  5046 2012-01-19 21:38 sage
drwxr-xr-x 4 wstein wstein  4096 2012-01-19 21:38 spkg
}}}

Anyway, needs work. ",was
2,12529,libsingular reduces polynomials incompletely,commutative algebra,sage-5.10,defect,malb,new,2012-02-17T04:03:48-08:00,2012-02-24T10:43:35-08:00,"On [http://groups.google.com/group/sage-support/browse_thread/thread/b90fbb622ddb55ab sage-support], Oleksandr Kazymyrov reported the following:
{{{
sage: bits=3
sage:
sage: k=GF(2^bits,'a')
sage: P=PolynomialRing(k,1+bits+bits+bits-1+(1<<bits),['y'] +
['a{0}'.format(g) for g in xrange(bits)] + ['b{0}'.format(g) for g in
xrange(bits)] + ['c{0}'.format(g) for g in xrange(1,bits)] +
['p{0}'.format(g) for g in xrange(1<<bits)])
sage:
sage: A1=sum([P('(a{0})*y^{0}'.format(g)) for g in xrange(bits)])
sage: A2=sum([P('(b{0})*y^{0}'.format(g)) for g in xrange(bits)])
sage: A3=sum([P('(c{0})*y^{0}'.format(g)) for g in xrange(1,bits)])
sage: pol = sum([P('(p{0})*y^{0}'.format(g)) for g in xrange(1<<bits)])
sage: pol=pol.subs({P(""y""):A2})
sage: pol=A1.subs({P(""y""):pol})
sage: pol=pol+A3
sage: pol.mod(P(""y^{0}+y"".format(1<<bits))) 
y^7*a2*b1^14*p7^2 + y^7*a2*b2^14*p7^2 + y^10*a2*b1^10*p5^2 + y^8*a2*b0^4*b1^8*p6^2 + y^8*a2*b0^8*b2^4*p6^2 + y^14*a1*b2^7*p7 + y^6*a2*b0^8*b1^6*p7^2 + y^6*a2*b1^8*b2^6*p7^2 + y^6*a2*b0^2*b1^4*b2^8*p7^2 + y^6*a2*b0^4*b2^10*p7^2 + y^9*a2*b0^2*b2^8*p5^2 + y^13*a1*b1*b2^6*p7 + y^5*a2*b0^2*b1^12*p7^2 + y^5*a2*b0^4*b1^8*b2^2*p7^2 + y^5*a2*b0^8*b2^6*p7^2 + y^5*a2*b1^2*b2^12*p7^2 + y^12*a2*b2^6*p3^2 + y^8*a2*b0^2*b1^8*p5^2 + y^6*a2*b1^4*b2^8*p6^2 + y^12*a1*b1^2*b2^5*p7 + y^12*a1*b0*b2^6*p7 + y^4*a2*b0^10*b1^4*p7^2 + y^4*a2*b0^12*b2^2*p7^2 + y^4*a2*b1^10*b2^4*p7^2 + y^4*a2*b0^4*b1^2*b2^8*p7^2 + y^9*a2*b2^8*p4^2 + y^12*a1*b2^6*p6 + y^5*a2*b1^12*p6^2 + y^11*a1*b1^3*b2^4*p7 + y^3*a2*b0^4*b1^10*p7^2 + y^3*a2*b0^8*b1^2*b2^4*p7^2 + y^3*a2*b1^4*b2^10*p7^2 + y^3*a2*b0^2*b2^12*p7^2 + y^10*a2*b1^2*b2^4*p3^2 + y^8*a2*b1^8*p4^2 + y^6*a2*b2^10*p5^2 + y^4*a2*b0^8*b1^4*p6^2 + y^10*a1*b1^4*b2^3*p7 + y^10*a1*b0*b1^2*b2^4*p7 + y^10*a1*b0^2*b2^5*p7 + y^2*a2*b0^12*b1^2*p7^2 + y^2*a2*b1^12*b2^2*p7^2 + y^2*a2*b0^2*b1^8*b2^4*p7^2 + y^2*a2*b0^6*b2^8*p7^2 + y^5*a2*b1^8*b2^2*p5^2 + y^10*a1*b1^2*b2^4*p6 + y^3*a2*b2^12*p6^2 + y^9*a1*b1^5*b2^2*p7 + y^9*a1*b0^2*b1*b2^4*p7 + y*a2*b0^6*b1^8*p7^2 + y*a2*b0^8*b1^4*b2^2*p7^2 + y*a2*b0^10*b2^4*p7^2 + y*a2*b1^6*b2^8*p7^2 + y^8*a2*b1^4*b2^2*p3^2 + y^8*a2*b0^2*b2^4*p3^2 + y^10*a1*b2^5*p5 + y^4*a2*b0^8*b2^2*p5^2 + y^4*a2*b1^2*b2^8*p5^2 + y^2*a2*b1^8*b2^4*p6^2 + y^2*a2*b0^4*b2^8*p6^2 + y^8*a1*b1^6*b2*p7 + y^8*a1*b0*b1^4*b2^2*p7 + y^8*a1*b0^3*b2^4*p7 + a2*b0^14*p7^2 + y^9*a1*b1*b2^4*p5 + y^8*a1*b1^4*b2^2*p6 + y^8*a1*b0^2*b2^4*p6 + y^7*a1*b1^7*p7 + y^8*a2*b2^4*p2^2 + y^6*a2*b1^6*p3^2 + y^8*a1*b0*b2^4*p5 + y^2*a2*b0^8*b1^2*p5^2 + a2*b0^12*p6^2 + y^6*a1*b0*b1^6*p7 + y^6*a1*b0^2*b1^4*b2*p7 + y^6*a1*b0^4*b2^3*p7 + y^8*a1*b2^4*p4 + y^6*a1*b1^6*p6 + y^5*a1*b0^2*b1^5*p7 + y^5*a1*b0^4*b1*b2^2*p7 + y^4*a2*b0^2*b1^4*p3^2 + y^4*a2*b0^4*b2^2*p3^2 + y^6*a1*b1^4*b2*p5 + a2*b0^10*p5^2 + y^4*a1*b0^3*b1^4*p7 + y^4*a1*b0^4*b1^2*b2*p7 + y^4*a1*b0^5*b2^2*p7 + y^5*a1*b1^5*p5 + y^4*a1*b0^2*b1^4*p6 + y^4*a1*b0^4*b2^2*p6 + y^3*a1*b0^4*b1^3*p7 + y^4*a2*b1^4*p2^2 + y^6*a1*b2^3*p3 + y^2*a2*b0^4*b1^2*p3^2 + a2*b0^8*p4^2 + y^4*a1*b0*b1^4*p5 + y^2*a1*b0^5*b1^2*p7 + y^2*a1*b0^6*b2*p7 + y^5*a1*b1*b2^2*p3 + y^4*a1*b1^4*p4 + y^2*a1*b0^4*b1^2*p6 + y*a1*b0^6*b1*p7 + y^4*a2*b2^2*p1^2 + y^4*a1*b1^2*b2*p3 + y^4*a1*b0*b2^2*p3 + a2*b0^6*p3^2 + y^2*a1*b0^4*b2*p5 + a1*b0^7*p7 + y^4*a1*b2^2*p2 + y^3*a1*b1^3*p3 + y*a1*b0^4*b1*p5 + a1*b0^6*p6 + y^2*a2*b1^2*p1^2 + a2*b0^4*p2^2 + y^2*a1*b0*b1^2*p3 + y^2*a1*b0^2*b2*p3 + a1*b0^5*p5 + y^2*a1*b1^2*p2 + y*a1*b0^2*b1*p3 + a1*b0^4*p4 + y^2*a1*b2*p1 + a2*b0^2*p1^2 + a1*b0^3*p3 + y*a1*b1*p1 + a1*b0^2*p2 + y^2*c2 + a2*p0^2 + a1*b0*p1 + y*c1 + a1*p0 + a0
}}}

The mod operation does not reduce all terms:
{{{
sage: pol.mod(P(""y^{0}+y"".format(1<<bits))).monomials()[3]
y^8*a2*b0^4*b1^8*p6^2
sage: pol.mod(P(""y^{0}+y"".format(1<<bits))).monomials()[2]
y^10*a2*b1^10*p5^2
}}}
However, a reduction of the single terms works:
{{{
sage: pol.mod(P(""y^{0}+y"".format(1<<bits))).monomials()[2].mod(P(""y^{0}+y"".format(1<<bits)))
y^3*a2*b1^10*p5^2
}}}

Note that Singular does the reduction right:
{{{
sage: singular(pol).NF(singular(P.ideal(P(""y^{0}+y"".format(1<<bits)))).std())
y^7*a2*b1^14*p7^2+y^7*a2*b2^14*p7^2+y^6*a2*b0^8*b1^6*p7^2+y^6*a2*b1^8*b2^6*p7^2+y^6*a2*b0^2*b1^4*b2^8*p7^2+y^6*a2*b0^4*b2^10*p7^2+y^5*a2*b0^2*b1^12*p7^2+y^5*a2*b0^4*b1^8*b2^2*p7^2+y^5*a2*b0^8*b2^6*p7^2+y^5*a2*b1^2*b2^12*p7^2+y^6*a2*b1^4*b2^8*p6^2+y^4*a2*b0^10*b1^4*p7^2+y^4*a2*b0^12*b2^2*p7^2+y^4*a2*b1^10*b2^4*p7^2+y^4*a2*b0^4*b1^2*b2^8*p7^2+y^5*a2*b1^12*p6^2+y^3*a2*b0^4*b1^10*p7^2+y^3*a2*b0^8*b1^2*b2^4*p7^2+y^3*a2*b1^4*b2^10*p7^2+y^3*a2*b0^2*b2^12*p7^2+y^6*a2*b2^10*p5^2+y^4*a2*b0^8*b1^4*p6^2+y^2*a2*b0^12*b1^2*p7^2+y^2*a2*b1^12*b2^2*p7^2+y^2*a2*b0^2*b1^8*b2^4*p7^2+y^2*a2*b0^6*b2^8*p7^2+y^5*a2*b1^8*b2^2*p5^2+y^3*a2*b2^12*p6^2+y*a2*b0^6*b1^8*p7^2+y*a2*b0^8*b1^4*b2^2*p7^2+y*a2*b0^10*b2^4*p7^2+y*a2*b1^6*b2^8*p7^2+y^4*a2*b0^8*b2^2*p5^2+y^4*a2*b1^2*b2^8*p5^2+y^2*a2*b1^8*b2^4*p6^2+y^2*a2*b0^4*b2^8*p6^2+a2*b0^14*p7^2+y^3*a2*b1^10*p5^2+y*a2*b0^4*b1^8*p6^2+y*a2*b0^8*b2^4*p6^2+y^7*a1*b1^7*p7+y^7*a1*b2^7*p7+y^6*a2*b1^6*p3^2+y^2*a2*b0^8*b1^2*p5^2+y^2*a2*b0^2*b2^8*p5^2+a2*b0^12*p6^2+y^6*a1*b0*b1^6*p7+y^6*a1*b0^2*b1^4*b2*p7+y^6*a1*b0^4*b2^3*p7+y^6*a1*b1*b2^6*p7+y^5*a2*b2^6*p3^2+y*a2*b0^2*b1^8*p5^2+y^6*a1*b1^6*p6+y^5*a1*b0^2*b1^5*p7+y^5*a1*b0^4*b1*b2^2*p7+y^5*a1*b1^2*b2^5*p7+y^5*a1*b0*b2^6*p7+y^4*a2*b0^2*b1^4*p3^2+y^4*a2*b0^4*b2^2*p3^2+y^2*a2*b2^8*p4^2+y^6*a1*b1^4*b2*p5+a2*b0^10*p5^2+y^5*a1*b2^6*p6+y^4*a1*b0^3*b1^4*p7+y^4*a1*b0^4*b1^2*b2*p7+y^4*a1*b0^5*b2^2*p7+y^4*a1*b1^3*b2^4*p7+y^3*a2*b1^2*b2^4*p3^2+y*a2*b1^8*p4^2+y^5*a1*b1^5*p5+y^4*a1*b0^2*b1^4*p6+y^4*a1*b0^4*b2^2*p6+y^3*a1*b0^4*b1^3*p7+y^3*a1*b1^4*b2^3*p7+y^3*a1*b0*b1^2*b2^4*p7+y^3*a1*b0^2*b2^5*p7+y^4*a2*b1^4*p2^2+y^6*a1*b2^3*p3+y^2*a2*b0^4*b1^2*p3^2+a2*b0^8*p4^2+y^4*a1*b0*b1^4*p5+y^3*a1*b1^2*b2^4*p6+y^2*a1*b0^5*b1^2*p7+y^2*a1*b0^6*b2*p7+y^2*a1*b1^5*b2^2*p7+y^2*a1*b0^2*b1*b2^4*p7+y^5*a1*b1*b2^2*p3+y*a2*b1^4*b2^2*p3^2+y*a2*b0^2*b2^4*p3^2+y^4*a1*b1^4*p4+y^3*a1*b2^5*p5+y^2*a1*b0^4*b1^2*p6+y*a1*b0^6*b1*p7+y*a1*b1^6*b2*p7+y*a1*b0*b1^4*b2^2*p7+y*a1*b0^3*b2^4*p7+y^4*a2*b2^2*p1^2+y^4*a1*b1^2*b2*p3+y^4*a1*b0*b2^2*p3+a2*b0^6*p3^2+y^2*a1*b0^4*b2*p5+y^2*a1*b1*b2^4*p5+y*a1*b1^4*b2^2*p6+y*a1*b0^2*b2^4*p6+a1*b0^7*p7+y^4*a1*b2^2*p2+y*a2*b2^4*p2^2+y^3*a1*b1^3*p3+y*a1*b0^4*b1*p5+y*a1*b0*b2^4*p5+a1*b0^6*p6+y^2*a2*b1^2*p1^2+a2*b0^4*p2^2+y^2*a1*b0*b1^2*p3+y^2*a1*b0^2*b2*p3+y*a1*b2^4*p4+a1*b0^5*p5+y^2*a1*b1^2*p2+y*a1*b0^2*b1*p3+a1*b0^4*p4+y^2*a1*b2*p1+a2*b0^2*p1^2+a1*b0^3*p3+y*a1*b1*p1+a1*b0^2*p2+y^2*c2+a2*p0^2+a1*b0*p1+y*c1+a1*p0+a0
}}}
So, it seems to me that the problem is in libsingular, not in Singular.

I guess the reduction is supposed to reduce the tail as well - if tail reduction is not done by default, then the doc should mention it.

I think those basic arithmetic failures generally are blockers.",SimonKing
2,12580,set_random_seed does not seed Python's random number generator,misc,sage-5.10,defect,jason,new,2012-02-24T11:41:13-08:00,2012-02-24T14:09:18-08:00,"William Stein reported on sage.devel:[http://groups.google.com/group/sage-devel/browse_thread/thread/5fa8e919dd83b4b7]:

{{{
sage: import random
sage: set_random_seed(0); random.randint(0,20)
3
sage: set_random_seed(0); random.randint(0,20)
8
}}}

William said ""Basically, I expected that Sage's ""set_random_seed"" would actually set
*Python*'s own random seed, given that it sets gp, gap, maxima, etc."" 
",mariah
2,12652,update or remove experimental spkg vtk and related docs,graphics,sage-5.10,defect,"jason, was",new,2012-03-10T23:05:06-08:00,2012-03-10T23:05:06-08:00,"experimental spkg vtk is seriously old, apparently still from times Sage used Python 2.5. 

Needless to say, it doesn't work any more, and the corresponding docs in {{{devel/sage/doc/en/numerical_sage}}} are obsolete. 
Yet people still [https://groups.google.com/d/topic/sage-devel/ERprElsUCL4/discussion try] to follow these...",dimpase
2,12718,polynomial substitution overflow hell (libsingular bug?),commutative algebra,sage-5.10,defect,malb,needs_work,2012-03-21T11:41:05-07:00,2012-04-28T04:52:04-07:00,"{{{
sage: R.<x,y> = QQ[]
sage: n=1000; f = x^n; f.subs(x = x^n)
x^1000000
sage: n=100000; f = x^n; f.subs(x = x^n)
x^1410065408*y^2 
}}}",was
2,12759,Maxima 5.26.0 fails to build with multiple words in LDFLAGS,packages: standard,sage-5.10,defect,leif,needs_work,2012-03-27T10:57:15-07:00,2013-02-08T06:15:49-08:00,"I already have an spkg working around this, as well as using `ecl -norc ...` as recommended by an ECL developer.

To reproduce the problem, just try something like
{{{
#!sh
$ env LDFLAGS=""-DFOO -DBAR"" ./sage -f spkg/standard/maxima-5.26.0.p0.spkg
}}}

----

'''New spkg:''' [http://boxen.math.washington.edu/home/leif/Sage/spkgs/maxima-5.26.0.p1.spkg]

'''md5sum:''' `e0dd8b63928fbef1ffa52420f1313c48  maxima-5.26.0.p1.spkg`

=== maxima-5.26.0.p1 (Leif Leonhardy, March 25th 2012) ===
 * #12759: Unset `LDFLAGS` if it contains multiple words.
   (ECL's still get used in that case, but don't break the build.)
 * Use `ecl -norc ...` throughout `spkg-install`, as recommended by Juanjo.
   We set the environment variable `ECL` to this, which *might* get used by
   Makefiles as well -- to be checked.
   (I.e., we might have to pass e.g. `ECL=""$ECL""` when invoking
   `make` to override Makefile settings, in case that's desired.)
 * Use `cp -pf ...` to preserve permissions and to avoid errors if files
   already exist (read-only).
 * Add some error checks, messages and comments; quote more variables.

",leif
2,12854,Severe slow-down in plotting,performance,sage-5.10,defect,tbd,new,2012-04-17T13:38:33-07:00,2012-04-19T01:46:28-07:00,"Plotting has severely slowed down since sage-4.8.

For example the following command (inspired on a doctest from
devel/sage/sage/plot/plot.py):
{{{
sage: timeit('''plot(sin(x),(x,0,2*pi),ticks=pi/3,tick_formatter=pi).save(""/tmp/1.png"")''', number=1, repeat=20)
}}}

It's annoying to measure this as the timing has quite a large standard
deviation.  But on boxen.math, with sage-4.8, the best case timing is
about 1 second, while with sage-5.0.beta13, the best case timing is
about 1.5 seconds.",jdemeyer
2,12865,vector matrix multiply causes segfault,linear algebra,sage-5.10,defect,"jason, was",needs_info,2012-04-21T12:39:04-07:00,2012-07-03T06:14:40-07:00,"I ran across this while working on overconvergent modular symbols:

{{{
sage: vector(1/1) * matrix(Zmod(2),[[1]])
Unhandled SIGSEGV
sage: vector(1/1) * matrix(Zmod(11),[[1]])
Unhandled SIGSEGV
}}}

",roed
2,13174,Wrong documentation for methods @cached_method,documentation,sage-5.10,defect,mvngu,new,2012-06-28T03:45:06-07:00,2012-06-28T03:45:06-07:00,"Calling help on a cached method returns the help for cached_method, not for the actual method being cached :
{{{
sage:chi=DirichletGroup(6).0
sage:help(chi.conductor)
Help on CachedMethodCallerNoArgs in module sage.modular.dirichlet:

conductor(...)
    File: sage/misc/cachefunc.pyx (starting at line 1259)
    
    Utility class that is used by :class:`CachedMethod` to bind a
    cached method to an instance, in the case of a method that does
    not accept any arguments except ``self``.
    
    NOTE:
    
    The return value ``None`` would not be cached. So, if you have
    a method that does not accept arguments and may return ``None``
    after a lengthy computation, then ``@cached_method`` should not
    be used.
    
    EXAMPLE::
    
        sage: P.<a,b,c,d> = QQ[]
        sage: I = P*[a,b]
        sage: I.gens
        Cached version of <function gens at 0x...>
        sage: type(I.gens)
        <type 'sage.misc.cachefunc.CachedMethodCallerNoArgs'>
        sage: I.gens is I.gens
        True
        sage: I.gens() is I.gens()
        True
    
    AUTHOR:
    
    - Simon King (2011-04)

}}}

This is with 5.1.beta6 on an x86_64 box ; and I think it's a pretty big bug since introspection is an important feature of sage.",Snark
2,13318,Notebook require_login=False requires password,notebook,sage-5.10,defect,"jason, mpatel, was",new,2012-07-31T19:32:46-07:00,2013-02-20T20:54:51-08:00,"Starting with sage-5.2, the `require_login=False` option doesn't work any more: It requires you to set an admin password, on the console, before starting the notebook. This is very inconvenient for any kind of ""one-click start notebook"" packaging. It should not ask for any password, thats the whole point of not requiring login.
{{{

[vbraun@laptop ~]$ sage -notebook require_login=False
----------------------------------------------------------------------
| Sage Version 5.2, Release Date: 2012-07-25                         |
| Type ""notebook()"" for the browser-based notebook interface.        |
| Type ""help()"" for help.                                            |
----------------------------------------------------------------------

Please wait while the Sage Notebook server starts...
...
notebook(require_login=False)
The notebook files are stored in: sage_notebook.sagenb



Please choose a new password for the Sage Notebook 'admin' user.
Do _not_ choose a stupid password, since anybody who could guess your password
and connect to your machine could access or delete your files.
NOTE: Only the hash of the password you type is stored by Sage.
You can change your password by typing notebook(reset=True).
}}}
Obviously you need to erase `$DOT_SAGE/sage_notebook.sagenb/users.pickle` to reproduce this.",vbraun
2,13710,Double free in polybori,memleak,sage-5.10,defect,rlm,new,2012-11-14T16:13:29-08:00,2012-11-14T16:25:53-08:00,"{{{
import gc
def test():
  gc.collect()
  sr = mq.SR(Integer(2),Integer(1),Integer(2),Integer(4),gf2=True,polybori=True)###line 25:_sage_    sage: sr = mq.SR(2,1,2,4,gf2=True,polybori=True)
  gc.collect()
  set_random_seed(Integer(1))###line 32:_sage_    sage: set_random_seed(1)
  gc.collect()
  F,s = sr.polynomial_system()###line 33:_sage_    sage: F,s = sr.polynomial_system()
  gc.collect()
  r2 = F.part(Integer(2)); r2###line 37:_sage_    sage: r2 = F.part(2); r2
  gc.collect()
  C = Sequence(r2).connected_components(); C###line 73:_sage_    sage: C = Sequence(r2).connected_components(); C
  gc.collect()
  C[Integer(0)].groebner_basis()###line 107:_sage_    sage: C[0].groebner_basis()
  gc.collect()
  A,v = Sequence(r2).coefficient_matrix()###line 112:_sage_    sage: A,v = Sequence(r2).coefficient_matrix()
  gc.collect()
  A.rank()###line 113:_sage_    sage: A.rank()
test()
}}}
The following causes:
{{{
sage: test()
*** glibc detected *** python: double free or corruption (out): 0x000000000574bf00 ***
======= Backtrace: =========
/lib64/libc.so.6[0x31cfe7da76]
/lib64/libc.so.6[0x31cfe7ed5e]
/usr/local/sage/5.0/local/lib/python2.7/site-packages/sage/rings/polynomial/pbori.so(+0x7a2aa)[0x7f3e724bb2aa]
/usr/local/sage/5.0/local/lib/python2.7/site-packages/sage/rings/polynomial/pbori.so(+0x1c633)[0x7f3e7245d633]
/usr/local/sage/5.0/local/lib/libpython2.7.so.1.0(+0x1266f7)[0x7f3e996f56f7]
/usr/local/sage/5.0/local/lib/libpython2.7.so.1.0(+0x126e89)[0x7f3e996f5e89]
}}}
A traceback under GDB gives
{{{
#0  0x00000031cfe36285 in raise () from /lib64/libc.so.6
#1  0x00000031cfe37b9b in abort () from /lib64/libc.so.6
#2  0x00000031cfe7774e in __libc_message () from /lib64/libc.so.6
#3  0x00000031cfe7da76 in malloc_printerr () from /lib64/libc.so.6
#4  0x00000031cfe7ed5e in _int_free () from /lib64/libc.so.6
#5  0x00007fffd0e5f2aa in Delete<polybori::groebner::ReductionStrategy> (mem=0x4c631b0) at /usr/local/sage/5.0/local/include/csage/ccobject.h:77
#6  __pyx_pf_4sage_5rings_10polynomial_5pbori_17ReductionStrategy_1__dealloc__ (__pyx_v_self=0x4c1a1d0) at sage/rings/polynomial/pbori.cpp:33393
#7  __pyx_tp_dealloc_4sage_5rings_10polynomial_5pbori_ReductionStrategy (o=0x4c1a1d0) at sage/rings/polynomial/pbori.cpp:46504
#8  0x00007fffd0e01633 in __pyx_tp_clear_4sage_5rings_10polynomial_5pbori_GroebnerStrategy (o=0x4c138c0) at sage/rings/polynomial/pbori.cpp:46766
#9  0x00007ffff7d4c6f7 in delete_garbage (old=0x7ffff7fe1f00, collectable=0x7fffffffc210) at Modules/gcmodule.c:769
#10 collect (generation=2) at Modules/gcmodule.c:930
#11 0x00007ffff7d4ce89 in gc_collect (self=<optimized out>, args=<optimized out>, kws=<optimized out>) at Modules/gcmodule.c:1067
}}}
so it should be pretty straightforward find the culprit.

Bug manifests itself on both sage 5.0 and sage 5.5beta2(unreleased).",nbruin
2,13757,The conversion from E to E.abelian_group() does not perserve group order for elliptic curves over finite fields.,group theory,sage-5.10,defect,joyner,new,2012-11-25T15:45:43-08:00,2012-11-25T23:31:57-08:00,"One would expect that the following code is deterministic and prints 10 times the same:
{{{
sub_gens=[(542, 488, 1)]
p=709
for i in xrange(10):
    E2=EllipticCurve(GF(p),[606,486])
    ab=E2.abelian_group()
    sub_gens=[E2(i) for i in sub_gens]
    index=ab.order()/ab.submodule([ab(i) for i in sub_gens]).order()
    sub=ab.submodule([ab(i) for i in sub_gens])
    print index,[(ab(i),i.order(),ab(i).order()) for i in sub_gens]
}}}

However the output is:
{{{
6 [((542 : 488 : 1), 57, 114)]
228 [((542 : 488 : 1), 57, 3)]
6 [((542 : 488 : 1), 57, 114)]
3 [((542 : 488 : 1), 57, 228)]
3 [((542 : 488 : 1), 57, 228)]
6 [((542 : 488 : 1), 57, 114)]
6 [((542 : 488 : 1), 57, 114)]
3 [((542 : 488 : 1), 57, 228)]
228 [((542 : 488 : 1), 57, 3)]
6 [((542 : 488 : 1), 57, 114)]
}}}",mderickx
2,13770,bug in multivariate factorization over prime fields,commutative algebra,sage-5.10,defect,malb,new,2012-11-28T02:25:01-08:00,2012-12-03T04:06:25-08:00,"after #11829, #11838, #12918, #12928, here is another bug in multivariate factorization over prime fields:
{{{
----------------------------------------------------------------------
| Sage Version 5.4.1, Release Date: 2012-11-15                       |
| Type ""notebook()"" for the browser-based notebook interface.        |
| Type ""help()"" for help.                                            |
----------------------------------------------------------------------
sage: U.<y,t> = GF(2)[]  
sage: f
y*t^8 + y^5*t^2 + y*t^6 + t^7 + y^6 + y^5*t + y^2*t^4 + y^2*t^2 + y^2*t + t^3 + y^2 + t^2
sage: f.factor()
y*t^8 + y^5*t^2 + y*t^6 + t^7 + y^6 + y^5*t + y^2*t^4 + y^2*t^2 + y^2*t + t^3 + y^2 + t^2
sage: f % (t^2+t+y+1)
0
}}}
When will Sage be usable for this kind of computation?

Paul Zimmermann",zimmerma
2,13978,Static 3d plots are not working with a separate account for worker,notebook,sage-5.10,defect,"jason, mpatel, was",new,2013-01-21T10:34:59-08:00,2013-01-21T11:25:42-08:00,"As [http://groups.google.com/group/sage-notebook/browse_thread/thread/476cf49a8a66cc3c/1d1e8da9c01c40e4 reported before] static 3D plots are horrible if Sage Notebook is running with separate accounts for server and worker. If the ulimits for the worker are too tight (meaning < 5 GB!!! virtual memory), Tachyon is used to draw the static plot instead of jmol. Since sizes of lines/arrows and transparency are interpreted differently, the result is truly horrible. With enough memory available, the plots seem to be done by jmol, but there is permission issue preventing anything being shown apart from error messages.",novoselt
2,14149,Creation of temporary files with %attach,user interface,sage-5.10,defect,was,needs_review,2013-02-19T16:40:43-08:00,2013-05-13T12:35:20-07:00,"Using sage-5.7.beta4 and sage-5.7.rc0, when attaching a .sage file, sage creates spurious files in the current directory. For example
{{{
sage: %attach blah.sage
}}}
creates blah.sageYPVh in the current directory.",aschilling
2,14243,"Try not to pick up user versions of things like numpy, mpl",build,sage-5.10,defect,GeorgSWeber,new,2013-03-07T11:16:34-08:00,2013-03-07T11:16:34-08:00,"At [http://ask.sagemath.org/question/1449/sage-uses-system-wide-python this ask.sagemath.org question], where some users have the system Python being picked up for some reasons, Volker asks
{{{
Can you try
export PYTHONNOUSERSITE=yes
sage
This should prevent Sage from picking up stuff in .local/lib. If that fixes your problem we can add it to the next release.
}}}
Apparently this works, and [https://groups.google.com/forum/?fromgroups=#!topic/sage-support/Y9bjhb6-dcM this sage-support question] suggests it works a lot.  Maybe we should put this in now.",kcrisman
2,14305,bug in simplify_radical,calculus,sage-5.10,defect,burcin,new,2013-03-19T02:20:58-07:00,2013-05-24T09:49:30-07:00,"in Sage 5.7 we get:
{{{
sage: sqrt(x^2).simplify_radical()           
x
}}}
This is wrong (consider x=-1 for example). Even:
{{{
sage: assume(x<0)
sage: sqrt(x^2).simplify_radical()
x
}}}
Previously it was 
{{{
sage: sqrt(x^2).simplify_radical()
abs(x)
}}}

Note: this invalidates a whole part of our book (in french) about Sage at
http://sagebook.gforge.inria.fr/",zimmerma
2,14489,_S_class_group_and_units is mathematically incorrect,number fields,sage-5.10,defect,davidloeffler,needs_review,2013-04-25T07:27:25-07:00,2013-05-11T14:16:21-07:00,"The output of _S_class_group_and_units is incorrect, and hence the output of selmer_group as well, in some cases where S contains non-principal ideals. Here's an example:

{{{
sage: K.<a> = NumberField(x^3 - 381 * x + 127)
sage: S = tuple(K.primes_above(13))
sage: K.selmer_group(S, 2)
[-7/13*a^2 - 140/13*a + 36/13,
 14/13*a^2 + 267/13*a - 85/13,
 7/13*a^2 + 127/13*a - 49/13,
 -1,
 1/13*a^2 + 20/13*a - 7/13,
 1/13*a^2 - 19/13*a + 6/13,
 121,
 10/13*a^2 + 44/13*a - 4555/13]
}}}

It's fairly easy, using Sage, to see that the S-2-Selmer group of K is an 8-dimensional F_2-vector space. The list of length 8 that is returned is supposed to be a basis of this (or rather a set of representatives in K^×^). But the S-2-Selmer group is a subgroup of K^×^ mod squares, so 121 is the zero vector and hence the output is not linearly independent. The problem lies in the following:

{{{
sage: K._S_class_group_and_units(S)
([-7/13*a^2 - 140/13*a + 36/13,
  14/13*a^2 + 267/13*a - 85/13,
  7/13*a^2 + 127/13*a - 49/13,
  -1,
  1/13*a^2 + 20/13*a - 7/13,
  1/13*a^2 - 19/13*a + 6/13],
 [(Fractional ideal (11, a - 2), 2, 121),
  (Fractional ideal (19, 1/13*a^2 - 45/13*a - 332/13),
   2,
   10/13*a^2 + 44/13*a - 4555/13)])
}}}

The 121 in there is supposed to be such that (11, a-2)^2^ = (121). But (11, a-2)^2^ is *not* principal (in fact, (11, a-2) is a generator of the cyclic subgroup of order 6). It is just in the subgroup of the class group generated by the primes in S.

I'll shortly upload a patch that fixes this (partially suggested to me by Zev Klagsbrun).",robharron
2,14506,Echelonize leads to wrong multiplication,linear algebra,sage-5.10,defect,"jason, was",new,2013-04-29T07:43:59-07:00,2013-04-29T08:22:22-07:00,"Load the two matrices that I have attached and run the following code to see that the second row of the second matrix is not updated correctly.
{{{
sage: (a, b) = load(""14506-echelon_matrices.sobj"")
sage: b.echelonize()
sage: a.transpose() * b
[                        0                         1                        24                       324                      3200                     25650                    176256                   1073720                   5930496                  30178575                 143184000                 639249300                2705114880               10916609264               42224364768              157237849404              565928955336             1975748911989             6712360813296            22258958382384            72248546142576           230126686576596           720999820523680          2226607404115308          6790183423299432         20478994820181329         61157329008540264        181004375431019448        531238661914490832       1546662807633726456       4467428806660680816      12801302700703268916      36384312930487005696     102550540165931773881     286559332427090336280     793661555641170811488    2178228257908531278912    5922967390221653096898   15954542776854757733856   42569726135569471713636  112504969550911913199256  294509000583368778593058  763659353026853825886576 1961586226496587115127844 4991900581029733007609328]
sage: (b.transpose() * a).transpose()
[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
}}}

The following works correctly. To me this indicates that the internal representation is somehow not updated correctly.
{{{
sage: (a, b) = load(""14506-echelon_matrices.sobj"")
sage: b.echelonize()
sage: b = copy(b)           
sage: a.transpose() * b
[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
}}}

I make this a critical ticket. But the actual mistake seems so dangerous and it results from a common operation, so that it is a candidate for a blocker.",mraum
2,14525,cliquer does not like the empty graph,graph theory,sage-5.10,defect,"jason, ncohen, rlm",new,2013-05-03T11:09:47-07:00,2013-05-03T11:52:08-07:00,"Stupid corner case but still worth fixing. Asking for the clique number of the empty graph blows Sage off.

{{{
sage: graphs.EmptyGraph().clique_number()
cliquer file graph.c: line 31: assertion failed: (n>0)
------------------------------------------------------------------------
/home/azi/sage-5.10.beta1/local/lib/libcsage.so(print_backtrace+0x31)[0x7fa2060bc7a0]
/home/azi/sage-5.10.beta1/local/lib/libcsage.so(sigdie+0x37)[0x7fa2060bc939]
/home/azi/sage-5.10.beta1/local/lib/libcsage.so(sage_signal_handler+0x15d)[0x7fa2060bc14b]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10060)[0x7fa20a089060]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)[0x7fa2096813e5]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x17b)[0x7fa209684b4b]
/home/azi/sage-5.10.beta1/local/lib/libcliquer.so(+0xa38a)[0x7fa1dc2be38a]
/home/azi/sage-5.10.beta1/local/lib/python2.7/site-packages/sage/graphs/cliquer.so(+0x39a6)[0x7fa1dc4cb9a6]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5999)[0x7fa20a38aa19]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45ed)[0x7fa20a38966d]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x32)[0x7fa20a38bad2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4749)[0x7fa20a3897c9]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45ed)[0x7fa20a38966d]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45ed)[0x7fa20a38966d]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45ed)[0x7fa20a38966d]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45ed)[0x7fa20a38966d]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45ed)[0x7fa20a38966d]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45ed)[0x7fa20a38966d]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x822)[0x7fa20a38b9a2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x32)[0x7fa20a38bad2]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyRun_FileExFlags+0xaa)[0x7fa20a3ad46a]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(PyRun_SimpleFileExFlags+0xed)[0x7fa20a3adead]
/home/azi/sage-5.10.beta1/local/lib/libpython2.7.so.1.0(Py_Main+0xc22)[0x7fa20a3c3992]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7fa20966c30d]
python[0x4006d1]
------------------------------------------------------------------------
Attaching gdb to process id 13317.
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type ""show copying""
and ""show warranty"" for details.
This GDB was configured as ""x86_64-linux-gnu"".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>.
(gdb) Hangup detected on fd 0
error detected on stdin

Your system GDB is an old version that does not work with pipes
Install the gdb spkg (sage -f gdb) for enhanced tracebacks.
------------------------------------------------------------------------
Unhandled SIGABRT: An abort() occurred in Sage.
This probably occurred because a *compiled* component of Sage has a bug
in it and is not properly wrapped with sig_on(), sig_off(). You might
want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate.
------------------------------------------------------------------------
/usr/local/bin/sage: line 135: 13317 Aborted                 ""$SAGE_ROOT/spkg/bin/sage"" ""$@""

}}}

Simply checking if the supplied graph is empty is going to fix this for sure.",azi
2,14588,find_local_minimum calls f with an expression,numerical,sage-5.10,defect,"jason, jkantor",new,2013-05-15T03:05:43-07:00,2013-05-15T03:05:43-07:00,"The call find_local_minimum( lambda x: deviation( x,someConst ),-maxrange,maxrange ) calls the lambda with an expression of the form

1234 == 4567

at least once. Complete code: http://alpha.sagenb.org/home/pub/701/",ManDay
2,14594,Make dot2tex work with matplotlib 1.2.x (as well as older versions),packages: optional,sage-5.10,defect,sage-combinat,needs_review,2013-05-15T09:30:14-07:00,2013-05-24T12:33:33-07:00,"Since sage-5.10.beta2 there is a problem with the detection of dot2tex. Even with dot2tex installed  via
{{{
    sage -f http://sage.math.washington.edu/home/nthiery/dot2tex-2.8.7-2.spkg
}}}
it is not detected any longer:
{{{
    sage: import dot2tex
    ...
    ImportError: No module named pyparsing
}}}
This is crucial though since in combinatorics we heavily rely on being able to draw pictures:
{{{
    sage: B = CrystalOfTableaux(['A',2],shape=[1])
    sage: view(B)
    dot2tex not available.  Install after running 'sage -sh'
}}}

dot2tex indeed needs pyparsing. And pyparsing used to ship with
matplotlib, but apparently the new version of matplotlib does not
include it anymore. So one need to install it somehow.

Comment by Paul-Olivier: It should be pyparsing 1.5?.x and not 2.x as that's only in python 3.

----

'''New spkg:''' [http://boxen.math.washington.edu/home/leif/Sage/spkgs/dot2tex-2.8.7.p2.spkg]

'''md5sum:''' `d096c3eec2a2f3bdd74a3e31b5c6872d  dot2tex-2.8.7.p2.spkg`

=== dot2tex-2.8.7.p2 (Leif Leonhardy, May 20th 2013) ===
 * #14594: Make dot2tex work with matplotlib 1.2.x (as well as older versions)
   Update `patches/use-matplotlib-pyparsing.patch` to either import
   `matplotlib.pyparsing` or `matplotlib.pyparsing_py2`.
 * Clean up `spkg-install` and `spkg-check`.
   Apply patches from within `src/` (still with `-p1`).
   Let `spkg-check` exit with an error if *any* of the tests failed, not just
   the last one.
 * Update / fix `SPKG.txt`, also adding some entries in standard format for
   previous (now tagged) spkg versions.
 * Add patch to `tests/test_comparedotparsing.py` skipping comparisons to
   non-existent (i.e., missing) reference files.
 * Add patch to `tests/test_buildexamples.py` fixing the build order, since
   otherwise `graphofgraphs.tex`, which includes the output of other examples,
   fails to build.
",aschilling
2,10202,Use pkg-config --define-variable option to set ${SAGE_ROOT} anytime pkg-config is invoked,packages: standard,sage-5.10,enhancement,leif,needs_info,2010-11-02T07:13:56-07:00,2011-08-17T11:38:14-07:00,"Currently we rewrite all of the local/lib/pkgconfig/*.pc files every time we move locations. Instead, we should just use the --define-variable option of pkg-config to define a ${SAGE_ROOT} variable. Then we don't have to keep rewriting files every time.

INSTRUCTIONS FOR TESTING:

1. Download a fresh sage-4.7.alpha5.tar source archive

2. Extract and delete the spkg/standard/sage_scripts-4.7.alpha5.spkg

3. Put http://sage.math.washington.edu/home/jason/sage_scripts-4.7.alpha5.p0.spkg into the spkg/standard/ directory

4. Make Sage

Note to release manager: you have to edit the sage_scripts spkg-install to copy over the pkg-config shell script; see my sage_scripts spkg above.

P.S. Why is the sage_scripts spkg-install not under version control?!?

",jason
2,10815,Matrix multiplication and power are very slow,linear algebra,sage-5.10,enhancement,"jason, was",needs_info,2011-02-21T07:14:56-08:00,2013-02-04T09:44:04-08:00,"It seems that the multiplication and the power of a matrix is very slow:

{{{
size = 500
A = matrix(RR, size, size)
for i in range(size):
    A[i,i] = random()
    for j in range(8):
        A[i,randint(0,size-1)] = random()

timeit('A*A')
}}}

gives 

{{{
CPU times: user 60.72 s, sys: 0.11 s, total: 60.83 s
Wall time: 61.10 s
500 x 500 dense matrix over Real Field with 53 bits of precision
sage: timeit('A*A')
5 loops, best of 3: 60.6 s per loop

}}}

Trying with the 100th power of a 2000*2000 matrix is impossible, according to a colleague working for linbox, taking the 100th power of such a matrix would take no more that 10 seconds.

Is the interface with atlas working well ?

",frieux
2,21,command line option parsing,interfaces,sage-6.0,enhancement,jdemeyer,needs_work,2006-09-12T16:21:18-07:00,2013-01-24T23:35:11-08:00,"{{{sage -br -notebook}}} doesn't start the notebook but it should.

To apply: 

 - replace $SAGE_ROOT/makefile with ""makefile"".  See the diff file for reference.
 - replace $SAGE_ROOT/sage with ""sage"".  See the diff file for reference.
 - apply ""trac_21-extcode.patch"" to the extcode repo.
 - apply ""trac_21-sagenb.patch"" to the sagenb repo.
 - apply ""trac_21-scripts.patch"" to the scripts repo.
 - apply ""trac_21-sage.patch"" to the sage repo.

(The patches for extcode and sage are mainly changes in documentation. The critical patches are to the file ""sage"" and to the scripts repo.)
",was
2,10064,"-1 in expression ""is_positive"".",calculus,sage-pending,defect,burcin,positive_review,2010-10-03T11:04:13-07:00,2012-01-10T00:47:01-08:00,"I test :

{{{
y = I*I*x / x # so y is the expression -1
y._is_positive()  # the answer is True (and I dislike)
z = -x / x 
z._is_positive()   # the answer is False 
bool (z == y) # the answer is True
}}}

Apply attachment:trac_10064.patch.",fmaltey
3,5964,Some R doctests related to documentation fail when perl-modules not installed at compile-time,interfaces,,defect,was,new,2009-05-02T15:59:26-07:00,2009-05-02T15:59:26-07:00,"The doctest failures:
{{{
sage -t  ""devel/sage/sage/interfaces/r.py""
**********************************************************************
File ""/usr/src/sage-3.4.1/devel/sage/sage/interfaces/r.py"", line 665:
    sage: r.help('print.anova')
Expected:
    anova                 package:stats                 R Documentation
    ...  
         'coefficients', 'effects', 'fitted.values', 'residuals',
         'summary', 'drop1', 'add1'.
Got:
    No documentation for 'print.anova' in specified packages and libraries:
    you could try 'help.search(""print.anova"")'
**********************************************************************
File ""/usr/src/sage-3.4.1/devel/sage/sage/interfaces/r.py"", line 1707:
    sage: print length._sage_doc_()
Expected:
    length                 package:base                 R Documentation
    ...
    <BLANKLINE>
Got:
    No documentation for 'length' in specified packages and libraries:
    you could try 'help.search(""length"")'
**********************************************************************
File ""/usr/src/sage-3.4.1/devel/sage/sage/interfaces/r.py"", line 1780:
    sage: print length._sage_doc_()
Expected:
    length                 package:base                 R Documentation
    ...
    <BLANKLINE>
Got:
    No documentation for 'length' in specified packages and libraries:
    you could try 'help.search(""length"")'
**********************************************************************
3 items had failures:
   1 of   3 in __main__.example_23
   1 of   5 in __main__.example_68
   1 of   4 in __main__.example_73
***Test Failed*** 3 failures.
For whitespace errors, see the file /usr/src/sage-3.4.1/tmp/.doctest_r.py
         [5.1 s]
}}}

----

Looking at the {{{install.log}}} shows two types of ""failure"":

 - missing {{{makeinfo}}}:
{{{
you should 'make docs' now ...
make[3]: Entering directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/doc'
make[4]: Entering directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/doc/manual'
'makeinfo' v4.7 or later needed to make HTML docs but missing on your system.
file R-FAQ.html will be missing
creating doc/manual/version.texi
'makeinfo' v4.7 or later needed to make HTML docs but missing on your system.
file R-data.html will be missing
'makeinfo' v4.7 or later needed to make HTML docs but missing on your system.
file R-exts.html will be missing
'makeinfo' v4.7 or later needed to make HTML docs but missing on your system.
file R-intro.html will be missing
'makeinfo' v4.7 or later needed to make HTML docs but missing on your system.
file R-ints.html will be missing
'makeinfo' v4.7 or later needed to make HTML docs but missing on your system.
file R-lang.html will be missing
make[5]: Entering directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/doc/html'
make[5]: Leaving directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/doc/html'
make[4]: Leaving directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/doc/manual'
make[3]: Leaving directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/doc'
}}}
 - missing perl module {{{File/Basename.pm}}}:
{{{
make[3]: Entering directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/src/library'
building all R object docs (text, HTML, LaTeX, examples)
make[4]: Entering directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/src/library'
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
Can't locate File/Basename.pm in @INC (@INC contains: /usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/share/perl /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../share/perl/build-help.pl line 18.
BEGIN failed--compilation aborted at ../../share/perl/build-help.pl line 18.
make[4]: *** [help-indices] Error 2
make[4]: Leaving directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/src/library'
make[3]: *** [docs] Error 2
make[3]: Leaving directory `/usr/src/sage-3.4.1/spkg/build/r-2.6.1.p22/src/src/library'
make[2]: [docs] Error 2 (ignored)
}}}
----
This is on a ""barebones"" debian lenny, which only has {{{perl-base}}}, but no {{{perl-modules}}} installed, thus {{{File/Basename.pm}}} is indeed missing.

Reinstalling r-2.6.1.p22.spkg ''after'' {{{apt-get install perl-modules}}} fixes the issue: the {{{install.log}}} still complains about missing {{{makeinfo}}}, but that seems irrelevant, and the doctest in {{{devel/sage/sage/interfaces/r.py}}} pass.

I believe the prereq test actually checks if perl is installed, but that seems to not be enough. Adding a check for a few required perl modules may be in order... (cf #5517, whose dependency on {{{File/Copy.pm}}} was actually eliminated, but the point stands).",tornaria
3,6480,.subs_expr() method doesn't work for argument of D derivative operator,symbolics,,defect,,new,2009-07-08T04:37:56-07:00,2013-05-15T11:11:49-07:00,"In computing functional derivative, one needs to vary
a functional. For example, in sage-3.4 one can do as follows
{{{
sage: f(x) = function('f',x)
sage: df(x) = function('df',x)
sage: g = f(x).diff(x)
sage: g
diff(f(x), x, 1)
sage: g.subs_expr(f(x)==f(x)+df(x))
diff(f(x) + df(x), x, 1)
}}}

In new symbolics, if I do the same I get

{{{
sage: g
D[0](f)(x)
sage: g.subs_expr(f(x)==f(x)+df(x))
D[0](f)(x)
}}}



----


From #11842, the list of what does/doesn't work:
{{{
from sage.all import *


# 1. Fails.
x = var('x')
f = function('f', x)
g = function('g', x)
p = f
print p.substitute_function(f, g) # Outputs ""f(x)""



# 2. Fails.
x = var('x')
f = function('f')
g = function('g')
p = f(x)
print p.substitute_function(f(x), g(x)) # Outputs ""f(x)""



# 3. Works.
x = var('x')
f = function('f')
g = function('g')
p = f(x)
print p.substitute_function(f, g) # Outputs ""g(x)""



# 4. Fails.
x = var('x')
f = function('f')
g = function('g')
p = f(1)
print p.substitute_function(f(1), g(1)) # Outputs ""f(1)""



# 5. Works.
x = var('x')
f = function('f')
g = function('g')
p = f(1)
print p.substitute_function(f, g) # Outputs ""g(1)""



# 6. Fails.
x = var('x')
f = function('f', x)
g = function('g', x)
p = f.diff()
print p.substitute_function(f, g) # Outputs ""D[0](f)(x)""



# 7. Fails.
x = var('x')
f = function('f', x)
g = function('g', x)
p = f.diff()
print p.substitute_function(f(x), g(x)) # Outputs ""D[0](f)(x)""



# 8. Works.
x = var('x')
f = function('f')
g = function('g')
p = f(x).diff()
print p.substitute_function(f, g) # Outputs ""D[0](g)(x)""



# 9. Fails.
x = var('x')
f = function('f')
g = function('g')
p = f(x).diff()(1)
print p.substitute_function(f(x).diff(), g(x).diff()) # Outputs ""D[0](f)(1)""



# 10. Works..
x = var('x')
f = function('f')
g = function('g')
p = f(x).diff()(1)
print p.substitute_function(f, g) # Prints D[0](g)(1).
}}}",gmhossain
3,6527,finish implementing set_circular_planar for graphs,graph theory,,defect,ekirkman,new,2009-07-13T14:25:36-07:00,2009-07-13T14:25:36-07:00,"This would, in particular, have the function `set_planar_positions` look at the `external_face` and `circular` options. (And DO the TODO mentioned there in the source code.)",rlm
3,6667,bug in newton_polygon() for p-adic polynomials,padics,,defect,roed,new,2009-08-03T01:00:58-07:00,2012-03-19T12:05:09-07:00,"This is as simple as I can make it at the moment:

{{{
----------------------------------------------------------------------
| Sage Version 4.1.1.rc0, Release Date: 2009-07-29                   |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
**********************************************************************
*                                                                    *
* Warning: this is a prerelease version, and it may be unstable.     *
*                                                                    *
**********************************************************************
sage: K = Qp(2, prec=5)
sage: P.<x> = K[]
sage: f = P(x^4 + 2^3*x^3 + 2^13*x^2 + 2^21*x + 2^37)
sage: f.newton_polygon()
[(0, 37), (1, 21), (2, 13), (3, 3), (4, 0)]
}}}

This is wrong, as it's not convex (the point (2,13) should not be there).  Indeed, note that the sequence of Newton slopes is not non-increasing:

{{{
sage: f.newton_slopes()
[16, 8, 10, 3]
}}}

This should be [16, 9, 9, 3].
",AlexGhitza
3,6706,MPIR can try to unsuccessfully link in gmp on some Solaris x86 machines,porting: Solaris,,defect,drkirkby,new,2009-08-09T02:51:45-07:00,2009-12-02T20:11:35-08:00,I'll post a full log later. ,drkirkby
3,7035,"R sends the correct Sun flags to C and C++ compilers, but not Fortran.",build,,defect,tbd,new,2009-09-27T08:16:37-07:00,2011-05-24T12:30:29-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021

CC was set to the Sun C compiler, and CXX to the Sun C++ compiler and SAGE_FORTRAN to the Sun Fortran 95 compiler. While R sends the correct flags (-KPIC) to make position independent code to the Sun C and C++ compilers, it does not do so with the Fortran compiler. Instead it used the GNU flag -fPIC. R is however picking up the correct Fortran compiler (f95 and not gfortran)

{{{
/opt/xxxsunstudio12.1/bin/cc -I. -I../../src/include -I../../src/include -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/inlcude -DHAVE_CONFIG_H   -KPIC  -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include -L/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/lib/  -c tabulate.c -o tabulate.o
/opt/xxxsunstudio12.1/bin/cc -I. -I../../src/include -I../../src/include -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/inlcude -DHAVE_CONFIG_H   -KPIC  -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include -L/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/lib/  -c uncmin.c -o uncmin.o/opt/xxxsunstudio12.1/bin/cc -I. -I../../src/include -I../../src/include -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/inlcude -DHAVE_CONFIG_H   -KPIC  -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include -L/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/lib/  -c zeroin.c -o zeroin.osage_fortran  -PIC  -g -c ch2inv.f -o ch2inv.o
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
sage_fortran  -PIC  -g -c chol.f -o chol.o
}}}

",drkirkby
3,7641,symbolic expression plots do not use the generic variable processing pipeline,graphics,,defect,was,new,2009-12-09T09:34:16-08:00,2010-05-11T13:29:05-07:00,"Right now, plots for symbolic expressions do not go through the generic codepath, but through the expression.plot() function in symbolic/expression.pyx.  This specialized codepath changes how the arguments are handled, etc.  I think any functionality in the special codepath ought to go in the generic codepath, or we should reduce the generic codepath quite a bit and just pass things off to symbolic expressions.  Too much code duplication here has led to lots of little inconsistencies.

As an example, this works {{{plot(x^2,0,x,5)}}}, but this doesn't: {{{parametric_plot((x,x^2), 0,x,5)}}}, since the first uses the expression.pyx codepath, but the parametric plot uses the generic codepath.",jason
3,7653,Ensure that C++ libraries linked are ISO standard with commerical compilers,build,,defect,GeorgSWeber,new,2009-12-10T08:35:09-08:00,2009-12-10T08:35:09-08:00,"Several C++ compilers from commercial vendors (Sun and HP being two examples I am aware of), created C++ libraries based on an older version of the C++ standard. This is incompatible with the current standard, so both HP and Sun ship two libraries - one for backward compatibility, the other which implements the last ISO standard, but at the expense of backward compatibility. 

In contrast, g++ only uses on library. 

Sun take their usual attitude of ensuring Solaris is backward compatible, so by default their C++ compiler uses a library which does not conform to the latest C++ standard. Alexander Dreyer has found that the magic switch to get Sun Studio to use the latest C++ library is 

{{{
-library=stlport4
}}}

Further details can be found on the Sun web site at 

http://developers.sun.com/solaris/articles/cmp_stlport_libCstd.html

Looking at the HP C++ compiler for HP-UX, I see that it too has two C++ libraries - one for backward compatibility, one for latest C++ conformance. 

http://docs.hp.com/en/14487/faq.htm

Like the Sun compiler, the HP compiler defaults to an older C++ library standard. The option to enable the latest standard is

{{{
-AA
}}}

In both cases, the same library must be used for all objects - you can't mix them. 

Hence at some point, all code in Sage that uses C++ must have the appropriate option to C++ compiler to use the latest libraries, if it is to be built with Sun Studio or any other compiler which ships with two libraries. 

I would invisage creating individual trac tickets for each package which uses C++. The sensible option it to add this flag to a CXXFLAGS and hope all packages respect CXXFLAGS. In practice, this will not happen, so many will require changes to ensure they do respect flags from a global CXX flags. 
",drkirkby
3,7727,"optimized_representation fails,",number fields,,defect,davidloeffler,new,2009-12-17T12:50:02-08:00,2009-12-17T12:50:02-08:00,"The following code fails with cryptid PariError:
{{{
sage: L.<a>=NumberField(x^3+2/3*x+3)
sage: L.optimized_representation()
}}}

The exact failure happens on the command f.polred(2), but I'm not sure what's wrong with it.",syazdani
3,7774,"notebook: after performing ""evaluate all"" behauviour of  creating new cells changes.",notebook,,defect,was,new,2009-12-27T08:10:19-08:00,2010-01-01T16:59:59-08:00,"sage 4.3, 32-bit Athlon XP, OS: Debian ""lenny"", this issue appears in a local notebook as well as on www.sagenb.org using firefox 3.0.6 and epiphany

When working in the notebook, usually after evaluating the last cell, the result is printed out and the cursor is placed in a newly created empty cell.

This behaviour changes if ""evaluate all"" is performed on the worksheet:

Create a new worksheet, type ""1+1"" into the first cell and evaluate it, then go to the menu ""action"" and perform ""evaluate all"", then go to the last empty cell again, type something like ""1+2"" and evaluate the cell (by pressing Shift-Return), the result is printed out, but instead of creating a new empty cell and placing the cursor there, no new cell will be created, the cursor is placed in the beginning of the last evaluated cell.
",ggrafendorfer
3,7890,"[with patch, needs work] Improve conversion of GAP objects into sage objects.",interfaces,,defect,was,needs_work,2010-01-10T02:45:46-08:00,2012-06-15T00:10:36-07:00,"As of now, certain kinds of sage objects can be converted into GAP objects, but the resulting GAP objects cannot be converted back to sage objects.

Examples of this are matrices over finite fields:

{{{
sage: g = matrix(GF(5),2,[1,2, -1, 1])
sage: gg = g._gap_()
sage: gg.sage()
---------------------------------------------------------------------------
NotImplementedError
}}}

{{{
sage: a = gap('E(9)')
sage: a
-E(9)^4-E(9)^7
sage: a.sage()
---------------------------------------------------------------------------
NotImplementedError  
}}}

Being able to translate gap field elements into sage ones would help accesing GAP character tables, and a good conversion of matrices would allow many methods to be available for matrix groups.

See this thread at sage devel for more details:
http://groups.google.com/group/sage-devel/browse_thread/thread/a04006e5da578bd",jlopez
3,7964,axis labels in weird scientific notation,graphics,,defect,was,new,2010-01-17T02:31:15-08:00,2010-01-17T02:31:15-08:00,"The vertical axis labels look weird here.  What is ""1e""?

{{{
sage: plot(abs(exp(i*x)), (x,1,2))
}}}
",jason
3,7974,hg_sage.diff() silently appends,interfaces,,defect,was,new,2010-01-18T01:07:55-08:00,2010-01-18T01:07:55-08:00,{{{hg_sage.diff()}}} silently appends to a preceding patch file of the same name rather than overwriting or warning of appending/overwriting.  This is due to the -o option used in implementing the command.,gaer
3,7983,Notion of descent/major index in tableau.py is not mathematically standard,combinatorics,,defect,sage-combinat,needs_work,2010-01-18T11:39:19-08:00,2010-11-16T06:34:17-08:00,"The 'descents' and 'major_index' methods of a Tableau return what are more properly known as 'i_descents' and the 'i_maj' statistic.  These should be renamed accordingly, and the proper statistics put in their place.  See, eg., Richard Stanley--Enumerative Combinatorics, Vol. 2 for a reference to the usual definition.",jbandlow
3,8006,Identation syntax errors fail silently,notebook,,defect,was,new,2010-01-19T17:52:43-08:00,2010-01-19T17:52:43-08:00,"See #6729

This fails silently
{{{
CELL 1:
 u = 2
  u = 3
CELL 2:
print u # = 2
}}}

This should fail with an {{{IdentationError}}}, as it does in {{{%python}}}:
{{{
CELL 1:
 u = 2
  u = 3
# generates IdentationError
}}}",acleone
3,8015,Unify code for cusps over Q and number fields,modular forms,,defect,craigcitro,new,2010-01-20T12:07:37-08:00,2010-01-20T12:07:37-08:00,"The code at #6863 provides an implementation of cusps over number fields other than Q. As I commented on the ticket, this code should be merged with that for cusps over Q. This ticket is a request to do exactly that.

It's important that great care be taken when doing this, so that we don't accidentally slow down cusps over Q, which are crucial to modular symbols calculations. In particular, no patch should be merged on this ticket without some comprehensive benchmarks showing no slowdown.",craigcitro
3,8181,cannot coerce residue field back to p-adic ring,padics,,defect,roed,new,2010-02-03T15:35:50-08:00,2012-01-13T11:46:42-08:00,"I should be able to coerce elements of the residue field of a p-adic ring back into the ring, but I can't:

{{{
sage: R.<z> = Zq(9)
sage: F = R.residue_class_field()
sage: F
Finite Field in z0 of size 3^2
sage: a = F.gen()
sage: R(a)
---------------------------------------------------------------------------
TypeError
}}}
",dmharvey
3,8182,Camino browser crashed when notebook started using Mac OSX,notebook,,defect,was,new,2010-02-03T15:45:58-08:00,2010-02-03T15:45:58-08:00,"I just installed SAGE on a Macbook Pro running Snow Leopard.  I got sage running in Terminal and typed notebook().  A notebook came up in Camino (which I use) and asked for me to set a password.  After I did that the browser crashed with this bug report:

2/3/10 5:26:47 PM	Camino[480]	*** Terminating app due to uncaught exception 'JavaNativeException', reason: 'java.lang.NoClassDefFoundError: sun/plugin/javascript/webkit/JSObject'
*** Call stack at first throw:
(
	0   CoreFoundation                      0x969d240a __raiseError + 410
	1   libobjc.A.dylib                     0x922ed509 objc_exception_throw + 56
	2   CoreFoundation                      0x96a1ca21 -[NSException raise] + 17
	3   JavaPluginCocoa                     0x197438ce registerNatives + 129
	4   JavaEmbeddingPlugin                 0x1cd5da65 Java_callRegisterNatives + 402
	5   ???                                 0x3100b839 0x0 + 822130745
)",jhelffrich
3,8195,Problems with the 'download' page on the Sage web site.,website/wiki,,defect,drkirkby,new,2010-02-05T10:24:51-08:00,2012-05-17T15:13:30-07:00,"I believe there are several problems on the downloads page: http://www.sagemath.org/download.html

This is particularity important now, as I want to put an announcement on compu.unix.solaris about Sage on Solaris, but there is no point until the web pages are more accurate. 

== Download and Media ==
 * It says the current release is 4.3.1, yet there is no mention of the fact that for Solaris, the latest is 4.3.0.1. I think this is pretty important to have prominently, so a Solaris user does not download 4.3.1, which will not work for them. I would suggest adding ""Unfortunately, 4.3.1 will not build on any version of Solaris. We are working on fixing these issues. However, version 4.3.0.1 successfully builds on Solaris 10 (SPARC)""
 * Further down (too far down IMHO), it says ""Sage 4.3.0.1 is the latest version that successfully builds on the Sun T5240. See the Sage wiki for build instructions"" This has three issues
  * Solaris builds on many systems, not just the T5240. In fact, I rarely build it on that, as it is so slow. 
  * A lot of Solaris users wont even know what a T5240 is. It is probably the worst possible sort of machine for scientific users. 
  * The Wiki page it points to is '''very''' specific for 't2'. Those instructions will be of no use to anyone with any other Solaris machine, not even a T5240 unless it is 't2'.  I believe there should be a link to the build instructions for Solaris, which are at http://wiki.sagemath.org/solaris '''plus''' a note for users with access to t2.math.washington.edu, that there are very simpled instructions at http://wiki.sagemath.org/devel/Building-Sage-on-the-T5240-t2 specifically for 't2'. The point is, the instructions at http://wiki.sagemath.org/devel/Building-Sage-on-the-T5240-t2 are very specific to how 't2' has been configured. They would not apply to anyone elses T5240, nor any other Solaris machine. For other Solaris users, the only Solaris page of interest is http://wiki.sagemath.org/solaris

== DVD ==
The link to Lulu to get a live CD reports a message that the CD is not available. As such, it should be removed until such time as the DVD becomes available, which does not look to be any time soon. It has been broken for months. 



Sorry for the hassle Harald, 

Dave ",drkirkby
3,8236,installing spkg from remote location must leave a spkg (placeholder) in spkg/,build,,defect,GeorgSWeber,needs_info,2010-02-10T21:41:08-08:00,2010-03-29T03:11:31-07:00,"When one does sage -f (or -i) from a remote location, the
spkg file is not stored locally in the appropriate place,
even if an upgrade of a standard spkg has taken place.
As a result, the script spkg/standard/newest_version may fail
to detect that the upgrade has taken place.

As a solution, one can either store the full downloaded spkg, or
just a placeholder with (almost) the same name as the spkg file.

Or, perhaps, sage -i (-f) can call spkg/standard/newest_version to see if an upgrade is happening, and act accordingly.

This bug has cost me and wdj hours of wasted time, see #8229.",dimpase
3,8240,cannot coerce p-adic field into residue field,padics,,defect,roed,new,2010-02-11T11:51:59-08:00,2012-02-21T04:51:16-08:00,"{{{
sage: K.<a> = Qq(25)
sage: F = K.residue_field()
sage: F(a)
Traceback (click to the left of this block for traceback)
...
TypeError: unable to coerce
}}}

Perhaps this is a ""feature request"", but it seems like a pretty basic feature...

(It works fine for prime fields)
",dmharvey
3,8478,Programming tutorial page seems incorrect,documentation,,defect,mvngu,new,2010-03-07T12:11:17-08:00,2011-08-08T15:01:50-07:00,"The section Standalone Python/Sage Scripts at http://www.sagemath.org/doc/tutorial/programming.html#section-loadattach seems to have two problems (profuse apologies if these are actually user errors).

1) #!/usr/bin/env sage -python   doesn't work in linux as shebang can't take two arguments. One simple workaround is to use #!/path_to_sage -python
2) The script itself seems broken. Testing it using sage 4.3.3

./factor 2006

works as expected.

But ./factor ""32*x^5-1""  gives
Traceback (most recent call last):
  File ""./factor"", line 11, in <module>
    print factor(sage_eval(sys.argv[1]))
  File ""/opt/sage-4.3.3-linux-32bit-ubuntu_9.10-i686-Linux/local/lib/python2.6/site-packages/sage/misc/sage_eval.py"", line 199, in sage_eval
    return eval(source, sage.all.__dict__, locals)
  File ""<string>"", line 1, in <module>
NameError: name 'x' is not defined
",lesshaste
3,8510,conjugacy_class(es)_representatives,algebra,,defect,AlexGhitza,new,2010-03-12T11:05:37-08:00,2010-03-12T11:05:37-08:00,"The group SL(2,3) has a method conjugacy_class_representatives()
while the group DiCyclicGroup(3) has a method
conjugacy_classes_representatives(). These names are similar but not
identical. Presumably one should be changed.

See: 

http://groups.google.com/group/sage-devel/browse_thread/thread/e65176f82a47e06d",bump
3,8526,Missing usernames in trac emails,website/wiki,,defect,schilly,new,2010-03-13T10:10:45-08:00,2010-03-13T10:10:45-08:00,"In a number of emails I get from trac, I see lines like this:

{{{
Changes (by newvalueoldvalue): 
}}}

The `newvalueoldvalue` should instead be an actual username. I'm not sure if this is an actual trac bug or if it's something about our configuration. For this ticket, someone should figure that out, and either file a new bug, fix the trac configuration, or file a bug with trac itself (if that's where the issue is).

This came up on the following sage-devel thread: 

http://groups.google.com/group/sage-devel/browse_thread/thread/060f5430428fd945#

",craigcitro
3,8554,Failed RealNumber conversion from str in base 16.,numerical,,defect,jkantor,new,2010-03-17T13:04:11-07:00,2010-03-17T23:50:45-07:00,"{{{
sage: RealNumber(""1ffef"", base=16)  
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/opt/sage-4.3.3/<ipython console> in <module>()

/opt/sage-4.3.3/local/lib/python2.6/site-packages/sage/rings/real_mpfr.so in sage.rings.real_mpfr.create_RealNumber (sage/rings/real_mpfr.c:25128)()

ValueError: invalid literal for int() with base 10: 'f'
}}}

The problem arises because 'e' is incorrectly parsed as the mantissa/exponent delimiter. If Sage wants to follow MPFR in this regard, '@' should be used as a delimiter for base > 10.",lfousse
3,8555,Unexpected behaviour of symbolic zero.,symbolics,,defect,burcin,new,2010-03-17T13:17:19-07:00,2010-03-17T13:19:32-07:00,"Consider the following commands:
{{{
sage: x = PolynomialRing(RealField(42), 'x', 2).gens() 
sage: x[0]^2 - x[1]^2 == SR(1)
x0^2 - x1^2 == 1
sage: x[0]^2 - x[1]^2 == SR(0)
False
}}}

It seems the symbolic zero is behaving in an unexpected way.",lfousse
3,8588,"list(SL(2,2)) is inconsistent with SL(2,2).list()",algebra,,defect,AlexGhitza,new,2010-03-23T09:29:31-07:00,2012-06-04T17:40:12-07:00,"{{{
sage: G = SL(2,2)
sage: TestSuite(G).run()
Failure in _test_enumerated_set_iter_list:
Traceback (most recent call last):
...
AssertionError: [1 1]
[0 1] != [1 0]
[0 1]
------------------------------------------------------------
The following tests failed: _test_enumerated_set_iter_list

sage: list(G)[2]
[1 1]
[0 1]
sage: G.list()[2]
[1 0]
[0 1]
}}}",nthiery
3,8590,`A` still using old coercion framework,algebra,,defect,AlexGhitza,new,2010-03-23T10:40:36-07:00,2010-03-23T10:40:36-07:00,"There is a failure in the test of the file

sage.categories.hopf_algebras_with_basis

The problem occurs during the test suite of an hopf algebra and returns the error

{{{
   RuntimeError: `A` still using old coercion framework
}}}

I am unfortunately not able to solve really this problem, but, if the competent people have no time right now, I can write a small patch predicting the error in the test so that the tests pass",vferay
3,8622,Atkin-Lehner operators don't work for odd weight modular forms,modular forms,,defect,craigcitro,new,2010-03-29T03:27:02-07:00,2012-05-18T06:23:06-07:00,"In ticket #5262 I implemented a method to find the Atkin-Lehner eigenvalue of a modular form. Sadly this does not work if the form has odd weight:

{{{
sage: f = Newforms(Gamma1(13),3,names='a')[0]
sage: f
q + a0*q^2 + (1/7*a0^3 + 2/7*a0^2 - 3/7*a0 - 27/7)*q^3 + (-8/21*a0^3 - 23/21*a0^2 - 88/21*a0 + 16/7)*q^4 + (2/7*a0^3 + 11/7*a0^2 + 29/7*a0 + 9/7)*q^5 + O(q^6)
sage: f.atkin_lehner_eigenvalue()
---------------------------------------------------------------------------
ArithmeticError                           Traceback (most recent call last)
...
ArithmeticError: subspace is not invariant under matrix
}}}

This comes up because for modular symbols of any odd weight, the Atkin-Lehner involution doesn't commute with the star involution and hence doesn't restrict to an operator on the plus submodule of the modular symbols (hence ""subspace not invariant under matrix""). In fact they ''anti-commute'':
{{{
sage: N = f.modular_symbols(sign=0)
sage: a = N.atkin_lehner_operator(13).matrix()
sage: b = N.star_involution().matrix()
sage: a * b * ~a * ~b
[-1  0  0  0  0  0  0  0]
[ 0 -1  0  0  0  0  0  0]
[ 0  0 -1  0  0  0  0  0]
[ 0  0  0 -1  0  0  0  0]
[ 0  0  0  0 -1  0  0  0]
[ 0  0  0  0  0 -1  0  0]
[ 0  0  0  0  0  0 -1  0]
[ 0  0  0  0  0  0  0 -1]
}}}

A morally right fix would probably also allow us to implement pseudo-eigenvalues for Atkin-Lehner operators when the character is not trivial or quadratic. See also the [http://groups.google.com/group/sage-nt/browse_thread/thread/3c7bd65248e3b0c8/f8b9f3595f38788b sage-nt thread].",davidloeffler
3,8627,cannot coerce p-adic capped-rel to capped-abs,padics,,defect,roed,new,2010-03-29T17:47:56-07:00,2010-03-29T17:47:56-07:00,"(sage 4.3.1)

{{{
sage: R.<a> = Zq(25, type=""capped-abs"")
sage: R(1/a)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Users/david/<ipython console> in <module>()

/Users/david/sage-4.3.1/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:4956)()

/Users/david/sage-4.3.1/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap._call_ (sage/structure/coerce_maps.c:2434)()

/Users/david/sage-4.3.1/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap._call_ (sage/structure/coerce_maps.c:2332)()

/Users/david/sage-4.3.1/local/lib/python2.6/site-packages/sage/rings/padics/padic_ZZ_pX_CA_element.so in sage.rings.padics.padic_ZZ_pX_CA_element.pAdicZZpXCAElement.__init__ (sage/rings/padics/padic_ZZ_pX_CA_element.cpp:4574)()

TypeError: Cannot convert sage.rings.padics.padic_ZZ_pX_CR_element.pAdicZZpXCRElement to sage.rings.padics.padic_ZZ_pX_CA_element.pAdicZZpXCAElement
}}}
",dmharvey
3,8628,confusing defaults for p-adic precision types,padics,,defect,roed,new,2010-03-29T17:50:51-07:00,2010-03-29T17:50:51-07:00,"(sage 4.3.1)

absolute or relative is the default?

{{{
sage: R = Zp(5)
sage: R
5-adic Ring with capped relative precision 20
sage: R.<a> = Zq(25)
sage: R
Unramified Extension of 5-adic Ring with capped absolute precision 20 in a defined by (1 + O(5^20))*x^2 + (4 + O(5^20))*x + (2 + O(5^20))
sage: R = Zq(5)
sage: R
5-adic Ring with capped absolute precision 20
}}}
",dmharvey
3,8646,Windows 7 Virtual Box Install Fails,build,,defect,GeorgSWeber,new,2010-04-02T18:54:07-07:00,2010-04-04T20:01:24-07:00,"I am running windows 7 64 bit, and have installed 
virtualbox 3.1.6.  Sage 4.3 does not import into virtualbox   right near the end of the import process it fails with the following error

Runtime error: -35 (Unresolved (unknown) host platform error.).

The error occurs on line 3325 of the source file VirtualBoxImpl.cpp .

This may be a virtualbox issue,  but it does mean that perhaps a lot of windows users can't get the default sage virtual environment to run.  I have not seen this issue reported elsewhere.",SevenThunders
3,8648,Generic __call__ function for parents prevents empty input in constructor,coercion,,defect,robertwb,new,2010-04-03T08:34:28-07:00,2010-10-20T14:11:19-07:00,"Generic __call__ function for parents has a default value for its first argument. This prevents from making a difference between A() and A(0). This causes problems for crystal code, where the typical input is A(2,1,4,3,0,...). For example:

{{{
    sage: T = CrystalOfTableaux(['B',3], shape=[3])
    sage: t=T(1,2,0)
    sage: t
    [[1, 2, 0]]

    sage: T = CrystalOfTableaux(['B',3], shape=[])
    sage: t=T()
    sage: t     # goes boom
    sage: t._list # this list should be empty
    [0]
}}}

Suggestion: self.__call__() could instead call right away self._element_constructor_().
",aschilling
3,8687,Weak SSL certificates in notebooks,notebook,,defect,"jason, was",new,2010-04-14T06:32:34-07:00,2010-04-14T06:32:34-07:00,"To generate the certificate required for secure (https) notebooks, openssl is called (in Linux, at least). By default, openssl generates 512bit RSA keys, which are far too weak to be used with any degree of confidence.

The offending code is in the sagenb module, in the run_notebook.py file, line 100. A simple fix is to change the line to:

  cmd = ['openssl genrsa 2048 > %s' % private_pem]",sneves
3,8693,QuadraticForm::basis_of_short_vectors may not return an actual basis.,quadratic forms,,defect,justin,new,2010-04-15T11:51:18-07:00,2010-04-15T11:51:18-07:00,"QuadraticForm::basis_of_short_vectors does not actually ensure the list of vectors it returns is a basis, it only assures that it spans a full rank sub-lattice.

In particular in the following example (E8):


{{{
Q = QuadraticForm( matrix( [[2,0,0,0,0,0,0,1],
                            [0,2,1,1,1,1,1,1],
                            [0,1,2,1,1,1,1,1],
                            [0,1,1,2,1,1,1,1],
                            [0,1,1,1,2,1,1,1],
                            [0,1,1,1,1,2,1,1],
                            [0,1,1,1,1,1,2,0],
                            [1,1,1,1,1,1,0,2]] ))
B = Q.basis_of_short_vectors()
matrix(B).det()
}}}


The result is -2, which indicates we did not get a basis.
Note that the above means that sage likely returns incorrect results about the automorphism groups of a number of interesting lattices.
I am attaching some sample code which (once properly merged {and tested}) could be used to correct the issue.
",afiori
3,8840,about  CSRF attacks,notebook,,defect,aliajouz,new,2010-05-01T17:17:50-07:00,2010-05-01T17:18:28-07:00,"sage contain Multiple cross site reference vulnerability
because authority does not checked before preforming an action

'''CSRF attacks explain:'''
If create a file on my domain called ""blah.jpg"". It's really a php file, renamed.
The PHP file redirects you back to the referring host (or any host I want to really), to a special URL.
That URL takes an action based on the submitted data.
I then use an img  tag <img> to link to my ""image"" on your site.

When you view the page, your browser makes a request to that image, and that request is then redirected to the page on your site. Your browser won't display the image (or will display a broken image) but that's not important. What's important is that you just executed an action without knowing it.

Some examples of  CSRF attacks in sage :

1) upload a worksheet
2) create worksheet
3) change email 
4) .............
...........
.............
...........


'''example:'''
1- login in at
http://alpha.sagenb.org/

2- open this published worksheet
http://alpha.sagenb.org/home/pub/16/

3-go to your home you will see that I uploaded a worksheet to your account .


",aliajouz
3,8878,Use Dijkstra to discover shortest coercion path,coercion,,defect,robertwb,needs_work,2010-05-04T16:35:06-07:00,2010-05-04T16:39:22-07:00,"In #7420, it was discussed that the current coercion model is using depth first search to find for coercion paths between different parents, and that it would be better to use breath-first / Dijkstra to get a shortest coercion path. For example, we obtained once a coercion path of length 20 among symmetric functions.

Patch under development on the Sage-Combinat server: http://combinat.sagemath.org/hgwebdir.cgi/patches/file/tip/trac_8878_coerce_dijkstra-nt.patch



Note: the following issue is probably related:
{{{
A = CombinatorialFreeModule(QQ, ZZ, prefix = ""A"")
B = CombinatorialFreeModule(QQ, ZZ, prefix = ""B"")
C = CombinatorialFreeModule(QQ, ZZ, prefix = ""C"")
D = CombinatorialFreeModule(QQ, ZZ, prefix = ""D"")

def make_morph(X, Y):
    X.module_morphism(Y.monomial).register_as_coercion()

make_morph(A,B)
make_morph(B,A)

make_morph(C,A)

make_morph(D,C)

d = D.monomial(1)

A(d)
B(d)
}}}",nthiery
3,8924,Comparison between Sage and mpmath numbers is broken,basic arithmetic,,defect,AlexGhitza,new,2010-05-07T12:23:24-07:00,2010-05-07T12:23:24-07:00,"Comparison between Sage and mpmath numbers works with mpmath numbers on the left, but not on the right:

{{{
sage: mpmath.mpf(1) < 3
True
sage: 1 < mpmath.mpf(3)
False
sage: 4 == mpmath.mpf(4)
False
}}}

Found by Harald Schilly (see #8791).

This appears to be a bug in Sage (or Cython). Sage's numbers do the pure-Python equivalent of not returning !NotImplemented when compared to unrecognized types. For a minimal example:

{{{
sage: class X(object):
....:         def __init__(self, v): self.v = v
....:     def __lt__(self, other): return self.v < int(other)
....:     def __gt__(self, other): return self.v > int(other)
....:
sage: X(1) < 3
True
sage: 1 < X(3)
False
sage: X(1) < int(3)
True
sage: int(1) < X(3)
True
}}}",fredrik.johansson
3,9155,G.list() can be modified,algebra,,defect,AlexGhitza,new,2010-06-05T21:35:30-07:00,2010-06-06T22:46:45-07:00,"cached_method should not be used with mutable return values

{{{
sage: G = SymmetricGroup(2)
sage: elements = G.list()
sage: elements.remove(G(""()""))
sage: G.list()
[(1,2)]
sage: K = SymmetricGroup(2)
sage: K.list()
[(1,2)]
}}}

as reported at http://groups.google.com/group/sage-devel/browse_thread/thread/265e134a585cf2bf",robertwb
3,9201,Add missing R modules and make `spkg-check` pass on Solaris,porting: Solaris,,defect,drkirkby,new,2010-06-10T00:48:05-07:00,2011-08-19T11:05:57-07:00,"Some R modules aren't built/installed on t2.  This makes builds fail when `SAGE_CHECK` is set.  From [comment:ticket:8306:67 this comment] at #8306:

Running R's `make check` on t2 gives
{{{
 Collecting examples for package `stats'
   Extracting from parsed Rd's ..............................
 Running examples in package `stats'
 Error: testing 'stats' failed
 Execution halted
 make[5]: *** [test-Examples-Base] Error 1
}}}
Here's some detail from `src/tests/Examples/stats-Ex.Rout.fail`:
{{{
 > contrasts(ffs) <- contr.sum(5, sparse=TRUE)[,1:2]; contrasts(ffs)
 Error in .Diag(levels, sparse = sparse) :
   contr*(.., sparse=TRUE) needs package ""Matrix"" correctly installed
 Calls: contr.sum -> .Diag
 Execution halted
}}}
[http://sage.math.washington.edu/home/mpatel/trac/8306/r-2.10.1.p2.log This log] also shows that R's Matrix package isn't built/installed successfully:
{{{
 Loading required package: Matrix
 Error in dyn.load(file, DLLpath = DLLpath, ...) :
   unable to load shared library '/scratch/mpatel/sage-4.4.4.alpha0-j64-par-chk/spkg/build/r-2.10.1.p2/src/library/Matrix/libs/Matrix.so':
   ld.so.1: R: fatal: libgcc_s.so.1: open failed: No such file or directory
 Error : require(Matrix, save = FALSE) is not TRUE
}}}
Moreover, comparing the output of `ls SAGE_LOCAL/lib/R/library` on sage.math and t2 builds indicates that we're also missing the class, mgcv, nnet, rpart, spatial, and survival packages on t2.
",mpatel
3,9255,Minor tweaks to parallel decorator,user interface,,defect,was,new,2010-06-17T12:08:50-07:00,2010-06-17T12:08:50-07:00,More from work on my thesis... Some subtle issues involving using keyboard interrupts in subprocesses and some processes which were not properly receiving the kill signal.,rlm
3,9268,Notebook Server replies to Plot3d-Data-Request with Status 301,notebook,,defect,"jason, was",new,2010-06-18T13:57:52-07:00,2010-06-18T13:57:52-07:00,"This issue has long caused problems, although many people managed to get it fixed without actually knowing what caused it. As discussed in all detail in the following thread

http://groups.google.com/group/sage-notebook/browse_thread/thread/9191e031224a3ce9

JMol requests the data for the plot3d from the Sage backend. When it does so, on some occasions it receives a 301 Moved Permanently which Java is not following but interprets as 200 and parses the content - which then causes the error.

This is partly a client-side Java problem as Java should perhaps follow the 301 to the new location and then pass the data transparently but also Sage shouldn't provide a 301'd location in the first place.

Further details, such as the fact that this does not happen for applets which are part of a published worksheet can be found in the thread.

Can be fixed by making JMol pointing to the correct location or make Sage transparently return the data instead of a 301.

This problem occurs with both, the open IcedTea (OpenJDK) and propritary Sun Java in Firefox 3.6 on Ubuntu 10.4LTS.

On a sidenote, I assume that other people do not have this problem because they might have additional packages installed which compensate for the 301.",ManDay
3,9321,Documentation for sum() function should indicate Python syntax *first*,documentation,,defect,mvngu,new,2010-06-23T17:01:48-07:00,2011-02-16T14:04:11-08:00,"When did we hijack the sum function? Based on the documentation there, I have (today alone) had four different people come up to me and ask why something like the following doesn't work:

{{{
sage: sum(Integer(x), x, 0, 9)
}}}

I know the reasons this shouldn't work, but newbies definitely don't. It should say something about how to do
{{{
sage: sum( Integer(x) for x in range(10) )
}}}
before ""getting all symbolic.""",rlm
3,9325,Bugs concerning coding comments and docstrings in sage-preparse,misc,,defect,jason,new,2010-06-24T03:02:02-07:00,2010-07-01T02:47:35-07:00,"I found (and fixed) a few Bugs in the file local/bin/sage-preparse.

These are the things I fixed:

* The module docstrings disappeared when preparsing because the
preparse_file function inserted those numeric_literals definitions before
the docstrings.

* Now also unicode-docstrings (e.g. u""""""foo"""""") are recognized as
docstrings. Also raw docstrings may now use an upper case R as string
modifier (R""""""foo"""""" would work now) which is allowed in Python.

* Now all coding-comments as specified by Python are found and excluded
from preparsing.

* I did not fix a bug that occurs when a statement is on the same line
where the docstring ends, e.g.
{{{
""""""foo""""""; print 2^5
}}}
It will not be preparsed! I added a TODO-comment on the according line. 

greetings,
David Poetzsch-Heffter",dpoetzsch
3,9341,K.S_units doesn't check for repeated entries,number fields,,defect,davidloeffler,new,2010-06-25T13:54:29-07:00,2010-06-25T13:54:29-07:00,"Here is a stupid example:
{{{
sage: _.<t>=QQ[]
sage: K.<T>=NumberField(t-1)
sage: I = K.ideal(2)
sage: K.S_units([I])
[2, -1]
sage: K.S_units([I, I])
[2, 2, -1]
}}}
Looking at the code, this seems to be an upstream issue with gp as well.",syazdani
3,9391,kolyvagin_cohomology_class() method differs from doc,elliptic curves,,defect,cremona,new,2010-06-29T22:27:57-07:00,2010-06-29T22:27:57-07:00,"If P is a 'kolyvagin_point' created from an elliptic curve, the doc string says
{{{
Definition:	P.kolyvagin_cohomology_class(self, n=None)
Docstring:
       INPUT:
    
          * n -- positive integer that divides the gcd of a_p and p+1 for
            all p dividing the conductor.  If n is None, choose the
            largest valid n.
}}}
In fact, if ""n"" is None, a ValueError is thrown.
",justin
3,9410,EC.local_data() can't handle extensions of number fields,elliptic curves,,defect,cremona,new,2010-07-02T10:40:15-07:00,2010-07-02T10:40:15-07:00,"In 4.4.4 the following code produces a ValueError:

{{{
sage: K.<a> = NumberField(x^2+1)
sage: L.<b> = K.extension(x^2-17)
sage: E = EllipticCurve(L, [1,1])
sage: E.local_data()
}}}

As a workaround, one can use absolute_field:

{{{
L1.<c> = L.absolute_field()
E1 = EllipticCurve(L1, [1,1])
E1.local_data()
}}}

",arminstraub
3,9463,Integer factorization should handle perfect powers efficiently,factorization,,defect,tbd,new,2010-07-09T02:03:28-07:00,2010-11-19T14:05:25-08:00,"factor() is extremely slow at factoring large perfect powers (with a nontrivial base).
{{{
sage: %time factor(next_prime(10^20)^150)
CPU times: user 0.75 s, sys: 0.00 s, total: 0.75 s
Wall time: 0.75 s
100000000000000000039^150
sage: %time factor(next_prime(10^20)^250)
CPU times: user 2.68 s, sys: 0.00 s, total: 2.68 s
Wall time: 2.69 s
100000000000000000039^250
sage: %time factor(next_prime(10^20)^500)
CPU times: user 13.19 s, sys: 0.00 s, total: 13.19 s
Wall time: 13.20 s
100000000000000000039^500
}}}
For comparison, !SymPy handles such numbers in an instant:
{{{
sage: from sympy import factorint
sage: %time factorint(next_prime(10^20)^150)
CPU times: user 0.01 s, sys: 0.00 s, total: 0.01 s
Wall time: 0.01 s
{100000000000000000039L: 150}
sage: %time factorint(next_prime(10^20)^250)
CPU times: user 0.01 s, sys: 0.00 s, total: 0.01 s
Wall time: 0.01 s
{100000000000000000039L: 250}
sage: %time factorint(next_prime(10^20)^500)
CPU times: user 0.02 s, sys: 0.00 s, total: 0.02 s
Wall time: 0.02 s
{100000000000000000039L: 500}
}}}
Perfect power testing is very cheap, so it should be attempted early on for large numbers.",fredrik.johansson
3,9479,wrong license in readline SPKG.txt,packages: standard,,defect,tbd,new,2010-07-12T05:30:20-07:00,2010-07-12T05:30:20-07:00,"In sage 4.4.4, the file SPKG.txt says:
{{{
== License ==

 * GPL V2+
}}}
whereas src/COPYING says:
{{{
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007
}}}",zimmerma
3,9524,Nasty bug with polynomial arithmetic and NTL contexts,basic arithmetic,,defect,AlexGhitza,new,2010-07-17T00:23:10-07:00,2010-07-17T00:23:10-07:00,"I just ran into the following nasty bug:

{{{
sage: polygen(GF(49, 'a')) ; polygen(GF(9, 'a'))
x
x
sage: x = polygen(GF(49, 'a'))
sage: -x
2*x
sage: x + 0
x
sage: -x
6*x
}}}

This is still present in sage-4.5. 

I think I know what the problem is, but I haven't had time to sit down and fix it. It's an issue with the NTL context being correctly restored when switching from 7 to 3 and back. There's a very nice note (by David Roe, I think) in most of the `_p` files in NTL that describes a pattern one must avoid to get context restoration right; unfortunately, the code generated by `sage.rings.polynomial.polynomial_zz_pex.pyx` (via `polynomial_template.pxi`) exactly conforms to this anti-pattern. ",craigcitro
3,9529,"in graph_plot.py, sometimes get ""libpng error: Image width or height is zero in IHDR""",graph theory,,defect,"jason, ncohen, rlm",new,2010-07-17T05:56:30-07:00,2010-07-19T01:53:59-07:00,"To reproduce this, you can do something like the following in bash:
{{{

sage-4.5.rc1/devel/sage-main$ for i in `seq 1 20`;
> do
>     ../../sage -t sage/graphs/graph_plot.py
> done

}}}
",rlm
3,9540,Testing whether a Gaussian integer is in ZZ is extremely slow,basic arithmetic,,defect,AlexGhitza,new,2010-07-18T09:28:32-07:00,2013-05-10T09:20:35-07:00,"{{{
sage: x = 5
sage: y = 3/5
sage: z = (5+I).pyobject()
sage: z.parent()
Number Field in I with defining polynomial x^2 + 1
sage: %timeit x in ZZ
625 loops, best of 3: 103 ns per loop
sage: %timeit y in ZZ
625 loops, best of 3: 7.19 µs per loop
sage: %timeit z in ZZ
625 loops, best of 3: 381 µs per loop

}}}

By extension, this massively affects performance of the ._is_integer() method for symbolic expressions containing complex numbers.",fredrik.johansson
3,9548,Sage does not support infinities with complex direction,algebra,,defect,AlexGhitza,new,2010-07-19T01:27:56-07:00,2010-07-19T01:27:56-07:00,"This should do something reasonable:

{{{
sage: Infinity * I
---------------------------------------------------------------------------
ArithmeticError                           Traceback (most recent call last)

/home/fredrik/sage/<ipython console> in <module>()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:11428)()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:6123)()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:11356)()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression._mul_ (sage/symbolic/expression.cpp:11042)()

ArithmeticError: x*Infinity with non real x encountered.
}}}",fredrik.johansson
3,9555,Series expansions at singularities don't work,symbolics,,defect,burcin,new,2010-07-20T05:12:22-07:00,2011-06-29T06:50:07-07:00,"Calling the series() method on a symbolic expression at a singularity (algebraic, logarithmic, essential) returns nonsense, inconsistent results, or raises an exception:

Examples:

{{{
sage: sqrt(x).series(x,0)
Order(1)
sage: sqrt(x).series(x,1)
Order(x)
sage: sqrt(x).series(x,2)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/home/fredrik/sage/<ipython console> in <module>()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.series (sage/symbolic/expression.cpp:12811)()

RuntimeError: power::eval(): division by zero
}}}

{{{
sage: (log(x) + x).series(x,0)
Order(1)
sage: (log(x) + x).series(x,1)
(log(x)) + Order(x)
sage: (log(x) + x).series(x,2)
(log(x)) + 1*x
}}}

{{{
sage: exp(1/x).series(x,0)
Order(1)
sage: exp(1/x).series(x,1)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/home/fredrik/sage/<ipython console> in <module>()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.series (sage/symbolic/expression.cpp:12811)()

RuntimeError: power::eval(): division by zero
sage: exp(1/x).series(x,2)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/home/fredrik/sage/<ipython console> in <module>()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.series (sage/symbolic/expression.cpp:12811)()

RuntimeError: power::eval(): division by zero
}}}",fredrik.johansson
3,9593,spring layout does not converge on some graphs,graph theory,,defect,"jason, ncohen, rlm",new,2010-07-24T11:32:43-07:00,2010-07-25T12:53:08-07:00,"Try the following in 4.5.2.alpha0 (or after applying #9532):
{{{
sage: G = graphs.PetersenGraph()
sage: set_random_seed(0); G.plot(layout='spring', iterations=10000)
sage: set_random_seed(0); G.plot(layout='spring', iterations=10001)
}}}
I get very different-looking graphs.  (If you go back and try with iterations=10000 again, you get the same graph again, showing that #9532 did make it reproducible, at least.)

Maybe some constants need tweaking?

I think this may be causing the problem reported in the first comment on #9584.",cwitty
3,9635,symbolic sum gives wrong answer,calculus,,defect,burcin,new,2010-07-29T00:34:28-07:00,2012-07-06T20:18:26-07:00,"{{{
sage: (n,k,j)=var('n,k,j')
sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
0
sage: (n,j)=(5,3)
sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j) for k in range(j
+1,n+1))
1 
}}}
The above sum should be 1 for n>=j and 0 otherwise.

From kcrisman:
This appears to be a bug in Maxima. 
{{{
(%i1) load(simplify_sum);
<snip>
(%i3) simplify_sum(sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j
+1,n));

(%o3)                                  0
(%i4) simplify_sum(sum(binomial(5,k)*binomial(k-1,3)*(-1)**(k-1-3),k,
4,5));
(%o4)                                  1
(%i5) 5*1*1+1*4*(-1);
(%o5)                                  1 
}}}",Henryk.Trappmann
3,9785,Simple Server API - wrong cell results,notebook,,defect,"jason, was",new,2010-08-23T03:45:49-07:00,2010-08-23T03:45:49-07:00,"Using the Simple Server API I tried the following (after logging in of course):

At first I sent the code ""{{{sleep(10);5}}}"" to the server using the following URL:
{{{http://localhost:port/simple/compute?session=theID&code=sleep(10)%3B5}}}

Then, immediatly afterwards (this means command one was still computing) I sent the code ""{{{4+5}}}"" to the server using the URL
{{{http://localhost:port/simple/compute?session=theID&code=4%2B5}}}

Then, after 10 seconds, I looked at the results of both commands using
{{{http://localhost:port/simple/status?session=theID&cell=2}}}
and
{{{http://localhost:port/simple/status?session=theID&cell=3}}}

Both cells had {{{5}}} as result, which should be only the result of the first
cell.",dpoetzsch
3,9830,SageNB: Bad Request. Maximum length of 102400 bytes exceeded.,notebook,,defect,"jason, was",new,2010-08-28T00:44:03-07:00,2011-05-19T11:17:38-07:00,"Reported by Stan Schymanski on [http://groups.google.com/group/sage-support/browse_thread/thread/c814c8cf7bc7dd87 sage-support]:
{{{
When trying to change the code of a worksheet in a text editor (using
the edit button in the worksheet), I get the following error message
whenever I want to save changes:

Bad Request
Maximum length of 102400 bytes exceeded.

Does anyone have an idea what could cause this and how this can be
circumvented?
}}}
Didier Deshommes replied:
{{{
My guess is that the web server has a limit on the size of a POST
request and that you have reached it. Typically this is 1024kb. The
solution is to increase this limit. I'm not sure how to do that for a 
wsgi application (which I assume sage is). 
}}}",mpatel
3,9844,Fix relevant 'make doc-pdf' warnings,documentation,,defect,mvngu,new,2010-08-31T16:27:06-07:00,2010-09-01T06:40:59-07:00,"[http://groups.google.com/group/sage-release/browse_thread/thread/a865f2fa728335c0/cc9e52f4c97dd887#cc9e52f4c97dd887 Reported Leif Leonhardy on sage-release]:

{{{
#!sh
$ grep -i warning docpdf.log | grep -v ""0 warn"" | sort | uniq -c | sort -n 
      1 /mnt/usb1/scratch/mpatel/tmp/sage-4.5.3.rc0/devel/sage/doc/en/tutorial/sagetex.rst:: WARNING: unusable reference target found: ../installation/index.html
      1 /mnt/usb1/scratch/mpatel/tmp/sage-4.5.3.rc0/devel/sage/doc/fr/tutorial/sagetex.rst:: WARNING: unusable reference target found: ../../en/installation/index.html
      1 writing... /mnt/usb1/scratch/mpatel/tmp/sage-4.5.3.rc0/devel/sage/doc/en/faq/faq-usage.rst:: WARNING: unusable reference target found: about:plugins
      1 writing... /mnt/usb1/scratch/mpatel/tmp/sage-4.5.3.rc0/devel/sage/doc/en/reference/other/sagetex.rst:: WARNING: unusable reference target found: ../../installation/index.html
      1 writing... /mnt/usb1/scratch/mpatel/tmp/sage-4.5.3.rc0/devel/sage/doc/en/tutorial/introduction.rst:: WARNING: unusable reference target found: ../installation/index.html
      1 writing... /mnt/usb1/scratch/mpatel/tmp/sage-4.5.3.rc0/devel/sage/doc/fr/tutorial/introduction.rst:: WARNING: unusable reference target found: ../../en/installation/index.html
      2 build succeeded, 1 warning.
      2 build succeeded, 2 warnings.
      3 LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
      4 )pdfTeX warning (ext4): destination with the same identifier (name{page.ii}) ha
      5 [5322] [5323] [5324] [5325] [5326] [5327] [5328]pdfTeX warning (ext4): destinat
      5                                                    [5329]pdfTeX warning (ext4):
      5 [5330]pdfTeX warning (ext4): destination with the same identifier (name{sage.mo
      5 [5331]pdfTeX warning (ext4): destination with the same identifier (name{sage.mo
      5 [5332]pdfTeX warning (ext4): destination with the same identifier (name{sage.mo
      5 [5333]pdfTeX warning (ext4): destination with the same identifier (name{sage.mo
      5 [5504pdfTeX warning (ext4): destination with the same identifier (name{mcd}) ha
      5 dfTeX warning (ext4): destination with the same identifier (name{sage.modular.m
      5 Package amsmath Warning: Foreign command \atopwithdelims;
      5 Package amsmath Warning: Foreign command \over;
      5 pdfTeX warning (dest): name{sudoku-escargot} has been referenced but does not e
      5 pdfTeX warning (dest): name{sudoku-royle} has been referenced but does not exis
      5 pdfTeX warning (dest): name{sudoku-top95} has been referenced but does not exis
      5 pdfTeX warning (dest): name{sudoku-wikipedia} has been referenced but does not 
      5                                                   pdfTeX warning (ext4): destin
      5 (see the transcript file for additional information)pdfTeX warning (dest): name
      5 []\T1/ptm/b/n/10 Warning:  \T1/ptm/m/n/10 You should not cre-ate in-stances of 
      5 TeX warning (ext4): destination with the same identifier (name{sage.modular.mod
      8                                                    [1])pdfTeX warning (ext4): d
      8                                                    [1]pdfTeX warning (ext4): de
     20 (/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd)pdfTeX warning (ext4): des
     45                        [1]pdfTeX warning (ext4): destination with the same iden
     45 pdfTeX warning (ext4): destination with the same identifier (name{page.i}) has 
     50 pdfTeX warning (ext4): destination with the same identifier (name{sage.modular.
    735 Package hyperref Warning: Token not allowed in a PDFDocEncoded string,
}}}

(The output above is from `make doc-pdf` for 4.5.3.rc0 on sage.math.  [http://sage.math.washington.edu/home/mpatel/trac/9844/docpdf.log Here's] the full log.)

As [http://groups.google.com/group/sage-release/browse_thread/thread/a865f2fa728335c0/6a2c74b8b1490f51#6a2c74b8b1490f51 John Cremona suggests], many of these may be raised by Sphinx itself.

Some of the others are false positives, but others appears to be problems with the Sage documentation.",mpatel
3,9882,slow random_element() for integer mod ring,performance,,defect,tbd,new,2010-09-09T08:56:20-07:00,2010-09-23T04:33:38-07:00,"Sage 4.5.3, 2.6GHz Opteron, Linux:

{{{
sage: R = Integers(3^20)
sage: timeit(""u = R.random_element()"")
625 loops, best of 3: 22.5 µs per loop
}}}

That's about 58000 cycles for each random number. This seems unnecessarily slow. Are the random numbers really that high quality? Compare with the cost for ZZ:
{{{
sage: timeit(""u = ZZ.random_element()"")
625 loops, best of 3: 432 ns per loop
}}}
",dmharvey
3,9883,slow coercion of list to polynomial over integer mod ring,performance,,defect,tbd,new,2010-09-09T09:00:33-07:00,2010-09-23T04:31:28-07:00,"Sage 4.5.3, 2.6GHz Opteron, Linux: 

{{{
sage: R = Integers(3^20)
sage: S.<x> = PolynomialRing(R)
sage: L = [R.random_element() for i in range(100)]
sage: timeit(""f = S(L)"")
125 loops, best of 3: 4.79 ms per loop
}}}

That's about 124000 cycles per coefficient conversion. Compare to the cost of multiplying polynomials of the same degree:
{{{
sage: f = S([R.random_element() for i in range(100)])
sage: g = S([R.random_element() for i in range(100)])
sage: timeit(""h = f * g"")
625 loops, best of 3: 31.8 µs per loop
}}}
",dmharvey
3,9884,slow coercion of polynomial to list over integer mod ring,performance,,defect,tbd,new,2010-09-09T09:03:04-07:00,2010-09-23T04:30:21-07:00,"Sage 4.5.3, 2.6GHz Opteron, Linux

{{{
sage: R = Integers(3^20)
sage: S.<x> = PolynomialRing(R)
sage: f = S([R.random_element() for i in range(100)])
sage: timeit(""L = f.list()"")
125 loops, best of 3: 1.13 ms per loop
}}}

That's about 29000 cycles per coefficient conversion. See also #9883.
",dmharvey
3,9885,slow coercion from integer mod ring to integer ring,performance,,defect,tbd,new,2010-09-09T09:05:47-07:00,2010-10-15T01:46:52-07:00,"Sage 4.5.3, 2.6GHz Opteron, Linux

This is ok:

{{{
sage: R = Integers(3^20)
sage: u = R(2)
sage: timeit(""z = u.lift()"")
625 loops, best of 3: 351 ns per loop
}}}

This is not:
{{{
sage: timeit(""z = Integer(u)"")
625 loops, best of 3: 1.27 µs per loop
}}}

Why is this so much slower? Or how is the user supposed to know which one to use?
",dmharvey
3,9886,"slow coercion from integer mod ring to integer ring, part 2",performance,,defect,tbd,new,2010-09-09T09:07:25-07:00,2010-10-15T00:43:59-07:00,"Sage 4.5.3, 2.6GHz Opteron, Linux

This is ok:

{{{
sage: R = Integers(3^20)
sage: u = R(2)
sage: timeit(""z = u.lift()"")
625 loops, best of 3: 351 ns per loop
}}}

This is not:
{{{
sage: timeit(""z = ZZ(u)"")
625 loops, best of 3: 37.9 µs per loop
}}}

Wow. See also #9885 for a not-quite-as-insane version of this.
",dmharvey
3,9888,matrix multiplication over integer mod ring is slow,performance,,defect,tbd,new,2010-09-09T09:21:26-07:00,2010-09-09T09:29:27-07:00,"Sage 4.5.3, 2.6GHz Opteron, Linux

This is ok:
{{{
sage: M1 = Matrix([[randrange(3^20) for i in range(100)] for j in range(100)])
sage: M2 = Matrix([[randrange(3^20) for i in range(100)] for j in range(100)])
sage: timeit(""M3 = M1 * M2"")
5 loops, best of 3: 45.6 ms per loop
}}}

(That's about 4 times slower than Magma, but I can put up with that, that's a ticket for another day.)

Here is the problem:
{{{
sage: R = Integers(3^20)
sage: M1 = Matrix([[R.random_element() for i in range(100)] for j in range(100)])
sage: M2 = Matrix([[R.random_element() for i in range(100)] for j in range(100)])
sage: timeit(""M3 = M1 * M2"")
5 loops, best of 3: 877 ms per loop
}}}

In other words, I can multiply the matrices over R roughly 20x faster by multiplying over Z and then reducing! That's ridiculous!
",dmharvey
3,9895,Doctest error raised by os.fork in sage/parallel/decorate.py,porting: Solaris,,defect,drkirkby,new,2010-09-10T17:38:52-07:00,2010-09-10T17:39:37-07:00,"David Kirkby [comment:ticket:9449:7 reported this previously] at #9449:
{{{
#!python
sage -t  -long devel/sage/sage/parallel/decorate.py
**********************************************************************
File ""/tmp/kirkby/sage-4.5.alpha4/devel/sage-testing/sage/parallel/decorate.py"", line 152:
    sage: v = list(f([1,2,4])); v.sort(); v
Exception raised:
    Traceback (most recent call last):
      File ""/tmp/kirkby/sage-4.5.alpha4/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/tmp/kirkby/sage-4.5.alpha4/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/tmp/kirkby/sage-4.5.alpha4/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_4[9]>"", line 1, in <module>
        v = list(f([Integer(1),Integer(2),Integer(4)])); v.sort(); v###line 152:
    sage: v = list(f([1,2,4])); v.sort(); v
      File ""/tmp/kirkby/sage-4.5.alpha4/local/lib/python/site-packages/sage/parallel/multiprocessing_sage.py"", line 64, in parallel_iter
        p = Pool(processes)
      File ""/tmp/kirkby/sage-4.5.alpha4/local/lib/python2.6/multiprocessing/__init__.py"", line 227, in Pool
        return Pool(processes, initializer, initargs)
      File ""/tmp/kirkby/sage-4.5.alpha4/local/lib/python2.6/multiprocessing/pool.py"", line 104, in __init__
        w.start()
      File ""/tmp/kirkby/sage-4.5.alpha4/local/lib/python2.6/multiprocessing/process.py"", line 104, in start
        self._popen = Popen(self)
      File ""/tmp/kirkby/sage-4.5.alpha4/local/lib/python2.6/multiprocessing/forking.py"", line 94, in __init__
        self.pid = os.fork()
    OSError: [Errno 12] Not enough space
}}}
According to [https://defect.opensolaris.org/bz/show_bug.cgi?id=2297 this page], insufficient free memory is the problem.",mpatel
3,9980,Deprecate functionality of `PowerSeriesRing` which conflicts with construction of multivariate power series,commutative algebra,,defect,malb,new,2010-09-23T10:44:33-07:00,2010-09-23T10:44:33-07:00,"Multivariate power series are implemented by #1956.  As mentioned on that ticket, the existing code for `PowerSeriesRing` did not allow multivariate power series rings to be constructed using the same arguments as multivariate polynomials accept:

{{{
sage: T = PowerSeriesRing(QQ,3,'t'); T
Multivariate Power Series Ring in t0, t1, t2 over Rational Field

sage: T = PowerSeriesRing(QQ,'t',3); T
Power Series Ring in t over Rational Field
sage: T.default_prec()
3

sage: P = PolynomialRing(QQ,'t',3); P
Multivariate Polynomial Ring in t0, t1, t2 over Rational Field
}}}

There is a non-trivial body of code (elliptic curves, and maybe p-adics) which makes use of this syntax.

",niles
3,9994,gcc 4.2.4 generates an internal compiler issue when buidling symmetrica on AIX 5.3,porting: AIX or HP-UX,,defect,drkirkby,new,2010-09-23T17:45:18-07:00,2010-09-23T17:49:03-07:00,"This would not appear to be a Sage problem as such, but rather of gcc. 
 == Hardware and software ==
 * IBM [http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.pseries.doc/hardware_docs/rs6000_7025f50series.htm RS/6000 7025 F50]
 * 4 x 332 MHz 32-bit PowerPC CPUs
 * 3 GB RAM
 * A fairly wide mixture of disks sizes (3 x 9 GB, 1 x 18 GB, 2 x 36 GB and 1 x 73 GB)
 * DDS-4 tape drive 
 * AIX 5.3 (A POSIX certified operating system)
 * gcc 4.2.4 downloaded from [http://pware.hvcc.edu/ pware]
 * sage-4.6.alpha1 

 == The problem ==
{{{
gcc -c -O1 -fPIC -g -DFAST -DALLTRUE zykelind.c
gcc -c -O1 -fPIC -g -DFAST -DALLTRUE zyk.c
: In function 'mult_hashtable_hashtable_faktor':
:596: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [tmh.o] Error 1
make[2]: Target `test' not remade because of errors.
make[2]: Leaving directory `/home/users/drkirkby/sage-4.6.alpha1/spkg/build/symmetrica-2.0.p5/src'
Error building symmetrica.

real    37m5.981s
user    87m12.220s
sys     0m31.967s
sage: An error occurred while installing symmetrica-2.0.p5
}}}",drkirkby
3,10006,gp help is broken,user interface,,defect,was,new,2010-09-24T08:55:59-07:00,2010-10-17T10:08:12-07:00,"According to the documentation in {{{sage/interfaces/gp.py}}}, the following should reproduce the {{{gp}}} help for the function {{{gcd()}}}.  Instead, we get useless output:

{{{
sage: gp.gcd?
Type:           GpFunction
Base Class:     <class 'sage.interfaces.gp.GpFunction'>
String Form:    gcd
Namespace:      Interactive
File:           /usr/local/sage/local/lib/python2.6/site-packages/sage/interfaces/gp.py
Definition:     gp.gcd(self, *args, **kwds)
Docstring:
    gcd(x,{y}): greatest common divisor of x and y.
Call def:       gp.gcd(self, *args, **kwds)

Call docstring:
    x.__init__(...) initializes x; see x.__class__.__doc__ for signature
}}}

See also #1062.",jdemeyer
3,10027,simple server calls shouldn't print the code to log,notebook,,defect,"jason, was",new,2010-09-28T14:09:31-07:00,2010-09-28T14:09:31-07:00,"It seems that the simple server api prints the code to the server log.  This adds a huge amount of noise to the log when doing remote sagetex, for example.  By default, the simple server shouldn't print the code.",jason
3,10029,make cookies more secure,notebook,,defect,"jason, was",needs_work,2010-09-28T17:58:32-07:00,2010-09-28T18:22:06-07:00,Tim Dumol introduced some changes in #9822 that are designed to make cookies more secure and work better.  The patch is attached.,jason
3,10057,Change import location for decorator_defaults in sagenb interact.py,notebook,,defect,"jason, was",needs_review,2010-10-02T12:44:08-07:00,2012-01-10T05:47:06-08:00,"This line is in the interact.py file in sagenb:

{{{
from sage.misc.misc import decorator_defaults
}}}

#9907 moved this to sage.misc.decorators, so the import location should be changed after it is merged.",jason
3,10087,"bug with fast_float, imag and sqrt : NotANumber isn't fine.",symbolics,,defect,burcin,new,2010-10-06T06:43:55-07:00,2010-10-06T06:43:55-07:00,"I'm looking at the float result of y by fast_float for m=0.0 :
{{{
var('m')
y=imag(sqrt(1+sqrt(m-1)))
fast_float (y, m)(0)     # I get nan
}}}
Now I try the constant function (without m), 
the value must be the previous one for m=0.
{{{
z=imag(sqrt(1+sqrt(-1)))
fast_float(z,m)(0)  # I get the right 0.45...=2^(1/4)*sin(pi/8)
}}}
I feel (but I can't prove) that this bug is near from the #7165 bug I found in parametric_plot [that maybe calls fast_float in this case].

When I read the y.imag() value, there is at the end a fuzzy {{{...*sqrt(abs(sqrt(m-1)+1))}}}
This {{{sqrt(m-1)}}} is Not_A_Number if m=0 because fast_float only uses real numbers. So this call might be replaced by an other expression, with real part and imaginary part.

There is no expression as {{{sqrt(1+sqrt(-1))}}} in {{{z.imag()}}} and Sage runs right.

F.

",fmaltey
3,10095,Linear algebra with large integer matrices fails with RuntimeError,linear algebra,,defect,"jason, was",new,2010-10-07T07:59:16-07:00,2011-02-10T07:16:48-08:00,"On my laptop (Ubuntu 64 bit, Intel T4400 CPU), integer matrices (solving, calculating determinant, etc.) appear to be broken when they get sufficiently large. I can't reproduce the problem on sage.math.

With a fresh install of the 4.5.3 release:

{{{
sage: MatrixSpace(ZZ,20,20)(1) \ MatrixSpace(ZZ,20,1).random_element()
20 x 1 dense matrix over Rational Field
sage: MatrixSpace(ZZ,200,200)(1) \ MatrixSpace(ZZ,200,1).random_element()
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/home/fredrik/sage-4.5.3-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux/<ipython console> in <module>()

/home/fredrik/sage-4.5.3-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux/local/lib/python2.6/site-packages/sage/misc/preparser.py in __mul__(self, right)
   1358             (0.0, 0.5, 1.0, 1.5, 2.0)
   1359         """"""
-> 1360         return self.left._backslash_(right)
   1361 
   1362 

/home/fredrik/sage-4.5.3-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux/local/lib/python2.6/site-packages/sage/matrix/matrix2.so in sage.matrix.matrix2.Matrix._backslash_ (sage/matrix/matrix2.c:2641)()

/home/fredrik/sage-4.5.3-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux/local/lib/python2.6/site-packages/sage/matrix/matrix2.so in sage.matrix.matrix2.Matrix.solve_right (sage/matrix/matrix2.c:3550)()

/home/fredrik/sage-4.5.3-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux/local/lib/python2.6/site-packages/sage/matrix/matrix_rational_dense.so in sage.matrix.matrix_rational_dense.Matrix_rational_dense.rank (sage/matrix/matrix_rational_dense.c:20600)()

/home/fredrik/sage-4.5.3-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux/local/lib/python2.6/site-packages/sage/matrix/matrix_integer_dense.so in sage.matrix.matrix_integer_dense.Matrix_integer_dense.rank (sage/matrix/matrix_integer_dense.c:24534)()

/home/fredrik/sage-4.5.3-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux/local/lib/python2.6/site-packages/sage/matrix/matrix_integer_dense.so in sage.matrix.matrix_integer_dense.Matrix_integer_dense._rank_modp (sage/matrix/matrix_integer_dense.c:24821)()

RuntimeError: 
}}}",fredrik.johansson
3,10161,AlgebraicNumber comparisons wrong/fail,number theory,,defect,was,new,2010-10-23T13:26:12-07:00,2011-03-23T12:06:43-07:00,"Comparing `AlgebraicNumber` with `Integer` or `Rational` can lead to unexpected results:
{{{
sage: x = Integer(1)
sage: y = Rational(1,1)
sage: z = AlgebraicNumber(1)
sage: ( x==y, y==z, x==y )    # so far, so good
(True, True, True)
sage: ( set([x,y]), set([x,z]), set([y,z]) )   # what?
(set([1]), set([1, 1]), set([1, 1]))
sage: for i in (x,y,z):
....:         for j in (x,y,z):
....:             print i._cmp_(j)   # i think this is the culprit
....: 
0
0
1
1
0
1
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)

/home/vbraun/Sage/patches/<ipython console> in <module>()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.Element._cmp_ (sage/structure/element.c:5842)()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.Element._cmp_c_impl (sage/structure/element.c:7336)()

NotImplementedError: BUG: sort algorithm for elements of 'Integer Ring' not implemented
}}}",vbraun
3,10179,LLL memory leak,memleak,,defect,rlm,new,2010-10-27T13:36:25-07:00,2010-10-27T13:36:25-07:00,"The following code demonstrates a memory leak in the fpLLL wrapper. I looked at the source code for a few minutes and haven't been able to find out where the leak is.

{{{
def leak():
    M = MatrixSpace(ZZ, 10)
    A = M.random_element()
    n = 0
    old_m = get_memory_usage()
    old_n = 1
    from sage.libs.fplll.fplll import FP_LLL
    while 1:
        n = n + 1
        C = sage.libs.fplll.fplll.FP_LLL(A)
        C.wrapper(0, .501, .99)
        B = C._sage_()
        m = get_memory_usage()
        if m != old_m:
            print n, n - old_n, "": current memory usage:"", get_memory_usage()
            sys.stdout.flush()
            old_m = m
            old_n = n
}}}

When run, the output on my machine looks something like
{{{
sage: leak()
2666 2665 : current memory usage: 815.63671875
3503 837 : current memory usage: 815.765625
4327 824 : current memory usage: 815.89453125
5160 833 : current memory usage: 816.0234375
5990 830 : current memory usage: 816.15234375
6829 839 : current memory usage: 816.28125
7661 832 : current memory usage: 816.41015625
8492 831 : current memory usage: 816.5390625
9332 840 : current memory usage: 816.66796875
10160 828 : current memory usage: 816.796875
10989 829 : current memory usage: 816.92578125
11824 835 : current memory usage: 817.0546875
12648 824 : current memory usage: 817.18359375
13478 830 : current memory usage: 817.3125
14315 837 : current memory usage: 817.44140625
15142 827 : current memory usage: 817.5703125
15980 838 : current memory usage: 817.69921875
16817 837 : current memory usage: 817.828125
17636 819 : current memory usage: 817.95703125
18466 830 : current memory usage: 818.0859375
19292 826 : current memory usage: 818.21484375
20128 836 : current memory usage: 818.34375
20961 833 : current memory usage: 818.47265625
21792 831 : current memory usage: 818.6015625
22628 836 : current memory usage: 818.73046875
23465 837 : current memory usage: 818.859375
24301 836 : current memory usage: 818.98828125
25133 832 : current memory usage: 819.1171875
25957 824 : current memory usage: 819.24609375
26789 832 : current memory usage: 819.375
27621 832 : current memory usage: 819.50390625
28456 835 : current memory usage: 819.6328125
29287 831 : current memory usage: 819.76171875
30127 840 : current memory usage: 819.890625
30955 828 : current memory usage: 820.01953125
31782 827 : current memory usage: 820.1484375
32608 826 : current memory usage: 820.27734375
33442 834 : current memory usage: 820.40625
34275 833 : current memory usage: 820.53515625
35113 838 : current memory usage: 820.6640625
[...]
}}}",bober
3,10254,elimination_ideal returns an ideal of the original ring,algebra,,defect,AlexGhitza,new,2010-11-12T04:15:40-08:00,2011-01-04T01:58:18-08:00,"If ``J`` is an ideal of a Multivariate Polynomial Ring ``R``, ``J.elimination_ideal`` returns an ideal of ``R``, regardless of the variables being eliminated.  Is this intentional?

For instance, in the doctest
{{{
sage: R.<x,y,t,s,z> = PolynomialRing(QQ,5)
sage: I = R * [x-t,y-t^2,z-t^3,s-x+y^3]
sage: I.elimination_ideal([t,s])
Ideal (y^2 - x*z, x*y - z, x^2 - y) of Multivariate
Polynomial Ring in x, y, t, s, z over Rational Field
}}}
the final result is an ideal of Q[x,y,t,s,z], while I would have expected an ideal of Q[x,y,z].",mmezzarobba
3,10285,Adding support to an ARM processor,build,,defect,GeorgSWeber,needs_info,2010-11-17T11:41:11-08:00,2012-03-25T02:29:02-07:00,"The compilation of sage 5.0.beta9 fails on toshiba ac100 netbooks, with an arm processor running an ubuntu distribution.


Relevant tickets:

#10328  (the one needed for successful building of 5.0.beta9, positive review)

Ones which are fixing bugs:

#12371 (fixing C types related bug in vertex_separator, positive review)

#12586 (maxima-related floating point stuff, needs work)

#12449 (log(gamma) for floating point related stuff, needs work)
 ",Snark
3,10311,solve()-ing Equations in CC,symbolics,,defect,burcin,new,2010-11-22T14:54:14-08:00,2011-09-13T10:01:33-07:00,"The following looks like a bug to me, but feel free to correct me if I'm mistaken.

{{{
sage: var('z')
sage: g1 = z^5 - (2 - I)*z^4 - (34 + 13*I)*z^3 + (22 - 51*I)*z^2 \
+ (53 - I)*z - 728 - 196*I == 0
sage:
sage: solve([g1], z)
[0 == z^5 + (I - 2)*z^4 - (13*I + 34)*z^3 - (51*I - 22)*z^2 -
(I - 53)*z - 196*I - 728]
sage:
sage: solve([g1, I == I], z)
[[z == (-4.00420663449 - 1.03443096055*I)], [z == (7.03872088238 +
1.11154206861*I)], [z == (1.40276621 - 2.70758376454*I)], [z == (
-3.78854832152 - 0.122376366114*I)], [z == (1.35126786363 +
1.7528490226*I)]]
sage:
sage: solve([g1, z == z], z)
[[z == (-4.00420663449 - 1.03443096055*I)], [z == (7.03872088238 +
1.11154206861*I)], [z == (1.40276621 - 2.70758376454*I)], [z == (
-3.78854832152 - 0.122376366114*I)], [z == (1.35126786363 +
1.7528490226*I)]]
}}}

I think the problem is that `solve()` refuses to solve equation systems with more variables than equations, even if some of the variables are already known.

Regards[[BR]]
Christoph
",tux21b
3,10312,very slow matrix construction or block_matrix,linear algebra,,defect,"jason, was",new,2010-11-22T23:57:22-08:00,2010-11-24T07:31:05-08:00,"The matrix constructor taking a list of rows as input is way too slow (apparently quadratic in the number of rows) compared to simply constructing a zero matrix then assigning the lines (quasi linear).
{{{
lines=[vector(QQ,[QQ.random_element() for j in xrange(500)]) for i in xrange(1000)]

import resource
import sys

for length in xrange(0,len(lines)+1,50):
  print length,
  sys.stdout.flush()

  start=resource.getrusage(resource.RUSAGE_SELF).ru_utime
  m1 = matrix(QQ, lines[0:length])
  end=resource.getrusage(resource.RUSAGE_SELF).ru_utime
  time1 = end-start
  print time1,
  sys.stdout.flush()

  start=resource.getrusage(resource.RUSAGE_SELF).ru_utime
  m2 = matrix(QQ, length, len(lines[0]))
  for i in xrange(length):
    m2[i,:] = lines[i]
  end=resource.getrusage(resource.RUSAGE_SELF).ru_utime
  time2 = end-start
  print time2
  sys.stdout.flush()
}}}
Timings:
{{{
50 0.128008 0.028002
100 0.104007 0.056003
150 0.32402 0.088006
200 0.544034 0.112007
250 0.840052 0.140009
300 1.268079 0.180012
350 1.744109 0.204012
400 2.260142 0.228014
450 2.868179 0.264017
500 3.68023 0.292018
550 4.392275 0.32002
600 5.264329 0.340021
650 6.664417 0.384024
700 7.392462 0.408025
750 8.380524 0.448028
800 9.640603 0.47203
850 10.968685 0.500031
900 12.292769 0.532033
950 13.752859 0.560035
1000 15.972999 0.620038
}}}
Same problem with sparse matrices:
{{{
50 1.584099 1.188075
100 3.116194 2.264142
150 4.748297 3.404213
200 6.904432 4.580286
250 8.928558 5.756359
300 11.564722 6.976436
}}}
Same problem with block_matrix (block_matrix is slower than assigning the blocks directly).",monniaux
3,10342,Divisor groups and cohomology rings should not make uniqueness decisions,algebraic geometry,,defect,AlexGhitza,new,2010-11-26T09:30:02-08:00,2010-11-26T11:54:08-08:00,See the problem discussed in #10325.,novoselt
3,10442,Tachyon fails on empty graphics objects,graphics,,defect,"jason, was",new,2010-12-08T02:28:07-08:00,2010-12-08T07:58:09-08:00,"I get the following error when trying to plot 3d cones with the taychon raytracer (which is the default for 3d plots in SageTeX):
{{{
sage: c = Cone(identity_matrix(3).columns())
sage: c.rays()
(N(0, 0, 1), N(0, 1, 0), N(1, 0, 0))
sage: c.plot(viewer='tachyon')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/vbraun/opt/sage-4.6/<ipython console> in <module>()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/IPython/Prompts.pyc in __call__(self, arg)
    549 
    550             # and now call a possibly user-defined print mechanism
--> 551             manipulated_val = self.display(arg)
    552             
    553             # user display hooks can change the variable to be stored in

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/IPython/Prompts.pyc in _display(self, arg)
    575             return IPython.generics.result_display(arg)
    576         except TryNext:            
--> 577             return self.shell.hooks.result_display(arg)
    578 
    579     # Assign the default display method:

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/IPython/hooks.pyc in __call__(self, *args, **kw)
    139             #print ""prio"",prio,""cmd"",cmd #dbg
    140             try:
--> 141                 ret = cmd(*args, **kw)
    142                 return ret
    143             except ipapi.TryNext, exc:

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/misc/displayhook.pyc in result_display(ip_self, obj)
    148     # IPython's default result_display() uses the IPython.genutils.Term.cout stream.
    149     # See also local/lib/python2.6/site-packages/IPython/hooks.py.
--> 150     print_obj(IPython.genutils.Term.cout, obj)
    151 
    152 def displayhook(obj):

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/misc/displayhook.pyc in print_obj(out_stream, obj)
    140             if _check_tall_list_and_print(out_stream, obj):
    141                 return
--> 142     print >>out_stream, `obj`
    143 
    144 def result_display(ip_self, obj):

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3d.__repr__ (sage/plot/plot3d/base.c:2451)()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3d.show (sage/plot/plot3d/base.c:9832)()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3d.tachyon (sage/plot/plot3d/base.c:4741)()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3dGroup.texture_set (sage/plot/plot3d/base.c:13136)()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3dGroup.texture_set (sage/plot/plot3d/base.c:13136)()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3dGroup.texture_set (sage/plot/plot3d/base.c:13136)()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3dGroup.texture_set (sage/plot/plot3d/base.c:13152)()

TypeError: reduce() of empty sequence with no initial value
}}}
Somewhat puzzling, the following work fine:
{{{
sage: c.plot(viewer='jmol')
sage: Fan([c]).plot(viewer='jmol')
sage: Fan([c]).plot(viewer='tachyon')
}}}
so its the combination of a `Cone` (not a `Fan`) with tachyon that causes this.",vbraun
3,10474,sphinxify() text-mode fails on definition within list item,documentation,,defect,mvngu,new,2010-12-13T23:51:43-08:00,2010-12-13T23:51:43-08:00,"As the title suggests, `sage.misc.sagedoc.sphinxify(s, format=""text"")` returns an empty string when `s` contains a line that begins a list item (such as `""- foo""`, `""* foo""`, `""1. foo""`, etc.) immediately followed by a line with greater indentation than the first (such as `""   bar""`, `""   bar""`, and `""    bar""` respectively). However, calling the function without the option `format=""text""` returns (slightly broken) HTML reflecting a reasonable interpretation of the input string.

{{{
sage: sage.misc.sagedoc.sphinxify(""- foo\n   bar"")
'<div class=""docstring"">\n    \n  <ul>\n<li><dl class=""first docutils"">\n<dt>foo</dt>\n<dd><p class=""first last"">bar</p>\n</dd>\n</dl>\n</li>\n</ul>\n\n\n</div>'
sage: sage.misc.sagedoc.sphinxify(""- foo\n   bar"", format=""text"")
''
}}}

The above snippet is from a sage 4.6 interpreter session.

I'm not too sure, but after some digging around in sage, it *looks* like this is a sphinx issue, but I thought I should report it here first anyway, just in case...

The expected behavior, I would think, would be either for both text mode and html mode to refuse to interpret the string, or for both of them to parse it in similar ways.",kini
3,10504,Sage in emacs fails for some functions,user interface,,defect,iandrus,new,2010-12-20T07:35:04-08:00,2012-12-27T09:01:43-08:00,"I can define this function in a xterm or in a emacs buffer linked to the sage shell buffer.

I get an error when I type it in the *Sage Inferior* mode.

{{{
def test (n) :
  if n==2 :
    return 2
  else :
    return 3
}}}
In emacs I get the error around the ""else :"" line

{{{
------------------------------------------------
  File ""<ipython console>"", line 4
    se :
      ^^

SyntaxError: invalid syntax

sage:     return 3

-----------------------------------------------------
  File ""<ipython console>"", line 1
SyntaxError: 'return' outside function (<ipython console>, line 1)
}}}

This error isn't in the sage*.el mode because I get the same problem in any shell buffer that I run with [Alt-x] shell [return] sage [return].",fmaltey
3,10510,"ModularSymbols(Gamma1(29), 2).cuspidal_subspace().hecke_algebra().basis() doesn't terminate",modular forms,,defect,craigcitro,new,2010-12-21T05:13:03-08:00,2011-03-25T15:31:16-07:00,"It also doesn't terminate for other primes then 29, but here is a more detailed example of the case 29 which should illustrate everything

The sourcecode which determines the basis is currently:

{{{
def basis(self):
    try:
        return self.__basis_cache
    except AttributeError:
        pass
    level = self.level()
    bound = self.__M.hecke_bound()
    dim = self.__M.rank()
    if dim == 0:
        basis = []
    elif dim == 1:
        basis = [self.hecke_operator(1)]
    else:
        span = [self.hecke_operator(n) for n in range(1, bound+1) if not self.is_anemic() or gcd(n, level) == 1]
        rand_max = 5
        while True:
            # Project the full Hecke module to a random submodule to ease the HNF reduction.
            v = (ZZ**dim).random_element(x=rand_max)
            proj_span = matrix([T.matrix()*v for T in span])._clear_denom()[0]
            proj_basis = proj_span.hermite_form()
            if proj_basis[dim-1] == 0:
                # We got unlucky, choose another projection.
                rand_max *= 2
                continue
            # Lift the projected basis to a basis in the Hecke algebra.
            trans = proj_span.solve_left(proj_basis)
            basis = [sum(c*T for c,T in zip(row,span) if c != 0) for row in trans[:dim]]
            break

    self.__basis_cache = tuple(basis)
    return basis
}}}

Now dim equals 44 and the hecke bound 140 in this example:
{{{
sage: G29=Gamma1(29)
sage: M=ModularSymbols(G29,2)
sage: m=M.cuspidal_subspace()
sage: m.rank()
44
sage: m.hecke_bound()
140
}}}

Now we see that the hecke algebra has rank 22 over ZZ
{{{
sage: HA=m.hecke_algebra()
sage: span = [HA.hecke_operator(n) for n in range(1, 140+1) if not HA.is_anemic() or gcd(n, 29) == 1]
sage: (ZZ^(44^2)).span([i.matrix().list() for i in span])
Free module of degree 1936 and rank 22 over Integer Ring
Echelon basis matrix:
22 x 1936 dense matrix over Rational Field
}}}
So as the comment say's we are unlucky since proj_basis[43] will always be zero since the hecke algebra has only rank 22
{{{
            if proj_basis[dim-1] == 0:
                # We got unlucky, choose another projection.
                rand_max *= 2
                continue
}}}
I suspect there is a problem in that the rank of m is 44 over QQ. But that the rank of the hecke algebra will be the dimension of m as a complex vector space so dim should actually be half of what it is now.

I don't know enough of modular symbols yet to know how it should be done in other weights and other modular groups but I suspect there will be problems there also.",mderickx
3,10511,Numbers with exponents mangled when sending to mathematica,interfaces,,defect,was,new,2010-12-21T22:55:51-08:00,2010-12-22T00:24:06-08:00,"Oh dear:
{{{
sage: mathematica(1.e-4)
0.0001
sage: mathematica(1.e-5)
0.00001
sage: mathematica(1.e-6)
-7 + 10.*e
}}}
",flawrence
3,10551,axes_pad=0 leaves some spacing,graphics,,defect,"jason, was",new,2011-01-03T12:14:20-08:00,2011-01-13T16:55:15-08:00,"There is a bug with axes_pad. Even when set to 0, there are a few pixels on the right of the figure that are padded. Attached is an image to show this behaviour.",eviatarbach
3,10567,Parentheses break implicit_multiplication,user interface,,defect,was,new,2011-01-06T19:07:24-08:00,2011-01-07T20:40:52-08:00,"Parentheses (brackets) seem to break implicit_multiplication, but only in some cases. This seems to be when a non-bracketed factor is followed by a bracketed. It seems to be a problem with the preparser. Here are a few examples:

{{{
sage: implicit_multiplication(True)

Working examples:

sage: (x+3)(x+4)
(x + 3)*(x + 4)
sage: (3) x
3*x
sage: 3(x+3)
3*x + 9

Non-working examples:

sage: x(x+3)
x + 3
sage: x (3)
3

Preparser does not work:

sage: preparse('x(x+3)')
'x(x+Integer(3))'
}}}
This is quite a major issue for implicit_multiplication.",eviatarbach
3,10611,IPython magic functions in the Sage preparser,user interface,,defect,,needs_info,2011-01-12T15:28:36-08:00,2013-02-23T18:14:15-08:00,"IPython's magic functions, when not escaped by %, are preparsed by Sage as variables. For example, with implicit multiplication turned on:
{{{
sage: cd Desktop/          
------------------------------------------------------------
   File ""<ipython console>"", line 1
     cd*Desktop/
                ^
SyntaxError: invalid syntax
}}}

This patch adds the IPython magic functions as keywords, and fixes this problem.",eviatarbach
3,10639,Graphics3dGroup `all` method can cause trouble if done individually,graphics,,defect,"jason, was",new,2011-01-17T12:40:15-08:00,2011-01-17T12:40:15-08:00,"`sage.plot.plot3d.base.Graphics3dGroup` is a disaster waiting to happen from the command line, because some such graphics (naturally occurring) have many, many components, and there is an attribute which opens a separate Jmol for each one. 

That is,
{{{
sage: x,y,z=var('x y z')
sage: plot_vector_field3d((x*cos(z),-y*cos(z),sin(z)), (x,0,pi), (y,0,pi), (z,0,pi))
}}}
is fine, but
{{{
sage: P = plot_vector_field3d((x*cos(z),-y*cos(z),sin(z)), (x,0,pi), (y,0,pi), (z,0,pi))
sage: P.all()
}}}
opens 125 new Jmol windows, as far as I can tell.  Needless to say, this makes doing anything at all - even closing those windows - nearly impossible, even on a modern machine.  Good thing I didn't use more plot points!

A good test case is 
{{{
sage: P = plot_vector_field3d((x*cos(z),-y*cos(z),sin(z)), (x,0,pi), (y,0,pi), (z,0,pi),plot_points=2)
sage: P

sage: P.all
[, , , , , , , ]
}}}
The reason I consider this major is because it's not obvious how to access the all the sub-pieces of a 3d plot, and someone might try this and get very nasty results.

Hopefully, a simple fix to this can fix it.  I'm actually surprised I can access this internal attribute, when I often can't for other Sage objects... 
{{{
class Graphics3dGroup(Graphics3d):
    """"""
    This class represents a collection of 3d objects. Usually they are formed
    implicitly by summing.
    """"""
    def __init__(self, all=(), rot=None, trans=None, scale=None, T=None):
        """"""
<snip>
        """"""
        self.all = list(all)
}}}

Another solution would be to change how 3D vector fields are implemented and then make sure nothing has that many things in all, but that seems less desirable.",kcrisman
3,10656,"GraphicsArray() should be a Graphics() object, or have functionality to return one",graphics,,defect,"jason, was",new,2011-01-18T10:08:25-08:00,2012-02-17T12:39:55-08:00,"Because it isn't, one cannot, for example, overlay `text()` onto a `GraphicsArray()`, or use any of the other `Graphics()` functionality.

`GraphicsArray._repr()` could (but doesn't) return a matplotlib `Figure`, so perhaps this can be resolved with the help of #5128.

See the post at asksage about [http://ask.sagemath.org/question/308/can-i-convert-a-graphicsarray-object-to-a-graphics this issue] for more details.

Related tickets: 
 * #11160 - Graphics Arrays need suboptions somehow
 * #10657 - options should be passed to all graphics, and they should be set separately if desired",niles
3,10657,options for items in a GraphicsArray() should be set independently,graphics,,defect,"jason, was",new,2011-01-18T10:13:32-08:00,2013-03-22T18:28:11-07:00,"In particular, one ought to be able to specify `axes=True/False` on a per-graphic basis, if desired.

Currently, the following results in 8 plots with axes, and a text frame which also has axes, even though `axes=False` is explicitly given.

{{{
A = [plot(sin(t+k*pi/4),(-pi,pi)) for k in range(8)] + [text('hello world',(0,0), axes=False)]
graphics_array(A,3,3)
}}}

See the post at asksage about [http://ask.sagemath.org/question/308/can-i-convert-a-graphicsarray-object-to-a-graphics this issue] for more details.

Related tickets: 
 * #11160 - Graphics Arrays need suboptions somehow
 * #10656 - Graphics Arrays should be able to become Graphics objects",niles
3,10668,Refactor category support for morphisms (Hom is not a functorial construction!),categories,,defect,nthiery,new,2011-01-21T01:28:03-08:00,2012-04-30T01:11:01-07:00,"Hom is currently implemented as a covariant functorial
construction:

{{{
    sage: Rings().hom_category()
    Category of hom sets in Category of rings
    sage: Rings().hom_category().super_categories()
    [Category of hom sets in Category of sets]
}}}

The intention was to model the fact that a morphism in a category is
also a morphism in any super category, via the forgetful functor. With
the example above, if A and B are rings, then a ring morphism phi:
A->B is also a set morphism. However, at the level of parents, and as
noted in the documentation of sage.category.HomCategory, this is
mathematically plain wrong: if A and B are rings, then Hom(A,B) in the
category of rings does not coincide with Hom(A,B) in the category of
sets.

I, Nicolas, take full blame for this misfeature; it was just the
shortest route to implement some urgently needed features about
morphisms, and still get that huge chunk of category code done.

Here are some thoughts for a proper implementation:

 - Add support for a MorphismsMethods subclass, similar to
   ElementMethods and ParentMethods. If Cat is a category, then
   Cat.MorphismMethods will provide generic methods for morphisms in
   Cat and in any subcategory. This can be achieved by:

    - Building of a hierarchy of abstract classes Cat.morphism_class,
      similar to Cat.element_class and Cat.parent_class (10 lines of
      code; see Category.element_class).

    - Having morphisms in Cat inherit from Cat.morphism_class. This
      can be achieved by overiding either:

       - Parent.element_class in Homset.element_class
       - Category.element_class in HomCategory.element_class (my preferred choice at this point)

 - Fix HomCategory. For Cat a category, the purpose of
   Cat.hom_category() shall be to provide mathematical information
   about its homsets (e.g. that a homset in the category of vector
   spaces is also a vector space). It should ignore the super
   categories of C in general, except if is a full subcategory (a
   homset in the category of finite groups is also a homset in the
   category of groups).

 - If CatA is a subcategory of CatB, add automatic coercion (or just
   conversion?) from Hom(A,B, CatA) to Hom(A, B, CatB), modeling the
   appropriate forgetful functor. There are too many such coercions
   for them to be registered explicitly. So this probably need to be
   implemented through a specific CatB._has_coerce_map_from(A) for
   homsets.

 - Extend/use sage.categories.pushout to handle mixed morphism
   arithmetic (e.g. having the sum of an algebra morphism and a
   coalgebra morphism return a vector space morphism).
",nthiery
3,10698,error in padic power series construction,padics,,defect,roed,new,2011-01-26T10:08:43-08:00,2011-01-26T10:10:27-08:00,"Here is an example of a bug in constructing a power series with coefficient in an extension of Qp.

{{{
sage: A = Qp(3,5)
sage: Po.<X> = A[]
sage: f = Po([3,0,-1])
sage: K = f.root_field('a')
sage: a = K.gen()
sage: R.<T> = K[[]]
sage: b = A(0).add_bigoh(-1)
sage: b
O(3^-1)
sage: v = [a,b,b*a,b*(1+a)]
sage: v
[(1 + O(3^5))*a, O(3^-1), (O(3^-1))*a, (O(3^-1))*a + (O(3^-1))]
sage: R(v,4)
(1 + O(3^5))*a + O(T^4)
}}}

Note that the coefficients with low precision were just set to 0

{{{
sage: g = R(v,4)
sage: g[1][0].precision_absolute()
+Infinity
}}}
",wuthrich
3,10708,"Ideal dimension wrong, depends on term order.",commutative algebra,,defect,malb,new,2011-01-28T16:16:06-08:00,2012-11-24T00:53:16-08:00,"The dimension of an ideal, that is the Krull dimension of the quotient `R/I`, does not depend on the monomial order. But 
{{{
sage: P.<x,y> = PolynomialRing(QQ,order='neglex')
sage: P.ideal(x).dimension()
1
sage: P.ideal(x-1).dimension()
-1
}}}
I think this uses Singular ""ls"" ordering which is related to the localization at `<x,y>` though I have never used (or properly understood) that functionality in Singular. 

Maybe we need to change the term order to a global one internally?",vbraun
3,10729,IPython.CrashHandler import error upon starting sage,scripts,,defect,,new,2011-02-02T07:22:30-08:00,2011-02-03T03:20:34-08:00,"Local modules located in $HOME/.local/lib/pythonX.Y/site-packages appear in sys.path _before_ IPython/Extensions and thus, a local version of IPython (lacking CrahsHandler module) replaces sage's own version.

Issue discussed in sage-support, see https://groups.google.com/d/topic/sage-support/mjRgMERg02Y/discussion
",jorges
3,10745,bug in elliptic curve gens(),elliptic curves,,defect,cremona,new,2011-02-04T16:40:23-08:00,2011-03-22T12:25:44-07:00,"{{{
sage: a = [1, 0, 1, -1751, -31352]
sage: F = EllipticCurve(a)
sage: K.<d> = QuadraticField(5)
sage: FK = EllipticCurve(K, a)
sage: F.gens()
[(52 : 111 : 1)]
sage: FK.gens()
[]
}}}

This isn't very good, because the default in Sage is proof=True, so one would expect this to be a provable result (until reading the docs of course. But if we try to look harder for the point, we run into a bug with caching:

{{{
sage: FK.gens(lim1=6)
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)

/home/rlmill/<ipython console> in <module>()

/home/rlmill/sage-4.6.2.alpha2/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/ell_number_field.pyc in gens(self, verbose, lim1, lim3, limtriv, maxprob, limbigprime)
   1772         """"""
   1773 
-> 1774         lower,upper,gens = self.simon_two_descent(verbose=verbose,lim1=lim1,lim3=lim3,limtriv=limtriv,maxprob=maxprob,limbigprime=limbigprime)
   1775         return gens
   1776 

/home/rlmill/sage-4.6.2.alpha2/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/ell_number_field.pyc in simon_two_descent(self, verbose, lim1, lim3, limtriv, maxprob, limbigprime)
    265         
    266         try:
--> 267             result = self._simon_two_descent_data[lim1,lim3,limtriv,maxprob,limbigprime]
    268             if verbose == 0:
    269                 return result

KeyError: (6, 50, 10, 20, 30)
}}}

So two problems: 1) Over Q, if the result is not provable a RuntimeError is raised. This should be the same here. 2) One can't change parameters due to the way the output is being cached.",rlm
3,10750,Fix solve so that additional args are properly handled,symbolics,,defect,burcin,needs_work,2011-02-07T07:38:11-08:00,2012-07-24T11:22:26-07:00,"In [http://ask.sagemath.org/question/365/solve-confusion this] ask.sagemath question, there is some inconsistency in our use of Maxima's solve, or possibly its solving.
{{{
s=list(var('s_%d' % i) for i in range(3));
var('x y z');
print solve([],s_0,s_1,s_2)
print solve([z==z],s_0,s_1,s_2)
print solve([z==z,y==y],s_0,s_1,s_2)
print solve([z==z,y==y,x==x],s_0,s_1,s_2)
print solve([s_0==0],s_0,s_1,s_2);
print solve([s_0==0,s_1==s_1],s_0,s_1,s_2)
}}}
{{{
[[s_0 == c1, s_1 == c2, s_2 == c3]]
({s_0: r1}, [])
[[s_0 == r6, s_1 == r5, s_2 == r4]]
[[s_0 == r9, s_1 == r8, s_2 == r7]]
([s_0 == 0], [1])
[[s_0 == 0, s_1 == r11, s_2 == r10]]
}}}

Most of these do make sense, but you'll notice the change from complex to real variables, one place that seems to have a multiplicity, and the one with only a dictionary as output!

See also [http://groups.google.com/group/sage-devel/browse_thread/thread/daf0a5da1da38410 this sage-devel thread] for another example of where this cropped up.  We need to change the behavior of solve and the documentation to fix this.",kcrisman
3,10774,"RuntimeError message for numerical infinite loop is printed, not thrown",numerical,,defect,"jason, jkantor",new,2011-02-12T05:25:33-08:00,2011-02-12T13:08:44-08:00,"Reported in [http://ask.sagemath.org/question/375/any-way-to-turn-off-error-msg-when-i-catch-the this question] at Ask Sage, there is a bug in some infinite loops which causes a `RuntimeError` to be printed, but not thrown as an exception.  This means it cannot be caught by `try/except` blocks.

{{{
def number(expr):
    try:    
        n = N(expr)
    except RuntimeError:
        n = 0
    return n
}}}

{{{
sage: expr=log(arcsin(e))
sage: a=number(expr)
Exception RuntimeError: 'maximum recursion depth exceeded in __subclasscheck__' in <type 'exceptions.RuntimeError'> ignored
sage: a
0
}}}

Similar problems are reported with `N(log(NaN))`.",niles
3,10906,lazy import can break unique representation,misc,,defect,jason,new,2011-03-10T08:38:37-08:00,2011-03-10T13:58:24-08:00,"A fun experiment: edit sage/categories/semigroups, and add the following lines at the beginning:
{{{
from sage.misc.lazy_import import lazy_import
lazy_import('sage.rings.rational_field', 'QQ')
}}}

Then restart sage:
{{{
    sage: sage.categories.semigroups.QQ is QQ
    False
}}}

This bit me hard, because such a lazy_import indirectly changed the base ring of a matrix to be equal to QQ but not identical, which in turn broke all the linear algebra: I was getting a matrix space over QQ whose elements were generic matrices. ",nthiery
3,10927,[needs review] An object's element list should be immutable,categories,,defect,nthiery,new,2011-03-13T13:24:42-07:00,2011-03-18T15:47:02-07:00,"Here's the Ur example:
{{{
sage: R=Integers(5)
sage: L=R.list();L
[0, 1, 2, 3, 4]
sage: L.__delitem__(0)
sage: R.list()
[1, 2, 3, 4]
}}}
Should be a deep copy, methinks.  I don't yet if there's a ""one change fixes all"" fix, or whether this has to spawn a zillion fixes.

This doesn't seem to match any component, so I chose 'categories'.  Feel free to make appropriate changes.",justin
3,10950,The hash function for matrices suffers from many collisions with permutation matrices,linear algebra,,defect,nthiery,new,2011-03-16T11:02:58-07:00,2011-03-17T01:12:47-07:00,"The current hash function for generic dense matrices suffers from hard collisions with permutation matrices. For example: all permutation matrices of size 4 have hash 0!

{{{
    sage: def mat(p): m = p.to_matrix(); m.set_immutable(); return m
    sage: [ hash(mat(p)) for p in Permutations(4) ]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}}}

In general, we would hope to get n! below:

{{{
    sage: len(set([ hash(mat(p)) for p in Permutations(1) ]))
    1
    sage: len(set([ hash(mat(p)) for p in Permutations(2) ]))
    1
    sage: len(set([ hash(mat(p)) for p in Permutations(3) ]))
    5
    sage: len(set([ hash(mat(p)) for p in Permutations(4) ]))
    1
    sage: len(set([ hash(mat(p)) for p in Permutations(5) ]))
    16
    sage: len(set([ hash(mat(p)) for p in Permutations(6) ]))
    16
    sage: len(set([ hash(mat(p)) for p in Permutations(7) ]))
    32
    sage: len(set([ hash(mat(p)) for p in Permutations(8) ]))
    1
}}}

I stumbled on this when profiling some code using Weyl groups that
heavily used caching (the hash of a weyl group element is the hash of the underlying matrix). I gained a speed factor of 10x by just tweaking the hash of matrices as in the attached patch. Now, I have no idea if in general that would be a good hash for matrices, so please some expert write an appropriate patch.

Cheers,
				Nicolas
",nthiery
3,10962,Set_PythonType objects are not picklable,pickling,,defect,was,needs_review,2011-03-18T09:19:07-07:00,2013-01-18T01:24:22-08:00,"
{{{
    sage: S = sage.structure.parent.Set_PythonType(tuple)
    sage: dumps(S)
    ------------------------------------------------------------
    Traceback (most recent call last):
      File ""<ipython console>"", line 1, in <module>
      File ""sage_object.pyx"", line 842, in sage.structure.sage_object.dumps (sage/structure/sage_object.c:8274)
      File ""sage_object.pyx"", line 217, in sage.structure.sage_object.SageObject.dumps (sage/structure/sage_object.c:2183)
    PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed
}}}
 
",stumpc5
3,11123,Plot connects parts of function over non-domain area,graphics,,defect,"jason, was",new,2011-04-04T07:53:40-07:00,2011-04-04T07:53:40-07:00,"From [http://ask.sagemath.org/question/479/plot-sqrtsinx this ask.sagemath] question:
{{{

----------------------------------------------------------------------
| Sage Version 4.6.2, Release Date: 2011-02-25                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: plot(sqrt(sin(x)),(0,10))
verbose 0 (4069: plot.py, generate_plot_points) WARNING: When plotting, failed to evaluate function at 74 points.
verbose 0 (4069: plot.py, generate_plot_points) Last error message: ''
}}}
The picture is attached.  

Ideally, we would want plot to just not connect those pieces.  With just sqrt(x) over -1 to 1, it's not a problem, but this really does look bad.",kcrisman
3,11124,Notebook help is wrong about save,notebook,,defect,"jason, mpatel, was",new,2011-04-04T08:18:09-07:00,2011-04-04T08:22:20-07:00,"The notebook help says the syntax for save is 
{{{
save obj1 obj2
}}}
I don't think that's right.  As one should expect without parentheses, you get a syntax error!",kcrisman
3,11135,Crashes when constructing algebraic numbers using Matrix.eigenvectors,algebra,,defect,AlexGhitza,new,2011-04-06T03:44:56-07:00,2011-04-06T10:55:07-07:00,"With certain constructions of algebraic numbers, the numbers exhibit very weird behaviour and crashes in almost any interaction.

{{{

sage: M = matrix(3, [0,0,1,1,0,1,0,1,0]) 
sage: y = M.eigenvectors_left()[1][1][0]
sage: a = abs(y[1])
sage: a
0.868836961832710?
sage: type(a)
<class 'sage.rings.qqbar.AlgebraicReal'>
sage: a.minpoly()
...
TypeError: Unable to convert number to real interval.
sage: a*a == a*a
...
TypeError: Unable to convert number to real interval.

}}}

When constructing the above number by more direct methods, it seems to be alright:

{{{
sage: R.<x> = QQbar[x]
sage: exp = x^3-x-1
sage: y1 = exp.roots()[1][0]
sage: a = abs(y1)
sage: a
0.868836961832710?
sage: a.minpoly()
x^6 + x^4 - 1
sage: a*a == a*a
True

}}}

I don't know if the error is pertaining to eigenvectors, AlgebraicNumber, AlgebraicReal, abs, or a combination of these.",jsrn
3,11164,Integral of sin(x)/x gives false result.,calculus,,defect,burcin,needs_info,2011-04-09T13:05:30-07:00,2013-01-19T17:38:52-08:00,"{{{
> eq = sin(x)/x
> integrate(eq, x, -1e-6, 1e6)
-3.14159065359
}}}
I expected an answer of about 2e-6.",benreynwar
3,11225,improve piecewise plotting,graphics,,defect,"jason, was",new,2011-04-20T08:52:28-07:00,2012-03-10T10:32:11-08:00,"Until we actually totally rewrite piecewise functions, we should improve some things.

For concreteness, here is one thing that should work but doesn't. I'm sure there are more - add to this list, and then whatever isn't fixed in this ticket can be moved to another ticket.  I just want to make sure they're listed in one place, not ten tickets.

List:
 * plotting more than one
{{{
sage: f = Piecewise([[(0,1),x^3], [(1,2),x^2]], x)
sage: plot([f,x^3],(x,0,2))
}}}
   A very similar example was at [http://ask.sagemath.org/question/868/two-piecewise-defined-functions-in-one-plot this ask.sagemath.org post]:
{{{
sage: f = Piecewise([[(-2,1),1],[(1,4),x]])
sage: g =  Piecewise([[(-2,1),1],[(1,4),2*x]])
sage: plot([f,g])
AttributeError: PiecewisePolynomial instance has no attribute '__float__'
}}}
 * plotting a product of a piecewise with a symbolic (well, the problem is multiplying the two, but still worth putting here - see [http://groups.google.com/group/sage-support/browse_thread/thread/7357d08529de32dd this sage-support thread])
 * Maybe unify with `plot_step_function`, which currently is sort of its own thing?
 * In this example:
{{{
sage: zero_func(x)=0
sage: g = Piecewise([[(-1000,1),zero_func],[(1,1000),(x-1)^3]],x)
sage: G = g.plot()
sage: G.show(xmin=-5,xmax=5,ymax=100)
sage: g(1)
0
}}}
   * You can use oo (infinity) for endpoints, but then the plot code for Piecewise gets screwed up.
   * You can try putting in zero instead of defining this new zero function, but then g(1) and g(-1) etc. won't work.
   * You can try using extend_by_zero to make the zero part, but it gives the same problem.
   * You can plot without xmin and xmax, but that gives the whole function.
   * You can plot without ymax, but that gives the range further out than you want.
   * You can try plot(g), but that turns out to uncover a very strange error that may or may not be a bug.

See also #1773.
",kcrisman
3,11228,integer_rational_power problems,algebra,,defect,AlexGhitza,new,2011-04-20T18:04:27-07:00,2011-04-20T18:04:27-07:00,"The following answers are all wrongs/inconsistent with the documentation:
{{{
from sage.rings.rational import integer_rational_power
print integer_rational_power(-10, 1/1)
print integer_rational_power(-10, 2/2)
print integer_rational_power(-10, 4/2)
print integer_rational_power(-10, 6/3)
print integer_rational_power(0, 0/1)
print integer_rational_power(0, 1/2)
print integer_rational_power(10, 0/1)

sage gives:
None
None
None
None
0
0
1

From the first four examples it is clear that sage is unable to observe
if b evaluate as an integer when compute a^b for negative ""a"" value.
(the answers should be -10,-10,100,100).
The fifth example: as 0^0 is undefined it should return by None.
The sixth example: 0^(1/2)=0 is correct but shows that the documentation 
is broken, because from it: ""The positive real root is taken for 
even denominators."", here 2 is even, but the result 0 is not positive.
The seventh example: 10^(0/1)=1 is correct, but from the 
documentation: ""b -- a positive Rational"", so change the 
documentation or return by None.}}}",gerbicz
3,11590,Integrating the sgn() function can produce incorrect results,calculus,,defect,burcin,new,2011-07-12T13:05:19-07:00,2012-03-22T12:01:56-07:00,"Actual result:

{{{
sage: integrate(x * sgn(x^2 - 1/4), x, -1, 0)
1/2
}}}

Since the argument to sgn() has only one root, -1/2, on (-1, 0), there are only two subintervals on which sgn() can have different values. In particular,

{{{
sage: sgn(x^2 - 1/4)(x = -0.75)
1

sage: sgn(x^2 - 1/4)(x = -0.25)
-1
}}}

Now, the original, actual result should be equivalent to the sum of the following:

{{{
sage: integrate(x, x, -1, -0.5)
-0.375

sage: integrate(-x, x, -0.5, 0)
0.125
}}}

So, something went wrong during the initial integration.",mjo
3,12394,%hide should hide cells in published worksheets,notebook,,defect,"jason, mpatel, was",new,2012-01-30T16:46:36-08:00,2012-01-30T16:46:36-08:00,"%hide doesn't hide cells in published worksheets; it should, since one may want to present figures and TinyMCE cells without code.",eviatarbach
3,13083,Import fails in sage-python,build,,defect,GeorgSWeber,new,2012-06-03T04:03:18-07:00,2012-06-05T06:06:58-07:00,"When I run `sage -python` and then try to import something ""specific"" (e.g. from the `rings` module), I get the following:

{{{
$ sage -python
Python 2.7.2 (default, May 16 2012, 20:18:27) 
[GCC 4.6.3] on darwin
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>> from sage.rings.all import *
Traceback (most recent call last):
  File ""<stdin>"", line 1, in <module>
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/rings/all.py"", line 42, in <module>
    from ideal import Ideal, is_Ideal
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/rings/ideal.py"", line 35, in <module>
    from sage.interfaces.singular import singular as singular_default
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/interfaces/singular.py"", line 340, in <module>
    import sage.rings.integer
  File ""integer.pyx"", line 170, in init sage.rings.integer (sage/rings/integer.c:35815)
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/rings/infinity.py"", line 200, in <module>
    import sage.rings.rational
  File ""fast_arith.pxd"", line 5, in init sage.rings.rational (sage/rings/rational.c:25959)
  File ""fast_arith.pyx"", line 51, in init sage.rings.fast_arith (sage/rings/fast_arith.c:7723)
  File ""integer_ring.pyx"", line 69, in init sage.rings.integer_ring (sage/rings/integer_ring.c:11304)
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/structure/factorization.py"", line 188, in <module>
    from sage.misc.all import prod
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/misc/all.py"", line 81, in <module>
    from functional import (additive_order,
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/misc/functional.py"", line 36, in <module>
    from sage.rings.complex_double import CDF
  File ""complex_double.pyx"", line 88, in init sage.rings.complex_double (sage/rings/complex_double.c:15160)
  File ""real_mpfr.pxd"", line 15, in init sage.rings.complex_number (sage/rings/complex_number.c:16587)
  File ""real_mpfr.pyx"", line 1, in init sage.rings.real_mpfr (sage/rings/real_mpfr.c:30314)
  File ""utils.pyx"", line 11, in init sage.libs.mpmath.utils (sage/libs/mpmath/utils.c:6099)
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/all.py"", line 72, in <module>
    from sage.libs.all       import *
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/libs/all.py"", line 1, in <module>
    import sage.libs.ntl.all  as ntl
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/libs/ntl/__init__.py"", line 1, in <module>
    import all
  File ""/Applications/sage/local/lib/python2.7/site-packages/sage/libs/ntl/all.py"", line 26, in <module>
    from sage.libs.ntl.ntl_ZZ import (
  File ""ntl_ZZ.pyx"", line 28, in init sage.libs.ntl.ntl_ZZ (sage/libs/ntl/ntl_ZZ.cpp:6393)
  File ""integer_ring.pyx"", line 1062, in sage.rings.integer_ring.IntegerRing (sage/rings/integer_ring.c:9840)
NameError: ZZ
}}}

This also happens for other modules, e.g. `from sage.modules.all import *`. However, it does not occur when I do

{{{
from sage.all import *
}}}

first. Likewise, the import works in ordinary `sage`:

{{{
$ sage
----------------------------------------------------------------------
| Sage Version 5.0, Release Date: 2012-05-14                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: from sage.rings.integer_ring import *
sage:
}}}

Issuing `sage -sh` before `sage -python` does not help though.

I'm running Sage 5.0 on Mac OS X 10.5.8.",poeschko
3,13156,The is_old method from sage.modular.modform.element.ModularFormElement doesn't work correctly,modular forms,,defect,craigcitro,new,2012-06-23T08:25:00-07:00,2012-06-23T08:25:00-07:00,"{{{
sage: E=ModularForms(3,12).cuspidal_subspace()
sage: f=E.gens()[0]
sage: g=f-f
sage: g.is_old()
False
}}}

This is definitely a case where sage returns a wrong answer.",Snark
3,13529,Sage 5.3 Binary not working after ./sage -b,build,,defect,GeorgSWeber,new,2012-09-24T23:25:55-07:00,2013-02-23T18:12:25-08:00,"Hello, I am just getting started developing in Sage.  I followed the directions here on my Linux Machine:

http://www.sagemath.org/doc/developer/coding_in_python.html#creating-a-new-directory

but the sage command prompt wasn't recognizing the '''from sage.<package-name>.all import *''' command.

After restarting, the issue wasn't fixed.  So I ran '''./sage -b '''based on the preceding subsection of the link above.

Now I can't even run sage.

Why would this occur?  What can be done to fix this problem?

Attached is the output from the '''./sage -b '''DIRECTLY FOLLOWED by output when I try to run '''./sage''' now.

This is my first programming experience.  Thank you.",startakovsky
3,1608,Make optional spkg for MathJax png fonts,notebook,,enhancement,boothby,needs_work,2007-12-26T20:31:05-08:00,2012-06-12T14:26:35-07:00,Some older browsers might need extra fonts.  Make them available as an optional spkg.  See discussion below for details.  This depends on #11080 and #9774.,was
3,5988,notebook feature request -- make it so non-logged in users are redirected to login page,notebook,,enhancement,boothby,new,2009-05-05T07:22:58-07:00,2010-01-25T08:38:28-08:00,"I strongly agree with the following feature request.  I have wanted the same feature myself.

{{{
If the sage notebook server is restarted while a logged in user is
viewing a notebook page, a user attempt to refresh the page results in
a completely blank page titled ""Error | Sage Notebook"".  The user must
manually edit the URL to go back to the main server page and login
again, presumably because the login credentials have been lost with
the server reboot.

But, it may not be obvious to all users what they need to do to
recover from this situation.  Is there some twisted option I can set
to either redirect the browser back to the login page, or to add
explanatory text to the blank page with a link to the login page?  If
neither of these options is currently possible, I'd like to make a
feature request to enhance the server response to an attempt to access
a page when a user is apparently not logged in, to provide the user
with a useful page, rather than a completely blank page.

I'm running sage 3.4.2.

Thanks,
--
Kevin Horton
Ottawa, Canada

}}}",was
3,6236,find the dual graph of a planar graph,graph theory,,enhancement,rlm,new,2009-06-06T14:59:04-07:00,2011-12-07T16:48:20-08:00,"Working code is here: http://sagenb.org/home/pub/417/

The worksheet also includes code which lists the faces of a planar embedding of a graph.",jason
3,6466,Implement functional derivative and Euler-Lagrange equation,symbolics,,enhancement,,new,2009-07-05T04:21:56-07:00,2011-04-25T19:34:24-07:00,"One of the elementary tool that is often needed to compute equation of motion in Physics, is functional derivative. This along with the implementation of Euler-Lagrange equation will make Sage extremely useful for physicists. ",gmhossain
3,6638,"Implement a way to import default shortcuts, say from SymmetricFunctions(QQ)",combinatorics,,enhancement,mhansen,new,2009-07-27T05:50:53-07:00,2009-07-27T05:54:54-07:00,"Implement a way to import default shortcuts, say from SymmetricFunctions(QQ), WeylGroups([""A"",3]), or RootSystem([""A"",3])

Option 1:
{{{
    sage: Sym = SymmetricFunctions(QQ)
    sage: %from Sym.shortcuts() import *
    sage: s[3] + h[2]
    s[3] + s[2]

    sage: %from Sym.shortcuts() import s, h, p

    sage: Sym.shorcuts()
    { s: SymmetricFunctions in the Schur basis,
      h: SymmetricFunctions in the complete basis,
      ...
    }
}}}

Option 2:
{{{
    sage: Sym = SymmetricFunctions(QQ)
    sage: Sym.import_shortcuts()
    sage: s[3] + h[2]
    s[3] + s[2]

    sage: Sym.import_shortcuts(""s"", ""h"", ""p"")
}}}
",nthiery
3,6756,Implement ``diff`` format symbolic derivative in new symbolics,symbolics,,enhancement,,needs_work,2009-08-15T19:02:23-07:00,2011-03-22T08:20:01-07:00,"Implement a diff format symbolic derivative in new symbolics as the second form of abstract derivative to be avialable in Sage. See this long thread

http://groups.google.com/group/sage-devel/browse_thread/thread/ff10f99729a74eea/73308bf626ae06b3

for rationale behind it.

'''Implementation:'''

Instructions for installing these patches (sage-4.1.1)

'''(1) Pynac patch'''   
 (a) Get the pynac spkg

 http://sage.math.washington.edu/home/burcin/pynac/pynac-0.1.8.p2.spkg

 (b) Apply the pynac patch implementing diff derivative from

 http://www.math.unb.ca/~ghossain/diff-derivative-pynac.patch

 (c) install the patched spkg in Sage.

 '''OR''' if you are feeling lazy, you can directly install my patched copy of pynac from here

 http://www.math.unb.ca/~ghossain/pynac-0.1.8.p2-with-diff.spkg



'''(2) Sage patch:'''

 Apply the attached patch in Sage and build the changes (""sage -b"").
 If everything goes smoothly then you are ready for testing.

'''Testing:'''

Above, patches will provide two new user accessible functions
 (a) ``set_diff_derivative_level``

 (b) ``symbolic_diff``

Please see the docs for usage of these functions:

It would be good to thoroughly test the following features:

 (1) Substitution of the function

 (2) Derivative with or without chain rule

 (3) Explicit evaluation of derivative even for some situation where chain rule has been applied and derivative is specified w.r.t. an expression

 (4) Symbolic n-th derivative

 (5) Typesetting 

Please test diff implementation against some related bugs

#6376, #6523, #6480

as new diff implementation should avoid these.


'''Speed Test:'''

{{{
sage: f(x) = function('f',x);
sage: f(x).diff(x)
D[0](f)(x)
sage: timeit('f(x).diff(x)')
625 loops, best of 3: 124 µs per loop
sage: timeit('f(x).diff(x,100)')
125 loops, best of 3: 5.58 ms per loop

sage: set_diff_derivative_level(1)
sage: f(x).diff(x)
diff(f(x), x, 1)
sage: timeit('f(x).diff(x)')
625 loops, best of 3: 116 µs per loop
sage: timeit('f(x).diff(x,100)')
625 loops, best of 3: 1.01 ms per loop

sage: set_diff_derivative_level(2)
sage: f(x).diff(x)
diff(f(x), x, 1)
sage: timeit('f(x).diff(x)')
625 loops, best of 3: 130 µs per loop
sage: timeit('f(x).diff(x,100)')
125 loops, best of 3: 1.85 ms per loop
}}}


'''*''' This patch removes old ""dummy_diff"" from 
""calculus/calculus"" as we now have a _real_ diff.

",gmhossain
3,6799,Speed up symbolic comparison,symbolics,,enhancement,,new,2009-08-21T16:20:16-07:00,2009-08-21T16:20:16-07:00,"It takes too long to check whether x is in a list in new symbolics

{{{
sage: var('x,x1,x2,x3,x4')
(x, x1, x2, x3, x4)
sage: f = function('f')
sage: mylist = [x1,x2,x3,x4,f(x1),f(x2),f(x3),f(x4)]

sage: timeit('x in mylist')
5 loops, best of 3: 461 ms per loop
}}}

If we need to check it couple of more times
then it becomes worse
{{{
sage: timeit('x in mylist')
5 loops, best of 3: 1.26 s per loop
sage: timeit('x in mylist')
5 loops, best of 3: 3.4 s per loop
}}}

For a comparison
{{{
sage: timeit('x1 in mylist')
625 loops, best of 3: 473 ns per loop
}}}

Reason for this huge discrepancy stems from the fact that
except for last example, in all previous cases maxima is called
to check the equality. 

See this thread for more:

 http://groups.google.com/group/sage-devel/browse_thread/thread/d2275cb5b3d63317",gmhossain
3,6830,"[with patch, needs review] Ideals of a Hecke Algebra",modular forms,,enhancement,craigcitro,needs_work,2009-08-26T15:20:44-07:00,2009-12-10T13:40:36-08:00,Added code for ideals of a Hecke algebra. This patch depends on the basis of a Hecke algebra code from ticket #6768 (so ignore stuff about Hecke bases).,wakep
3,6855,Embed live cells in external web pages,notebook,,enhancement,boothby,new,2009-09-01T05:31:09-07:00,2010-01-12T05:26:38-08:00,"A Sage Embed API, for loading cells or worksheets easily in external web pages, could be useful.  For example,
{{{
#!text/html
<html>
  <head>
    <meta http-equiv=""content-type"" content=""text/html; charset=utf-8""/>
    <title>Sage Embed API demo</title>
    <link rel=""stylesheet"" type=""text/css"" href=""sage_embed.css"" />
    <script src=""sage_embed.js""></script>
    <script>
}}}
{{{
#!js
      var initialize = function () {
          var cell = new SageCell(); // empty by default
          cell.init(document.getElementById('cell1'));

          var ws = new SageWorksheet();
          ws.load('http://sagenb.org/url/to/worksheet/');
          ws.init(document.getElementById('worksheet1'));
      };
}}}
{{{
#!text/html
    </script>
  </head>
  <body onload=""initialize();"">
    <div id=""cell1"" style=""height: 10.0em; width: 20.0em;""></div>
    Blah, blah, blah.
    <div id=""worksheet1"" style=""height: 600px; width: 100%;""></div>
  </body>
</html>
}}}
See, e.g., the [http://code.google.com/apis/wave/embed/guide.html Google Wave Embed API] for inspiration.",mpatel
3,6900,Sage pexpect problems - suggestion to use upstream release,notebook,,enhancement,boothby,new,2009-09-06T21:32:43-07:00,2009-09-08T07:17:39-07:00,"  Since pexpect is a very important package, I would like to point one problem that happens when DOT_SAGE is set to a long pathname, causing the SaveWorkspace(""/path/to/$DOT_SAGE/gap/workspace-ext"");
command in interfaces/gap.py fail (and possibly others).

  Sample test case to reproduce the problem:


{{{
% mkdir -p /tmp/0123456789/0123456789/0123456789/0123456789/0123456789/0123456789/0123456789/.sage
<<make sure DOT_SAGE will point to that directory>>
% sage
<<exit sage>>
% ls /tmp/0123456789/0123456789/0123456789/0123456789/0123456789/0123456789/0123456789/.sage/gap/
README.txt
<<change DOT_SAGE to something like just /tmp/0123456789/>>
% sage
<<exit sage>>
% ls /tmp/0123456789/.sage/gap
README.txt  workspace-1328071335
}}}

  The problem is due to the command having more then 80 characters.

  Currently sage uses pexpect-2.0 (patchlevel 4). And this is also one special case in my rpm packages of sage, because if using the latest upstream, in my case:

{{{
% rpm -q python-pexpect
python-pexpect-2.4-1mdv2010.0
}}}

it works correctly in the terminal interface, but doesn't work correctly in the notebook interface.

  A quick and dirty way to test a newer pexpect would be:


{{{
% mkdir $HOME/tmp/sage-pexpect
% mv $SAGE_ROOT/lib/python/site-packages/{ANSI,FSM,pexpect,pxssh,screen}.py $HOME/tmp/sage-pexpect
% cp newer-python-pexpect/{ANSI,FSM,pexpect,pxssh,screen}.py $SAGE_ROOT/lib/python/site-packages
% sage
sage: notebook()
}}}

  After starting the notebook, and using a newer pexpect, try some command that causes a background processes to be created, like the first singular example in the tutorial.
A screenshot of the problem, that happens the first time a background process is started is:
http://img134.imageshack.us/img134/557/sagewithnewerpexpect1.jpg
but, as also shown in the screenshot, in subsequent evaluations, it works correctly in the notebook.

  Since it always works correct in the terminal interface of sage, I suspect it is an issue in the notebook/worksheet code. And in that case, it actually may be a different way to debug problems in the sage pexpect interface (also a suggestion :-)
",pcpa
3,6973,SVG or other vector graphics editor,notebook,,enhancement,boothby,new,2009-09-20T18:32:00-07:00,2010-01-28T11:26:52-08:00,"An interactive vector graphics editor accessible from the Sage notebook or the command-line may have a variety of uses:

 * Drawing diagrams.
 * Annotating images.  See [http://matplotlib.sourceforge.net/contents.html matplotlib]'s [http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/lib/matplotlib/backends/backend_svg.py?view=markup SVG backend].
 * Manipulating graphs and knots.
 * Animating objects.  See [http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language SMIL].
 * Creating a free-form 2D workspace.

Candidates:

 * [http://code.google.com/p/jsvectoreditor/ jsvectoreditor] - [http://raphaeljs.com/ Raphael]-based editor renders both SVG (non-IE) and VML (IE).
 * [http://code.google.com/p/svg-edit/ SVG-edit] - Inkscape-lite.  See [http://groups.google.com/group/svg-edit/browse_thread/thread/26bdc43b4f241ae9/77768c078a98b30d?#77768c078a98b30d this discussion] and [http://groups.google.com/group/svg-edit/browse_thread/thread/91cf3b76f3e4eb4f/77237f209dbe1a81?#77237f209dbe1a81 this one on matplotlib's SVG].

See [http://groups.google.com/group/sage-devel/browse_thread/thread/86429406fb3bba17/dd3163cb2a47fa38?#dd3163cb2a47fa38 sage-devel] for some discussion.
",mpatel
3,7214,"Spanish doc #2 ""Three Lectures about Explicit Methods in Number Theory Using Sage""",documentation,,enhancement,tba,new,2009-10-14T18:13:51-07:00,2009-10-14T18:13:51-07:00,From: bordeaux_2008,Loufer
3,7215,"Spanish doc #3 ""Introduction""",documentation,,enhancement,tba,new,2009-10-14T19:03:52-07:00,2009-10-14T19:03:52-07:00,From: bordeaux_2008,Loufer
3,7216,"Spanish doc #4 ""Number Fields""",documentation,,enhancement,tba,new,2009-10-14T19:13:12-07:00,2009-10-14T19:13:12-07:00,From: bordeaux_2008,Loufer
3,7217,"Spanish doc #5 ""Integer Factorization""",documentation,,enhancement,tba,new,2009-10-14T19:16:31-07:00,2009-10-14T19:16:31-07:00,From: bordeaux_2008,Loufer
3,7218,"Spanish doc #6 ""Half Integral Weight Forms""",documentation,,enhancement,tba,new,2009-10-14T19:19:23-07:00,2009-10-14T19:19:23-07:00,From: bordeaux_2008,Loufer
3,7219,"Spanish doc #7 ""Generators for Rings of Modular Forms""",documentation,,enhancement,tba,new,2009-10-14T19:21:30-07:00,2009-10-14T19:21:30-07:00,From: bordeaux_2008,Loufer
3,7220,"Spanish doc #8 ""The Matrix of Frobenius on Hyperelliptic Curves""",documentation,,enhancement,tba,new,2009-10-14T19:23:38-07:00,2009-10-14T19:23:38-07:00,From: bordeaux_2008,Loufer
3,7221,"Spanish doc #9 ""Welcome to the Sage Tutorial!""",documentation,,enhancement,tba,new,2009-10-14T19:32:42-07:00,2009-10-14T19:32:42-07:00,From: tutorial,Loufer
3,7222,"Spanish doc #10 ""Getting Help""",documentation,,enhancement,pdenapo,new,2009-10-14T19:34:35-07:00,2010-10-24T13:02:35-07:00,From: tutorial,Loufer
3,7223,"Spanish doc #11 ""Assignment, Equality, and Arithmetic""",documentation,,enhancement,pdenapo,new,2009-10-14T19:36:58-07:00,2010-10-24T13:02:48-07:00,From: tutorial,Loufer
3,7224,"Spanish doc #12 ""A Guided Tour""",documentation,,enhancement,tba,new,2009-10-14T19:38:40-07:00,2009-10-14T19:38:40-07:00,From: tutorial,Loufer
3,7225,"Spanish doc #13 ""Introduction""",documentation,,enhancement,tba,new,2009-10-14T19:40:18-07:00,2012-12-22T08:15:50-08:00,From: tutorial,Loufer
3,7226,"Spanish doc #14 ""Basic Algebra and Calculus""",documentation,,enhancement,tba,new,2009-10-14T19:44:31-07:00,2009-10-14T19:49:31-07:00,From: tutorial,Loufer
3,7231,cryptanalysis of the Vigenere cipher,cryptography,,enhancement,somebody,new,2009-10-15T17:52:35-07:00,2009-10-15T17:52:35-07:00,As the subject says. This depends on #7124.,mvngu
3,7344,New libjpeg package,packages: standard,,enhancement,mabshoff,needs_work,2009-10-28T21:24:27-07:00,2011-11-14T08:34:36-08:00,"This is used by PIL (c.f. #7273). Inclusion as an optional or even as a standard package would be helpful.

The latest version of the package is here: http://sage.math.washington.edu/home/timdumol/libjpeg_turbo-1.1.1.spkg",timdumol
3,7345,New libtiff package,packages: standard,,enhancement,timdumol,needs_info,2009-10-28T21:25:27-07:00,2011-11-12T15:42:41-08:00,"This is used by PIL (c.f. #7273). Inclusion as an optional or even as a standard package would be helpful.

The package is here:  http://sage.math.washington.edu/home/timdumol/libtiff-3.9.5.spkg",timdumol
3,7362,Make worksheet auto-sync and collaborative editing smarter and more granular,notebook,,enhancement,boothby,new,2009-10-31T07:43:10-07:00,2009-11-11T10:13:00-08:00,"We ought to make collaborative worksheet editing somewhat more intuitive, even if we stop short (for now) of implementing full-strength [http://en.wikipedia.org/wiki/Operational_transformation operational transformations] or employing the [http://www.waveprotocol.org/ Wave Federation Protocol].

See [http://groups.google.com/group/sage-notebook/browse_thread/thread/d46ab54616c03b88/df5e0b2e82af4d5a#df5e0b2e82af4d5a sage-notebook].

From [comment:11:ticket:7254 this comment] at #7254:

     The browser and server do not update their `state_number`s if a new cell is added at the end of a sheet, when text cells are added, or cells are deleted. Should we add these to the list, along with the `'delete_all_output'`, `'pretty_print'`, `'system'` worksheet commands? 

",mpatel
3,7422,New Incidence Structure and Block Design constructions,combinatorics,,enhancement,,needs_work,2009-11-09T18:09:23-08:00,2010-05-16T09:55:37-07:00,"I have added two references; fixed the points() method to return points in lexicographic order so __eq__ works properly; made is_simple() its own standalone method and call it from block_design_checker and added the following constructions: Derived at a Point, Residual at a Point, Derived at a Block, Residual at a Block, Complementary, Supplementary, Point Deletion and Extraction of Blocks by size.

Some relevant discussion is here:

http://groups.google.com/group/sage-devel/browse_thread/thread/305158ab5d3181bc

Reviewers:

- Please think about my first item on the TODO list; is that a better way to proceed with derived_blck and residual_blck?

-I do not know whether this is ""Minor"" or ""Major"" (I am pretty sure it is not the others) so I have put ""Major"".  Please tell me if I was wrong.

- I have no idea what to put in Milestone so I have left it blank.",brett
3,7489,Integrate GeoGebra into SageNB,notebook,,enhancement,boothby,new,2009-11-18T14:05:36-08:00,2011-10-13T09:24:03-07:00,"[http://www.geogebra.org/cms/ GeoGebra] is free, interactive program for learning and teaching mathematics.  It can run as an [http://www.geogebra.org/en/wiki/index.php/Unsigned_GeoGebra_Applets unsigned] Java applet in a capable web browser.  It also has a [http://www.geogebra.org/en/wiki/index.php/GeoGebra_Applet_Methods JavaScript API].  Some links:

 * [http://www.geogebra.org/cms/index.php?option=com_content&task=blogcategory&id=72&Itemid=58 Screenshots].
 * [http://www.geogebra.org/cms/index.php?option=com_content&task=blogcategory&id=69&Itemid=56 Examples], [http://www.geogebra.org/en/wiki/index.php/English more (En)], [http://www.geogebra.org/en/wiki/index.php/French more (Fr)].
 * [http://www.geogebra.org/cms/index.php?option=com_content&task=blogcategory&id=75&Itemid=61 Documentation], [http://www.geogebra.org/en/wiki/index.php/GeoGebra_Know_How Know How].
 * [http://www.geogebra.org/forum/ Forums].
 * [http://www.geogebra.org/en/wiki/index.php/Main_Page Wiki].


Given its features, maturity, and popularity, we should consider integrating !GeoGebra into [http://www.sagemath.org/ Sage].

See, e.g., [http://groups.google.com/group/sage-devel/browse_thread/thread/e791fb1c8665c862/f10f8eb92919ad8f?#f10f8eb92919ad8f sage-devel].",mpatel
3,7642,Add an implementation of LCA to sage.combinat.words.suffix_trees,combinatorics,,enhancement,,needs_work,2009-12-09T10:43:15-08:00,2010-05-09T09:48:40-07:00,"I have implemented the linear time preprocessing, constant-time queries algorithm for the lowest common ancestor (LCA) in the context of the suffix trees for words.

The only thing I'm not very sure about is where to place the bit manipulation functions.",abergeron
3,7891,spkg's QScintilla2,packages: optional,,enhancement,tbd,new,2010-01-10T11:37:03-08:00,2012-05-27T11:29:16-07:00,"Package for QScintilla2 - QScintilla2 is a plug-in for text input with syntax highlighting.
Current files are in experimental packages and in http://sourceforge.net/projects/lorienlabs/files/ .",a.serrano
3,7970,Make `hg` interfaces use `subprocess.Popen` and return exit code,build,,enhancement,GeorgSWeber,new,2010-01-17T15:48:44-08:00,2010-01-17T15:48:44-08:00,"As mentioned on #7760, it would be nice if the `hg_sage`, etc. returned the exit code from the `__call__` method. We'd have to switch `os.popen3` to `subprocess.Popen` to do this, which isn't so bad, and is worth it in the long run (since `os.popen3` is deprecated). ",craigcitro
3,8339,Message of the day for notebook server,notebook,,enhancement,was,new,2010-02-23T14:46:08-08:00,2010-02-23T15:31:17-08:00,"From sage-devel 2010-02-22:

Here's a suggestion for the notebook:   allow the admin user to set a
""message of the day"" which would be seen either on the login page
itself, or as a pop-up or similar after logging in.

Example:  after the server has just been upgraded to a new version
(like 4.3.3 recently) users could be alerted of this change (and yes,
I know that the version number is displayed right above the login box,
but how many users will actually notice that it has changed)?

As an admin I would also find this useful as a way of communicating
with the user base on my server.

The existence and text of the MOTD should be settable from the usual
admin notebook settings screen.


",cremona
3,8561,Implement PicklableFunction(interactive_function),pickling,,enhancement,nthiery,new,2010-03-19T08:52:59-07:00,2013-01-09T15:45:48-08:00,"Extend sage.misc.fpickle.pyx with a PicklableFunction class wrapping
interactively defined (simple) functions to make them picklable:

{{{
    sage: f = lambda x: x^2
    sage: loads(dumps(f))
    ------------------------------------------------------------
    Traceback (most recent call last):
      File ""<ipython console>"", line 1, in <module>
      File ""sage_object.pyx"", line 792, in sage.structure.sage_object.dumps (sage/structure/sage_object.c:8357)
    PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

    sage: f = PicklableFunction(f)
    sage: f(3)
    9
    sage: f == loads(dumps(f))
    True
}}}
",nthiery
3,8594,allow printing of floating point numbers with locale-dependent decimal separators,user interface,,enhancement,was,new,2010-03-23T19:06:27-07:00,2010-03-23T19:06:27-07:00,"Some people would like floats to print with a comma for the decimal separator: 3,14159 for pi and so on. We should make this possible. Ideally Sage would check the user's locale or have a command to set the default printing style. Python seems to have a bit of support for this, maybe: http://docs.python.org/library/string.html#format-specification-mini-language

This ticket is prompted by http://groups.google.com/group/sage-support/browse_thread/thread/f2f2277a407b7d21 

More info: http://en.wikipedia.org/wiki/Decimal_separator

Since commas and dots are a very important part of Python syntax, I'm not sure we should try to change *input* of floating point numbers, but I think it's reasonable to have this support for output.",ddrake
3,8623,User interface to lcalc library,number theory,,enhancement,was,new,2010-03-29T05:54:49-07:00,2010-03-29T06:06:51-07:00,I am attaching a patch which gives a user interface to lcalc library wrapper. Please give me feedback. Right now only Elliptic Curve L functions are implemented. Depends on #5396 and #8621,rishi
3,8779,Categories for polynomial rings,categories,,enhancement,nthiery,new,2010-04-26T23:19:21-07:00,2010-04-26T23:19:21-07:00,"{{{
sage: QQ[x].categories()
[Category of commutative rings, Category of rings, ...]
}}}

This list should at least contain {{{EuclideanDomains()}}} and {{{GradedAlgebrasWithBasis(QQ)}}}. Maybe even {{{GradedHopfAlgebrasWithBasis(QQ)}}}.

At that occasion, the various accessors (term, ...) here and in ModulesWithBasis should be made consistent.",nthiery
3,8839,comment in rating,notebook,,enhancement,aliajouz,new,2010-05-01T16:59:25-07:00,2010-05-01T17:05:23-07:00,"Hello , 
html is ebabled in comment which allow to add iframe ,images ,etc ...

example 

http://alpha.sagenb.org/home/pub/1/rate?rating=4&comment=very%20good<br><br><img src=""http://games.pcmasters.de/fileadmin/Games/Sport/TDU2/3.jpg"">

thanks .",aliajouz
3,8883,Implement morphism.register_as_conversion(),coercion,,enhancement,robertwb,new,2010-05-04T20:11:50-07:00,2010-05-04T20:11:50-07:00,,nthiery
3,8900,"Implement multiparameter overloaded functions, with explicit registration",coercion,,enhancement,robertwb,new,2010-05-05T16:41:28-07:00,2010-05-05T16:41:28-07:00,,nthiery
3,8958,Extend/clarify/normalize the conventions for Python/Cython docstrings,documentation,,enhancement,mvngu,new,2010-05-12T16:05:04-07:00,2011-11-15T06:34:30-08:00,"The section of the ''Developer's Guide'' on conventions for (Python/Cython) docstrings within Sage http://www.sagemath.org/doc/developer/conventions.html#documentation-strings currently lacks some issues; also IMHO the usage of ''inline literals'' for Python names/types etc., ''default-role interpreted text'' (i.e. [LaTeX] math mode) and the syntax/style of e.g. parameter and return type descriptions should be normalized (further).

 * A description of the {{{:class:}}}, {{{:meth:}}}, {{{:func:}}} etc. roles is completely missing.

 * We currently have ''at least'' both

   {{{ - ``param`` -- (type, default val) other description...}}}

   and
   
   {{{ - ``param`` (type, default val) -- other description...}}},

   where the latter (without the default) is used by Sphinx.

 * {{{True}}} and {{{False}}} etc. are usually written/typeset as ''literals'' ({{{``True``}}}), while other Python names and types (e.g. {{{int}}}) are not. (Perhaps a bad example, since one could even use {{{:class:`int`}}}.)

  * True function/return type descriptions use both indicative and imperative mood, sometimes even within the same module/file. (Same for procedures, i.e. ""functions"" doing something but not returning anything.) 

  * Some people use ''math mode'' also for isolated numbers ({{{`1`}}}) and/or numbers within words (e.g. {{{`2`-descent}}} instead of {{{2-descent}}}), but not necessarily consistently.
    The ''HTML output'' of that looks very ugly, as does e.g. that of {{{`L`-functions}}}.
    (There are at least four variants of how ''simple'' constraints or case distinctions like ""n < 42"" are written, namely without mark-up, entirely literal, partially or completely typeset in math mode, and as mixtures of plain, literal/verbatim and math mode; ""... less than 42"" of course is another option.) 

  * IMHO the type descriptions should be specific if a function actually expects (or returns) some particular type.
  (Once we switch to Python 3, we can use type annotations, too... ;-) )

  * What about documenting potentially raised exceptions?

  * Some frequently used names etc. (even e.g. {{{int}}}) could be defined as (global) macros (e.g. {{{|int|}}}) to achieve consistent look (this also applies to reST documentation within Sage in general).

(The above list is most probably not exhaustive, nor does it express any importance/priority; additions welcome.)

Besides extending the documentation, we should perhaps discuss some issues and/or hold votes for the preferred/recommended style on ''sage-devel''. :)

",leif
3,9284,Locales switching in web UI,user interface,,enhancement,was,new,2010-06-20T12:46:48-07:00,2010-06-20T12:46:48-07:00,"Currently on SAGE online (at least on http://www.sagenb.org/) account user settings, the user cannot choose what language to have one's SAGE session in.  If this were enabled, then more users might be attracted to SAGE.  Having the user specify his preferred SAGE session language as the default when setting up a new account will attract more users worldwide.",q10
3,9585,Interactive equation editor for the notebook,notebook,,enhancement,"jason, was",new,2010-07-23T01:47:07-07:00,2010-08-11T21:41:18-07:00,"We've had several requests and discussions ([http://groups.google.com/groups/search?q=equation+editor+group%3Asage-devel&btnG=Search&sitesearch= on the mailing lists], etc.) for an interactive equation editor for Sage.

Some possibilities:

 * [http://www.math.union.edu/~dpvc/talks/2006-12-08.IMA/editor.html D. Cervone's experimental editor] (but see [http://groups.google.com/group/sage-devel/browse_thread/thread/28c918d66a421573/3ed595b482b889b4#3ed595b482b889b4 sage-devel])",mpatel
3,9622,Check SPKGs more vigorously for common problems,packages: standard,,enhancement,tbd,new,2010-07-28T01:42:37-07:00,2010-07-29T03:47:39-07:00,"When we build new or updated Sage packages (spkgs), `SAGE_LOCAL/bin/sage-pkg` runs a few checks for common problems.  For example,

{{{
#!sh
$ sage -pkg foo/
Creating Sage package foo/
Warning: no version number detected

Created package foo.spkg.

    NAME: foo
 VERSION:
    SIZE: 17.8M
 HG REPO: Good
SPKG.txt: Good

Please test this package using
[...]
}}}

But we could add several new, more detailed tests for `spkg-install`, etc.  Or put them in a `sage-spkg-{check,checker,lint}` script.",mpatel
3,9737,Moved interact to view an induced subgraph from wiki to library,interact,,enhancement,"itolkov, jason",new,2010-08-12T13:39:21-07:00,2010-11-10T03:35:16-08:00,"Moved the interact that shows an induced subgraph obtained on deleting a vertex, from the wiki to library. ",punchagan
3,9777,include more rings in random testing,algebra,,enhancement,AlexGhitza,new,2010-08-21T12:47:56-07:00,2010-08-21T12:47:56-07:00,"p-adics should be included, perhaps at ""level 0""?

The following ""level 1"" rings are not included in `sage.rings.tests`:

 * power series rings

 * Laurent series rings

 * multivariate power series rings (implemented in #1956)

 * infinite polynomial rings

Also, it's not clear that ""level n"" testing occurs for `n > 1`; e.g. multivariate polynomial ring in 3 variables over Laurent series ring over finite field of size 29, etc.

Quotient rings are also not included, but should be.  There are probably more to be included than this list indicates.",niles
3,9829,Implement implicitly multiplied output,user interface,,enhancement,was,new,2010-08-27T18:11:35-07:00,2010-08-27T18:23:59-07:00,"With `implicit_multiplication(True)`, we can enter expressions using spaces instead of `*` to separate multiplied subexpressions:

{{{
#!python
sage: var('x, y, z')
sage: implicit_multiplication(True)
sage: 3 x^4 y + 2 z sin(x z 3 y) - 3 y^2
3*x^4*y - 3*y^2 + 2*z*sin(3*x*y*z)
}}}

This works similarly for polynomials.

But it's not yet possible to set an option so that Sage automatically postparses the output to multiply implicitly.  For example,

{{{
#!python
sage: R.<a,b,c> = QQ[]; R
Multivariate Polynomial Ring in a, b, c over Rational Field
sage: implicit_multiplication_output(True)    # not implemented!
sage: R.random_element()
1/7 a b - 1/4 a c - c^2 + c 
}}}

Ideally, we would be able to use the output in later inputs with little or no modification.

[http://ask.sagemath.org/question/46/is-it-possible-to-get-implicitly-multiplied-output AskSage question] (by me).",mpatel
3,9981,"Unify univariate and multivariate power series rings, as has been done for polynomial rings",commutative algebra,,enhancement,malb,new,2010-09-23T10:49:58-07:00,2010-09-23T10:49:58-07:00,"Multivariate power series rings are implemented in #1956 as a subclass of (univariate) power series rings.  The two should be merged, following the implementation of polynomial rings.  As a first step, some behavior of `PowerSeriesRing` must be deprecated; a ticket for this is at #9980.",niles
3,10276,Create a random triangulation (max planar graph),graph theory,,enhancement,"jason, ncohen, rlm",needs_info,2010-11-15T14:48:07-08:00,2012-01-13T06:25:55-08:00,"This is a new graph generator to create a random triangulation, i.e., a random planar graph all of whose faces are triangles (3-cycles). We do this by generation points iid uniformly on the surface of a sphere, finding the convex hull of those points, and returning the 1-skeleton of that polyhedron.

'''Apply:'''

1. [attachment:trac_10276-random-triangulation-rebase.patch]",edward.scheinerman
3,10332,isPositiveSemiDefinite not accessible,linear algebra,,enhancement,"jason, was",new,2010-11-25T14:10:03-08:00,2013-03-28T15:50:56-07:00,"I would like to test rational matrices for semidefinite positiveness. There is such a function in linbox, apparently (isPositiveSemiDefinite, from is-positive-semidefinite.h), but it is not accessible from Sage.",monniaux
3,10532,Faster multiplication for multivariate power series,commutative algebra,,enhancement,malb,needs_info,2010-12-29T07:47:22-08:00,2011-02-15T09:10:40-08:00,Multivariate power series are implemented in #1956.  Ticket #10480 has a couple of different algorithms for improving `PowerSeries_poly` multiplication.  `MPowerSeries._mul_` should be modified to take advantage of the optimal algorithm.,niles
3,10554,Better support for casual usage of symmetric functions,combinatorics,,enhancement,sage-combinat,new,2011-01-04T03:49:13-08:00,2011-01-04T03:49:13-08:00,"Following a discussion with Alexandre Casamayou (coauthor of the
French sage book), here is a would-be session for casual usage of
symmetric functions (please feel free to extend):

{{{
    sage: S = SymmetricFunctions(QQ)
    sage: e = S.e()
    sage: var('x,y,z')
    sage: pol = S.from_polynomial(x^3+y^3+z^3); pol   # or from_expr?
    m[3]
    sage: pole = e(pol); pole
    e[1, 1, 1] - 3*e[2, 1] + 3*e[3]
    sage: pole([x,y,z])
    (x + y + z)^3 + 3*x*y*z - 3*(x + y + z)*(x*y + x*z + y*z)
}}}

The best working approximation with the current implementation seems
to be:

{{{
    sage: S = SymmetricFunctions(QQ)
    sage: e = S.e()
    sage: QQ.<x,y,z> = QQ[]
    sage: pol = S.from_polynomial(x^3+y^3+z^3); pol
    m[3]
    sage: e(pol)
    e[1, 1, 1] - 3*e[2, 1] + 3*e[3]
    sage: e1 = SR(e[1].expand(3,[x,y,z])); e1
    x + y + z
    sage: e2 = SR(e[2].expand(3,[x,y,z])); e2
    x*y + x*z + y*z
    sage: e3 = SR(e[3].expand(3,[x,y,z])); e3
    x*y*z
    sage: e1^3 - 3* e2*e1 + 3*e3
    (x + y + z)^3 + 3*x*y*z - 3*(x + y + z)*(x*y + x*z + y*z)
}}}

What needs to be done:

 - from_expr (or extend from_polynomial to accept a symbolic expression)

 - f(alphabet) for f a symmetric function, and alphabet a list of
   objects in some ring (possibly supporting plethysm), as implemented
   in MuPAD-Combinat
",nthiery
3,10615,Clarify and unify plotting options,graphics,,enhancement,"jason, was",new,2011-01-12T17:34:38-08:00,2011-01-12T17:34:38-08:00,"From #10244 (perhaps elsewhere), there is discussion about unifying plot options along the lines of toric plotting options' unification at #9644.  novoselt suggests something along the lines of `plot.options(xmin=-10, xmax=10, color=""red"")` to affect future session commands.  See discussion there for more details which would crowd this description.",kcrisman
3,10777,Implement CombinatorialPolyhedron,geometry,,enhancement,mhampton,new,2011-02-13T13:17:05-08:00,2011-02-14T09:46:33-08:00,"While thinking about uniformizing lattice polytopes and cones/fans, I came to the conclusion that it would be nice to abstract the current ""face lattice relations"" of cones to a separate class, say `CombinatorialPolyhedron`, and include it as a base class for cones, lattice polytopes, and polyhedra.

Current situation with faces is ""very different"":
 * faces of cones are cones, represented by the same class;
 * faces of lattice polytopes are objects of a different class with different behaviour of methods with the same name, e.g. for polytopes `points` returns a matrix, for their faces - a list of some indices;
 * faces of polyhedra are also objects of some special class.
I think that ideally all faces of `X` must be represented by objects of the same class as `X`, and some methods can be the same for all of the above three situations. It may also work nicely for collections of objects (i.e. fans and polyhedral complexes).

So, an object of `CombinatorialPolyhedron`, say `cp` should have the following properties:
 1. `cp` knows its ""ambient structure"" `A`, which can be either an object of the same type, or their collection. E.g. each cone sits either in another cone or in a fan. Each polyhedron sits in another polyhedron or a polyhedron complex.
 1. `A` knows how to compute its whole face lattice and `cp` knows how to access it and use it to create the face lattice of `cp`. This is good for efficiency as well as convenience and face walks:
 1. `cp` can return `facets`, `facet_of`, and `adjacent` elements of the face lattice of `A` relative to `cp`.
 1. Since it may happen that `cp` IS `A`, `cp` should know how to compute its face lattice. `Hasse_diagram_from_incidences` computes it quite efficiently if incidences of vertex-to-facet and facet-to-vertex are known, so perhaps derived classes should provide this information in a uniform way and then the actual computation is done in `CombinatorialPolytope`. Or maybe it would be more convenient to do it in each derived class separately.

It kind of seems that I just want to inherit polyhedra objects from a poset element class, but I don't think it will work: I am definitely against creating the whole face lattice with all its elements when a single polyhedron is created, which is required for using current `Poset` function. But then what should be the parent of these elements? On the other hand, if it was possible to construct a poset without specifying all elements but only providing a way to compare elements, it could be quite nice! (See #10783.)

In principle, one may think about unifying all polyhedra classes into a single one, but I don't think that it is a good idea from the efficiency point of view. I think that in general the current separation with imposed restrictions is quite reasonable and convenient, especially if one can easily switch from one representation to another:
 * cones are always centered at the origin and thought of as fan elements or their dual, they are represented by some lattice points;
 * lattice polytopes are bounded and thought of as related to toric geometry as well and are represented by lattice points;
 * polyhedra allow complete generality: no binding to any underlying lattice, working with inexact fields, maybe even strict inequalities once Volker's PPL package is in.",novoselt
3,10783,Implement dynamic posets,combinatorics,,enhancement,sage-combinat,new,2011-02-14T09:38:56-08:00,2011-02-14T10:22:44-08:00,"The idea is to allow creation of a poset without specifying all of its elements but instead allow adding them later. Example: one creates a cone and this cone becomes the top element of its face lattice, but the whole lattice and its elements are not constructed until (and IF) it is necessary.

Ticket #10777 is relevant.

I am personally interested only in such lattices and cone lattice of (not necessarily complete) fans, in particular these posets are finite and they are atomistic lattices. But for the implementation, perhaps, the only convenient limitation is finiteness. Or maybe even this is not important: if we don't construct all element, who cares how many are there?

The constructor probably has to have only one mandatory parameter: some callable that can compare elements of this poset. Perhaps one can also specify a callable for checking cover relations.

For elements it would be nice to compute their neighbours up/above/next to, even if they are not constructed yet. If this it too difficult, there may be a flag in the poset `has_all_elements` or something like this so that functions that do require all elements can check if they are present or not.",novoselt
3,10805,Option to restrict sage notebook only to current user,notebook,,enhancement,"jason, mpatel, was",new,2011-02-19T09:23:19-08:00,2011-02-19T09:23:19-08:00,It would be nice when using sage on a local machine if you could restrict the notebook to only being run by the user who opened it.,TheBlackCat
3,10838,A library interface for Bernd Souvignier's code,quadratic forms,,enhancement,justin,new,2011-02-23T17:49:59-08:00,2011-03-07T18:11:08-08:00,"All within one process, no files written to or read from:
{{{
        sage: from sage.quadratic_forms import isoautom
        sage: s = """"""#1
        ... 3x0
        ... 2
        ... 0 3
        ... 0 0 5
        ... 3x0
        ... 5
        ... 0 3
        ... 0 0 1
        ... """"""
        sage: x = isoautom.call_main_isom(['isom'], s)
        sage: x
        'The lattices are not isomorphic !\nDifferent numbers of short vectors (5|2)\n'
        sage: s = """"""#1
        ... 3x0
        ... 1
        ... 0 3
        ... 0 0 5
        ... 3x0
        ... 5
        ... 0 3
        ... 0 0 1
        ... """"""
        sage: x = isoautom.call_main_isom(['isom'], s)
        sage: x
        '3\n  0  0  1\n  0  1  0\n  1  0  0\n'
        sage: print x
        3
          0  0  1
          0  1  0
          1  0  0
}}}",rlm
3,10895,add qitensor spkg (tensors for quantum information),packages: optional,,enhancement,tbd,needs_work,2011-03-09T12:14:59-08:00,2012-01-11T12:56:56-08:00,"I've worked up a python module and an associated spkg that basically wraps numpy in a way that makes it useful for doing finite-dimensional quantum mechanics over several particles.  In particular, this should be useful for quantum information.  The features that are currently available more or less reflect what I have needed in order to do the things that I am currently working on.  More information is available on the project's web page, linked below.

The module is available from:
[http://www.stahlke.org/dan/qitensor/]

This package works in python and in Sage.  In Sage it is possible to create arrays (or tensors if you wish to call it that) over SR (or in fact any commutative ring).

The git repo contains both the python and the spkg sources and is the ""main"" source.  The tarballs and spkg are built from that.
",dstahlke
3,10963,More functorial constructions,categories,,enhancement,stumpc5,needs_info,2011-03-18T09:36:48-07:00,2013-02-28T08:41:23-08:00,"The patch under finalization on the Sage-Combinat queue implements:

- Support for full subcategories defined by a predicate on the objects
  (Finite, Infinite, FiniteDimensional, Commutative, Graded, Facade),
  and joins thereof:

{{{
    sage: Category.join([Groups(), Sets().Finite()])
    Category of finite groups
    sage: Category.join([Algebras(QQ).Finite(), Monoids().Commutative()])
    Join of Category of commutative algebras over Rational Field and Category of finite monoids
}}}

- More mathematical rules:
  - A subquotient of a finite set is a finite set
  - The algebra of a finite set is finite dimensional
  - The algebra of a commutative magma is commutative
- Algebras of commutative additive semigroups and monoids
- More documentation for IsomorphicObjects and other doc improvements

See http://combinat.sagemath.org/patches/file/tip/trac_10963-more_functorial_constructions-nt.patch and follow ups.",nthiery
3,10973,Integral points on elliptic curves over number fields,elliptic curves,,enhancement,cremona,needs_work,2011-03-21T12:47:56-07:00,2012-09-20T05:11:26-07:00,"Incorporate work done by Rado Kirov and Jackie Anderson at Sage Days 22, based on Magma implementation by Cremona's student Nook.

See also #12095 (now tagged as duplicate).

Apply only Trac10973.7.patch
",justin
3,11125,Change .list() to return an immutable object in enumerated sets.,combinatorics,,enhancement,hivert,new,2011-04-04T08:30:00-07:00,2012-11-10T07:27:44-08:00,"Currently, in enumerated sets, the method {{{.list()}}} returns a standard mutable python list. This is unfortunate because, even if we use caching, we need a new copy of the list to make sure that the user doesn't change the cached list. This copy is made, even if the user don't change the returned list. The good way of resolving this problem must be discussed further but I nevertheless create the ticket for reference.",hivert
3,11210,Wrap Maxima's residue calculation,calculus,,enhancement,burcin,new,2011-04-16T20:54:54-07:00,2012-07-07T19:24:04-07:00,"I can't believe we haven't done this before, nor that someone hasn't requested it.  See [http://ask.sagemath.org/question/503/can-sage-find-the-poles-of-a-complex-function-and this ask.sagemath post].
{{{
sage: f(x)=1/x
sage: f.maxima_methods().residue(x,0)
1
f(x)=1/(x^2+1)
f.maxima_methods().residue(x,i)
-1/2*I
}}}
This should be a little easier to do than that.",kcrisman
3,11213,ModularCurve,modular forms,,enhancement,craigcitro,new,2011-04-18T12:26:49-07:00,2011-04-18T12:26:49-07:00,"There is a class ModularCurve which needs to be built. It has a spot open in SAGE_ROOT/devel/sage/sage/modular/curves/ 

There is already a folder created. Notes1.txt is attached.",tdupu
3,11222,Implementing set compositions,combinatorics,,enhancement,sage-combinat,new,2011-04-20T01:01:09-07:00,2011-04-20T01:01:09-07:00,Set compositions are not yet implemented in sage. I have began to write a few lines of code for my own research and I should propose a patch soon(?).,vferay
3,11258,Add documentation for plotting max and min functions,graphics,,enhancement,"jason, was",new,2011-04-26T08:45:36-07:00,2011-04-27T20:41:50-07:00,"To do this, you need `min_symbolic` and `max_symbolic`, as in #6949.  But I don't think this is in the documentation for plotting anywhere.

{{{
M = matrix([[1,-1],[-1,1]])
f1(p) = (M[1,0] - M[0,0])*p+M[0,0]
f2(p) = (M[1,1] - M[0,1])*p+M[0,1]
P = plot([f1,f2],(p,0,1),linestyle='--')
P += plot(min_symbolic(f1(p),f2(p)),(p,0,1),color='red')
show(P,axes_labels=['$p$','Exp.'])
}}}
Notice that 
{{{
P += plot(min_symbolic(f1,f2),(p,0,1),color='red')
}}}
and 
{{{
P += plot(min(f1(p),f2(p)),(p,0,1),color='red')
}}}
don't work properly.  I could even consider the first one a bug...

Putting in component 'graphics' because it's more likely these people will write documentation for this than symbolics or doc people!",kcrisman
3,11837,Make Newton basin plotting fun and easy,graphics,,enhancement,"jason, was",new,2011-09-22T20:27:57-07:00,2011-09-23T12:56:27-07:00,"One of the best fractals for actually finding out ''new'' things is looking at [http://en.wikipedia.org/wiki/Newton_fractal Newton basins] - see [http://aleph0.clarku.edu/~djoyce/newton/newtongen.html David Joyce's beautiful generator], for instance.

This is not yet in Sage.   It should be, and isn't that hard to get a rough mockup by modifying the complex plot code. ",kcrisman
3,12460,Multivariate polynomials as a module on symmetric functions,combinatorics,,enhancement,"nborie, VivianePons",new,2012-02-07T02:39:21-08:00,2012-02-10T16:40:47-08:00,Patch 6629 is implementing multivariate polynomials which are strongly linked to symmetric functions. Our goal is to make an addition to this patch to work with multivariate polynomials as a free module on symmetric functions. ,VivianePons
3,13376,Optional SPKG for SmallJac,packages: optional,,enhancement,tbd,needs_work,2012-08-17T09:34:30-07:00,2013-03-10T15:01:12-07:00,"Smalljac is a library and set of programs for computing L-polynomials and Jacobian group structures of low genus curves over finite fields. Given a curve C of genus 1 or 2 defined over Q or a quadratic number field, it will efficiently compute either the sequence of L-polynomials or Jacobian group structures arising from the reduction of C at all primes of good reduction up to a specified norm bound.

This set of SPKGs and the corresponding patch to Sage 5.6 add support for using smallJac from Sage.

 * `EllipticCurve.aplist` can be run with `algorithm=""smalljac""`, yielding run times of six times faster on a single core.

 * `EllipticCurve.aplists` provides more usable representation the above, and supports number fields (multiple reductions per prime norm).  See the documentation for more, but in general `aplist` couldn't be made very easy to use for the number field case.

 * `EllipticCurve.grouplists` gives the abelian groups isomorphic to various reductions of a curve.

 * `EllipticCurve.lpolylists` yields the L-Polynomials of reductions of a curve.

 * `EllipticCurve.guess_sato_tate_group` attempts to guess the Sato-Tate group of the Jacobian of a curve of genus 1 or 2 based on the distribution of its L-polynomial coefficients.

 * `EllipticCurve.moments` yields the moments of the distribution of coefficients of the L-Polynomials.

 * `EllipticCurve.trace_histogram` gives a very simple histogram for the distribution of traces of Frobenius of a curve, reduced at a range of primes.

For all of the above methods (except `aplist`), identical functionality exists (with the same name) for genus 2 curves.  All of the above methods also parallelize over multiple cores (currently, to a power of two cores).  For large problems, this achieves approximately linear speedup; for example, computing the first billion traces of Frobenius of an ordinary elliptic curve is 178 times faster on 32 cores.

For each of these features, there is Sage documentation docstring-style documentation.

The SPKGs only compile and work on 64-bit machines, since SmallJac only supports 64-bit architectures, and require GMP.  Two SPKGs are provided, since SmallJac depends on ff_poly, but so does some of Drew Sutherland's other code, so it makes sense to split the two.  They've been tested to work on a completely clean install of Sage on at least two differently-configured machines.

The patch has been tested to apply cleanly to 5.6.

SPKGs are available at [http://www.mit.edu/~pavpan/].  Install first the ff_poly package and then the smalljac package, with the normal Sage package installation mechanisms.  Then apply the patch to a fresh branch of the source code and recompile that branch.",pavpanchekha
3,13995,Implementation of methods for some objects ;-),combinatorics,,enhancement,sage-combinat,new,2013-01-23T04:58:15-08:00,2013-01-23T04:58:15-08:00,This is still be be worked on...,stumpc5
3,6773,Freetype hides warning messages by sending output to /dev/null,build,,task,tbd,new,2009-08-17T03:11:21-07:00,2012-06-01T10:49:24-07:00,"I've not no idea why anyone would want to do this, but freetype (along with lcalc) is one of the guilty parties. 

 /opt/sunstudio12.1/bin/cc -I/export/home/drkirkby/sage/suncc/sage-4.1.1/spkg/build/freetype-2.3.5.p1/src/objs -I./builds/unix -I/export/home/drkirkby/sage/suncc/sage-4.1.1/spkg/build/freetype-2.3.5.p1/src/include -c -g -DFT_CONFIG_OPTION_SYSTEM_ZLIB ""-DFT_CONFIG_CONFIG_H=<ftconfig.h>"" -DFT2_BUILD_LIBRARY ""-DFT_CONFIG_MODULES_H=<ftmodule.h>"" -I/export/home/drkirkby/sage/suncc/sage-4.1.1/spkg/build/freetype-2.3.5.p1/src/src/pshinter /export/home/drkirkby/sage/suncc/sage-4.1.1/spkg/build/freetype-2.3.5.p1/src/src/pshinter/pshinter.c -o /export/home/drkirkby/sage/suncc/sage-4.1.1/spkg/build/freetype-2.3.5.p1/src/objs/pshinter.o >/dev/null 2>&1

",drkirkby
3,7920,Common numerical matrix base class,linear algebra,,task,was,needs_work,2010-01-13T06:19:12-08:00,2010-01-13T06:29:35-08:00,"Currently, Matrix_double_dense inherits from Matrix_dense and Matrix_double_sparse from Matrix_sparse. However numerical matrices share a lot compared to other matrices and should probably have a common base class:

 - Docstrings of numerical decompositions should likely be shared
 - {{{solve_right}}} implementation should be shared
 - Even if one matrix uses SuiteSparse and another LAPACK for making decompositions, the code for using those decompositions to find solutions, and iteratively improve the solutions, can be shared
 - In general, a place to put docstrings and examples with terminology more familiar to numerical users

Luckily, Matrix_dense/sparse offers little in terms of implementation for numerical matrices (the exception is the hash value -- which is useless for numerical matrices anyway, but should be implemented).

In the future, there might be diagonal, Hermitian, triangular, banded etc. matrices, and then it makes even more sense to change the hierarchy, so that sparse/dense isn't a superclass.

So, this ticket should result in:
 - Introduce Matrix_numerical
 - Change the base class of Matrix_double_dense and Matrix_double_sparse to Matrix_numerical
 - A {{{Matrix_numerical.solve_right}}} centered around matrix decompositions

Incidentally, this is likely to result in:
 - A proper pickle implementation for dense double matrices (just pickle the NumPy array; and read back the dtype on unpickle)
 - Loosing the Matrix_real_double_dense and Matrix_complex_double_dense subclasses -- these serve no real purpose at all, and prevents introducing e.g. efficient dense lower-triangular matrices and so on. (Remember to keep stubs aliased to Matrix_double_dense for unpickling backward compatability)",dagss
3,8135,prime_pi approximation involving zeta zeros,number theory,,task,Kevin Stueve,new,2010-01-30T22:20:29-08:00,2010-02-03T23:02:21-08:00,"Get into Sage an analytic approximation to prime_pi, the prime counting function, that uses the nontrivial zeros of the Riemann zeta function.

Sincere apologies for misspelling Tomás Oliveira e Silva's name.",kevin.stueve
3,8137,Thomas R. Nicely's Hardy-Littlewood logarithmic integral approximations to counts of prime constellations,number theory,,task,Kevin Stueve,new,2010-01-30T23:42:26-08:00,2010-02-01T13:22:53-08:00,"Get Thomas R. Nicely's code for approximating the counts of twin primes and other primes into Sage.

The code can be found at http://www.trnicely.net/.

Sage already has a Li implementation, so all that needs to be added to Sage is code for the twin primes, prime triplets, and prime quadruplets.  However, Sage's default Li implementation uses direct numerical integration.  Maybe this should be switched out for an equivalent (and faster) series implementation.",kevin.stueve
3,11127,Iterator for quotient algebras,algebra,,task,AlexGhitza,new,2011-04-04T17:47:12-07:00,2011-04-05T11:14:16-07:00,"Quotient rings and algebras currently do not have iterators. This could be for example be fixed by letting them inherit the iterator from the cover ring or algebra:

{{{
    def __iter__(self):
        return self.__rep.__iter__()
}}}",aschilling
3,252,Make number fields work when polynomial not integral or not monic.,number fields,sage-5.10,defect,davidloeffler,new,2007-02-08T09:49:51-08:00,2013-02-19T12:45:34-08:00,"Make number fields work when polynomial not integral or not monic.

{{{
sage: R.<x> = QQ[]
sage: L.<b> = NumberField(x^2-1/2)
sage: L.discriminant()
Traceback (most recent call last):
...
gen.PariError:  (8)
}}}",was
3,455,make scipy ignore libs in /usr and /usr/local,packages: standard,sage-5.10,defect,was,new,2007-08-19T01:56:19-07:00,2012-07-06T21:12:37-07:00,"Reported by JMD:
{{{
system : AMD64 X2 4200
             Slamd64  (Slackware 11.0 for x86-64)
             gcc 3.4.6

Here it seems that /usr/local/lib/libfftw3.a on my system is used,
maybe instead of something inside sage-2.8/

log :   gcc: build/src.linux-x86_64-2.5/Lib/fftpack/_fftpackmodule.c
sage_fortran -shared -shared build/temp.linux-x86_64-2.5/build/
src.linux-x86_64-2.5/Lib/fftpack/_fftpackmodule.o build/temp.linux-
x86_64-2.5/Lib/fftpack/src/zfft.o build/temp.linux-x86_64-2.5/Lib/
fftpack/src/drfft.o build/temp.linux-x86_64-2.5/Lib/fftpack/src/
zrfft.o build/temp.linux-x86_64-2.5/Lib/fftpack/src/zfftnd.o build/
temp.linux-x86_64-2.5/build/src.linux-x86_64-2.5/fortranobject.o -L/
usr/local/lib -Lbuild/temp.linux-x86_64-2.5 -ldfftpack -lfftw3 -o
build/lib.linux-x86_64-2.5/scipy/fftpack/_fftpack.so
ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation R_X86_64_32
against `a local symbol' can not be used when making a shared object;
recompile with -fPIC
/usr/local/lib/libfftw3.a: ne peut lire les symboles: Mauvaise valeur
ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation R_X86_64_32
against `a local symbol' can not be used when making a shared object;
recompile with -fPIC
/usr/local/lib/libfftw3.a: ne peut lire les symboles: Mauvaise valeur
error: Command ""sage_fortran -shared -shared build/temp.linux-
x86_64-2.5/build/src.linux-x86_64-2.5/Lib/fftpack/_fftpackmodule.o
build/temp.linux-x86_64-2.5/Lib/fftpack/src/zfft.o build/temp.linux-
x86_64-2.5/Lib/fftpack/src/drfft.o build/temp.linux-x86_64-2.5/Lib/
fftpack/src/zrfft.o build/temp.linux-x86_64-2.5/Lib/fftpack/src/
zfftnd.o build/temp.linux-x86_64-2.5/build/src.linux-x86_64-2.5/
fortranobject.o -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.5 -
ldfftpack -lfftw3 -o build/lib.linux-x86_64-2.5/scipy/fftpack/
_fftpack.so"" failed with exit status 1
Error building scipy. 
}}}
The problem goes away when /usr/local/lib/libfftw3.a is moved.

Cheers,

Michael ",mabshoff
3,479,linbox-20070814.spkg abuses [CPP|CXX|C]FLAGS in spkg-install,packages: standard,sage-5.10,defect,mabshoff,new,2007-08-22T12:36:34-07:00,2009-12-30T08:06:02-08:00,"Hello,

The current LinBox package in Sage 2.8.2 has the following assignments in spkg-install

{{{
CFLAGS=""$CFLAGS -fPIC -I\""$SAGE_LOCAL/include\"" -I\""$SAGE_LOCAL/include/linbox\""-L\""$SAGE_LOCAL/lib\""""
CXXFLAGS=""$CXXFLAGS -fPIC -I\""$SAGE_LOCAL/include\"" -I\""$SAGE_LOCAL/include/linbox\""  -L\""$SAGE_LOCAL/lib\""""
CPPFLAGS=""$CPPFLAGS  -I\""$SAGE_LOCAL/include/linbox\"" -I\""$SAGE_LOCAL\""/include""
}}}
but uses the configure with the following options:
{{{
./configure --prefix=""$SAGE_LOCAL"" --with-givaro=""$SAGE_LOCAL"" --with-gmp=""$SAGE_LOCAL"" --with-ntl=""$SAGE_LOCAL"" $OPS --with-blas=""$LINBOX_BLAS""
}}}
This is due to a bug in LinBox where for exmaple GMP_CFLAGS is not propagated down into the Makefiles (via Makefile.am). I have fixed this for the GMP and I assume that it is the same fix for NTL and Givaro. The GMP fix already made it into LinBox-20070814.spkg and I did verify on my systems that the right gmp selected during configure is also linked against. Once I have made the fixes for NTL and Givaro I will push those fixes toward LinBox upstream.

Cheers,

Michael

I ",mabshoff
3,557,missing dictionary deallocation in Cython's init code,memleak,sage-5.10,defect,mabshoff,new,2007-09-01T16:32:30-07:00,2007-10-17T21:18:34-07:00,"Okay, the problem I found is deep in Cython generated code and 
maybe not the fault of Cython, but might be an underlying issue 
in Python. For each of the 244 pyx files we have in the tree 
we do not deallocate  a dictionary. While this 
isn't a defect per se it makes the valgrind output more noise 
and therefor more difficult to parse.

The example output below is from rational.pyx. The function initrational 
is created via Cython (there is no init-method, but that comes out of 
the creation of the class as far as I can tell):
{{{
==25825== 3,072 bytes in 1 blocks are still reachable in loss record 2,268 of 2,539
==25825==    at 0x4A05809: malloc (vg_replace_malloc.c:149)
==25825==    by 0x43F179: dictresize (dictobject.c:513)
==25825==    by 0x45B00C: PyType_Ready (typeobject.c:5575)
==25825==    by 0x169D79A0: initrational (rational.c:10789)
==25825==    by 0x49F762: _PyImport_LoadDynamicModule (importdl.c:53)
==25825==    by 0x49D63E: import_submodule (import.c:2394)
==25825==    by 0x49DB11: load_next (import.c:2214)
==25825==    by 0x49DD6E: import_module_level (import.c:2002)
==25825==    by 0x49E1A4: PyImport_ImportModuleLevel (import.c:2066)
==25825==    by 0x47D5D8: builtin___import__ (bltinmodule.c:47)
==25825==    by 0x4156A2: PyObject_Call (abstract.c:1860)
==25825==    by 0x47DB71: PyEval_CallObjectWithKeywords (ceval.c:3433)
}}}
The exact line from rational.c:10789 is:

if (PyType_Ready(&__pyx_type_8rational_Rational) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 126; goto __pyx_L1;}

It mentions line 126 which in rational.pyx is:

cdef class Rational(sage.structure.element.FieldElement):

So can be dereference the class somehow upon exit? Looking 
at valgrind-sessions from python it appears that this is 
possible because otherwise there would be a large number of 
leak dictionaries from the buildin c-libraries.

Cheers,

Michael",mabshoff
3,620,memory still reachable in vector_rational_dense_21Vector_rational_dense__init,memleak,sage-5.10,defect,mabshoff,new,2007-09-07T09:59:17-07:00,2009-12-29T20:55:35-08:00,"This is caused when running Sage 2.8.3.6+malb's fix for #566:
{{{
for i in range(3):
    get_memory_usage()
    m = ModularSymbols(501,2).decomposition(3); 
    del m; ModularSymbols_clear_cache(); 
    get_memory_usage()
}}}
and results in 
{{{
==8920== LEAK SUMMARY:
==8920==    definitely lost: 1,518,830 bytes in 183,739 blocks.
==8920==    indirectly lost: 288,408 bytes in 610 blocks.
==8920==      possibly lost: 489,439 bytes in 1,002 blocks.
==8920==    still reachable: 160,311,066 bytes in 872,845 blocks.
==8920==         suppressed: 0 bytes in 0 blocks.
}}}
The exact problem:
{{{

==8920== 1,612,736 bytes in 446 blocks are still reachable in loss record 2,367 of 2,372
==8920==    at 0x4A05A66: malloc (vg_replace_malloc.c:207)
==8920==    by 0x210A2D65: __pyx_f_21vector_rational_dense_21Vector_rational_dense__init (vector_rational_dense.c:770)
==8920==    by 0x210A0DE7: __pyx_tp_new_21vector_rational_dense_Vector_rational_dense (vector_rational_dense.c:865)
==8920==    by 0x45A272: type_call (typeobject.c:422)
==8920==    by 0x4156A2: PyObject_Call (abstract.c:1860)
==8920==    by 0x480783: PyEval_EvalFrameEx (ceval.c:3775)
==8920==    by 0x4865EF: PyEval_EvalCodeEx (ceval.c:2831)
==8920==    by 0x4CFED0: function_call (funcobject.c:517)
==8920==    by 0x4156A2: PyObject_Call (abstract.c:1860)
==8920==    by 0x41BE0C: instancemethod_call (classobject.c:2497)
==8920==    by 0x4156A2: PyObject_Call (abstract.c:1860)
==8920==    by 0x480783: PyEval_EvalFrameEx (ceval.c:3775)
}}}

Cheers,

Michael",mabshoff
3,621,memory still reachable in matrix_integer_dense_Matrix_integer_dense,memleak,sage-5.10,defect,mabshoff,new,2007-09-07T10:00:57-07:00,2007-11-03T08:04:44-07:00,"This is caused when running Sage 2.8.3.6+malb's fix for #566:
{{{
for i in range(3):
    get_memory_usage()
    m = ModularSymbols(501,2).decomposition(3); 
    del m; ModularSymbols_clear_cache(); 
    get_memory_usage()
}}}
and results in 
{{{
==8920== LEAK SUMMARY:
==8920==    definitely lost: 1,518,830 bytes in 183,739 blocks.
==8920==    indirectly lost: 288,408 bytes in 610 blocks.
==8920==      possibly lost: 489,439 bytes in 1,002 blocks.
==8920==    still reachable: 160,311,066 bytes in 872,845 blocks.
==8920==         suppressed: 0 bytes in 0 blocks.
}}}
The exact problem:
{{{
==8920== 2,603,712 bytes in 5 blocks are still reachable in loss record 2,370 of 2,372
==8920==    at 0x4A05A66: malloc (vg_replace_malloc.c:207)
==8920==    by 0x205E1766: __pyx_f_20matrix_integer_dense_20Matrix_integer_dense___new__ (matrix_integer_dense.c:2966)
==8920==    by 0x205E1BE0: __pyx_tp_new_20matrix_integer_dense_Matrix_integer_dense (matrix_integer_dense.c:17692)
==8920==    by 0x45A272: type_call (typeobject.c:422)
==8920==    by 0x4156A2: PyObject_Call (abstract.c:1860)
==8920==    by 0x480783: PyEval_EvalFrameEx (ceval.c:3775)
==8920==    by 0x4865EF: PyEval_EvalCodeEx (ceval.c:2831)
==8920==    by 0x4845B3: PyEval_EvalFrameEx (ceval.c:3660)
==8920==    by 0x4865EF: PyEval_EvalCodeEx (ceval.c:2831)
==8920==    by 0x4CFF37: function_call (funcobject.c:517)
==8920==    by 0x4156A2: PyObject_Call (abstract.c:1860)
==8920==    by 0x41BE0C: instancemethod_call (classobject.c:2497)
}}}

Cheers,

Michael",mabshoff
3,807,construction of function fields,basic arithmetic,sage-5.10,defect,somebody,new,2007-10-03T08:37:31-07:00,2013-02-26T16:25:40-08:00,"The following does not work and it seems to fail in an odd way wrt. the preparser
{{{
P1.<t> = QQ[].fraction_field()
}}}
There doesn't seem to be a convenient way of constructing a rational function field
with a named variable.",nbruin
3,940,read large output from octave (and probably matlab) takes *forever*,interfaces,sage-5.10,defect,mhansen,new,2007-10-20T01:27:01-07:00,2011-08-14T06:21:07-07:00,"{{{
    sage: t = '""%s""'%10^10000   # ten thousand character string.
    sage: a = octave(t)
}}}
If you now try to print a, it take forever.",was
3,1065,sage -sdist nukes libcsage.so,packages: standard,sage-5.10,defect,was,new,2007-11-01T21:12:58-07:00,2008-11-26T15:44:16-08:00,"Right after a '''sage -sdist''' the following happens. '''A sage -b''' rebuilds libcsage.so and everything works fine again (well, at least Sage starts :))
{{{
./sage -t  devel/sage-main/sage/groups/perm_gps/permgroup_element.py
sage -t  devel/sage-main/sage/groups/perm_gps/permgroup_element.pyTraceback (most recent call last):
  File "".doctest_permgroup_element.py"", line 1, in <module>
    from sage.all_cmdline import *;
  File ""/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/lib/python2.5/site-packages/sage/all_cmdline.py"", line 14, in <module>
    from sage.all import *
  File ""/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/lib/python2.5/site-packages/sage/all.py"", line 45, in <module>
    from sage.rings.memory import pmem_malloc
ImportError: libcsage.so: cannot open shared object file: No such file or directory

         [0.1 s]
exit code: 256

----------------------------------------------------------------------
The following tests failed:


        sage -t  devel/sage-main/sage/groups/perm_gps/permgroup_element.py
Total time for all tests: 0.1 seconds
mabshoff@sage:/tmp/Work-mabshoff/sage-2.8.11.alpha0$ ./sage -b

----------------------------------------------------------
sage: Building and installing modified SAGE library files.


Installing c_lib
gcc -o src/convert.os -c -O2 -g -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/convert.c
gcc -o src/interrupt.os -c -O2 -g -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/interrupt.c
gcc -o src/mpn_pylong.os -c -O2 -g -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/mpn_pylong.c
gcc -o src/mpz_pylong.os -c -O2 -g -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/mpz_pylong.c
gcc -o src/stdsage.os -c -O2 -g -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/stdsage.c
gcc -o src/gmp_globals.os -c -O2 -g -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/gmp_globals.c
g++ -o src/ZZ_pylong.os -c -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/ZZ_pylong.cpp
g++ -o src/ntl_wrap.os -c -fPIC -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5 -I/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/NTL -Iinclude src/ntl_wrap.cpp
In file included from /tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5/Python.h:8,
                 from include/ntl_wrap.h:28,
                 from src/ntl_wrap.cpp:5:
/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/include/python2.5/pyconfig.h:932:1: warning: ""_POSIX_C_SOURCE"" redefined
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/x86_64-linux-gnu/bits/os_defines.h:39,
                 from /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/x86_64-linux-gnu/bits/c++config.h:35,
                 from /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/iostream:43,
                 from src/ntl_wrap.cpp:1:
/usr/include/features.h:150:1: warning: this is the location of the previous definition
g++ -o libcsage.so -shared src/convert.os src/interrupt.os src/mpn_pylong.os src/mpz_pylong.os src/stdsage.os src/gmp_globals.os src/ZZ_pylong.os src/ntl_wrap.os -L/tmp/Work-mabshoff/sage-2.8.11.alpha0/local/lib -lntl -lgmp -lpari
running install
running build
running build_py
running build_ext
running build_scripts
running install_lib
running install_scripts
changing mode of /tmp/Work-mabshoff/sage-2.8.11.alpha0/local/bin/dsage_server.py to 755
changing mode of /tmp/Work-mabshoff/sage-2.8.11.alpha0/local/bin/dsage_worker.py to 755
changing mode of /tmp/Work-mabshoff/sage-2.8.11.alpha0/local/bin/dsage_setup.py to 755
running install_egg_info
Removing /tmp/Work-mabshoff/sage-2.8.11.alpha0/local/lib/python2.5/site-packages/sage-0.0.0-py2.5.egg-info
Writing /tmp/Work-mabshoff/sage-2.8.11.alpha0/local/lib/python2.5/site-packages/sage-0.0.0-py2.5.egg-info

real    0m13.298s
user    0m8.865s
sys     0m2.356s
mabshoff@sage:/tmp/Work-mabshoff/sage-2.8.11.alpha0$ ./sage -t  devel/sage-main/sage/groups/perm_gps/permgroup_element.py
sage -t  devel/sage-main/sage/groups/perm_gps/permgroup_element.py
**********************************************************************
File ""permgroup_element.py"", line 323:
    sage: g([0,1,2,3,4])
Expected:
    [1, 2, 3, 0, 5, 4]
Got:
    [1, 2, 0, 4, 3]
**********************************************************************
1 items had failures:
   1 of   7 in __main__.example_7
***Test Failed*** 1 failures.
For whitespace errors, see the file .doctest_permgroup_element.py
         [3.0 s]
exit code: 256

----------------------------------------------------------------------
The following tests failed:


        sage -t  devel/sage-main/sage/groups/perm_gps/permgroup_element.py
Total time for all tests: 3.0 seconds
mabshoff@sage:/tmp/Work-mabshoff/sage-2.8.11.alpha0$                    
}}}

Cheers,

Michael",mabshoff
3,1281,update compilation failure message with uptodate instructions,packages: standard,sage-5.10,defect,mabshoff,needs_work,2007-11-26T01:30:31-08:00,2010-01-17T10:20:08-08:00,"{{{
[10:24] <mabshoff> I think we should change the failure message if Sage fails to compile to first check 
[10:24] <mabshoff> if it is the latest version and try that before contacting the lists
[10:25] <williamstein> sure.  make it so.
[10:25] <mabshoff> It should also mention to gzip up the log somewhere and post a link instead of sending 
[10:25] <mabshoff> a couple MB to 230+ people.
[10:25] <williamstein> agreed.
[10:25] <mabshoff> Ok, will open tichet.
}}}

Cheers,

Michael",mabshoff
3,1481,a matrix plot is wrong when matrix entries are not representable as floats.,graphics,sage-5.10,defect,was,needs_work,2007-12-12T11:51:52-08:00,2012-05-25T14:22:16-07:00,"{{{
sage: m=matrix(ZZ,1,[16]); m
[16]
sage: matrix_plot(m^10).show()
---------------------------------------------------------------------------
<type 'exceptions.OverflowError'>         Traceback (most recent call last)

/home/grout/.sage/<ipython console> in <module>()

/home/grout/sage/local/lib/python2.5/site-packages/sage/plot/plot.py in show(self, xmin, xmax, ymin, ymax, figsize, filename, dpi, axes, axes_label, frame, fontsize, **args)
    654         if filename is None:
    655             filename = sage.misc.misc.tmp_filename() + '.png'
--> 656         self.save(filename, xmin, xmax, ymin, ymax, figsize, dpi=dpi, axes=axes,frame=frame, fontsize=fontsize)
    657         os.system('%s %s 2>/dev/null 1>/dev/null &'%(sage.misc.viewer.browser(), filename))
    658

/home/grout/sage/local/lib/python2.5/site-packages/sage/plot/plot.py in save(self, filename, xmin, xmax, ymin, ymax, figsize, figure, sub, savenow, dpi, axes, axes_label, fontsize, frame, verify)
    766             if isinstance(g, GraphicPrimitive_MatrixPlot):
    767                 matrixplot = True
--> 768             g._render_on_subplot(subplot)
    769
    770         #adjust the xy limits and draw the axes:

/home/grout/sage/local/lib/python2.5/site-packages/sage/plot/plot.py in _render_on_subplot(self, subplot)
   1102             print ""The possible color maps include: %s""%possibilities
   1103             raise RuntimeError, ""Color map %s not known""%cmap
-> 1104         subplot.imshow(self.xy_data_array, cmap=cmap, interpolation='nearest')
   1105
   1106 # Below is the base class that is used to make 'field plots'.

/home/grout/sage/local/lib/python2.5/site-packages/matplotlib/axes.py in imshow(self, X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, shape, filternorm, filterrad, imlim, **kwargs)
   4053                        filterrad=filterrad, **kwargs)
   4054
-> 4055         im.set_data(X)
   4056         im.set_alpha(alpha)
   4057         self._set_artist_props(im)

/home/grout/sage/local/lib/python2.5/site-packages/matplotlib/image.py in set_data(self, A, shape)
    224             or X.shape[2] > 4
    225             or X.shape[2] < 3):
--> 226             cm.ScalarMappable.set_array(self, X)
    227         else:
    228             self._A = X

/home/grout/sage/local/lib/python2.5/site-packages/matplotlib/cm.py in set_array(self, A)
     65             self._A = A.astype(nx.Float32)
     66         else:
---> 67             self._A = A.astype(nx.Int16)
     68
     69     def get_array(self):

/home/grout/sage/local/lib/python2.5/site-packages/numpy/core/ma.py in astype(self, tc)
   1148     def astype (self, tc):
   1149         ""return self as array of given type.""
-> 1150         d = self._data.astype(tc)
   1151         return array(d, mask=self._mask)
   1152

<type 'exceptions.OverflowError'>: long int too large to convert to int
}}}",jason
3,1517,Make sure a minimum of space is available to build component,packages: standard,sage-5.10,defect,was,new,2007-12-14T18:35:11-08:00,2007-12-14T18:35:11-08:00,"Many people have run out of disc space while building Sage. So check in {{{sage-spkg}}} if at least K MB are free on the partition we are building Sage in. K should be a couple hundred Megabytes in my opinion ;) We might also print a warning once we go below another, higher threshold. 

Cheers,

Michael",mabshoff
3,1538,upgrades of sage_scripts can confuse bash,build,sage-5.10,defect,mabshoff,new,2007-12-16T08:01:56-08:00,2012-10-05T06:18:27-07:00,"Doing an upgrade of sage_scripts may modify files in local/bin while bash is executing them.  This means that bash may attempt to execute some mixture of the old and new versions (which will usually lead to an error, because bash will begin executing the new version in the middle of a line).

Currently Sage includes an effective workaround for this problem... the upgrade is automatically retried if it fails.  However, we can properly fix this by using ""exec"" such that the scripts `spkg/bin/sage` and `local/bin/sage-upgrade` are no longer running.",cwitty
3,1660,maxima interface bug caused by bad use of file when evaluating large input,interfaces,sage-5.10,defect,was,new,2008-01-02T13:07:38-08:00,2008-01-02T13:07:38-08:00,"{{{
> That's weird.  Can you post the _exact_ input
> and output from a complete session where you get
> sage1 as the output from maxima.eval('...')?  Thanks.
>

This is it:
lwdrob@lwdrob-comp:~/Disertatie$ sage
----------------------------------------------------------------------
| SAGE Version 2.9.1, Release Date: 2007-12-24                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------

sage:
maxima.eval('plot2d([-7.5/-0.5*(x-0.5)+8,-7.5/7.5*(x-0.5)+8,-6.5/-0.5*(x-0.5)+8,-6.5/7.5*(x-0.5)+8,-5.5/-0.5*(x-0.5)+8,'+
\
....:
'-5.5/7.5*(x-0.5)+8,-4.5/-0.5*(x-0.5)+8,-4.5/7.5*(x-0.5)+8,-3.5/-0.5*(x-0.5)+8,-3.5/7.5*(x-0.5)+8,-2.5/-0.5*(x-0.5)+8,'+
\
....:
'-2.5/7.5*(x-0.5)+8,-1.5/-0.5*(x-0.5)+8,-1.5/7.5*(x-0.5)+8,-0.5/-0.5*(x-0.5)+8,-0.5/7.5*(x-0.5)+8],'+
\
....: '[x,0,n],[plot_format,gnuplot_pipes],[y, 0, 8],[ylabel,""y""],
[gnuplot_preamble, ""set grid xtics ytics""],[legend,false])')
'sage0'
sage:

There is a tmp file containing the above cmd:
$cat /home/lwdrob/.sage/temp/lwdrob_comp/7280/interface/tmp
sage0 :
plot2d([-7.5/-0.5*(x-0.5)+8,-7.5/7.5*(x-0.5)+8,-6.5/-0.5*(x-0.5)+8,-6.5/7.5*(x-0.5)+8,-5.5/-0.5*(x-0.5)+8,
-5.5/7.5*(x-0.5)+8,-4.5/-0.5*(x-0.5)+8,-4.5/7.5*(x-0.5)+8,-3.5/-0.5*(x-0.5)+8,-3.5/7.5*(x-0.5)+8,-2.5/-0.5*(x-0.5)+8,
-2.5/7.5*(x-0.5)+8,-1.5/-0.5*(x-0.5)+8,-1.5/7.5*(x-0.5)+8,-0.5/-0.5*(x-0.5)+8,-0.5/7.5*(x-0.5)+8],
[x,0,n], [plot_format,gnuplot_pipes], [y,0,8],[ylabel,""y""],
[gnuplot_preamble, ""set grid xtics ytics""],[legend,false])$

Best regards,
}}}

The problem is that the maxima interface should not be assigning to a variable when using a file to evaluate a large input. 

William",was
3,1767,"Add SAGE_ATLAS_LIB, SAGE_ATLAS_TARGZ flags to allow use of external atlas",packages: standard,sage-5.10,defect,mabshoff,new,2008-01-13T15:48:24-08:00,2008-09-30T10:29:25-07:00,"We currently provide a SAGE_FORTRAN flag that lets external fortran be used if the user desires.
Since atlas takes a long time to build, we should have an optional SAGE_ATLAS_LIB flag 
that would accept the path to a directory that contained libatlas, libcblas, libf77blas, and liblapack. The atlas install script will do some tests to ensure these work and will then create symlinks to them in $SAGE_LOCAL/lib

There should also be a SAGE_ATLAS_TARGZ with would be the path to a tar or tar.gz with libatlas, libcblas, libf77blas, and liblapack. These would just be copied into $SAGE_LOCAL/lib

As mentioned some checking needs to be done to ensure the atlas provided is compatible with the fortran we are using, that it actually works, as well as to check that the lapack is the full lapack (8Mb or so) and not a crippled lapack.

",jkantor
3,1773,piecewise functions and integration / arithmetic do not play well together,calculus,sage-5.10,defect,gfurnish,new,2008-01-13T22:02:44-08:00,2011-08-15T07:38:41-07:00,"{{{
On 1/13/08, Hector Villafuerte <> wrote:
> 
> I defined a piecewise function (specifically, a triangular wave) like this:
> 
> sage: f1(x) = -abs(x) + 1
> sage: f2(x) = abs(x - 2) - 1
> sage: tri_wave = piecewise([ [(-1,1), f1], [(1,3), f2]])
> 
> One can plot it and it looks very nice:
> 
> sage: tri_wave.plot()
> 
> But while calculating this integral I get ""ValueError: Value not
> defined outside of domain.""
> 
> sage: integrate(tri_wave(x)^2, x, -1, 3)
> 
> Is there a way to integrate piecewise-defined functions?
> As always, thanks for your help,

This is clearly broken.  As a band-aide, you can at least
numerically integrate as follows:

sage: integral_numerical(lambda x: tri_wave(x)^2, -1, 3)
(1.3333333333333333, 1.4765966227514582e-14)

The first output (1.3333...) is the answer, and the second is an error bound.

 -- William
}}}",was
3,1781,preparser bug involving backslash-to-continue line,user interface,sage-5.10,defect,robertwb,new,2008-01-14T22:41:55-08:00,2008-01-14T23:19:16-08:00,"{{{


On Jan 14, 2008 10:33 PM, Dan Drake <> wrote:
> On Mon, 14 Jan 2008 at 05:05PM -0800, William Stein wrote:
> > On Jan 14, 2008 5:00 PM, Dan Drake <> wrote:
> > > In a .sage script file, I have:
> > >
> > >   maple.eval('plotsetup(ps, plotoutput=`logplot.eps`, \
> > >     plotoptions=`portrait,noborder,color`)')
> > >   maple.eval('plot(log(2*x), x=1..2,filled=true,color=yellow, \
> > >     view=[.75..2.25,0..1.5])')
> > >
> > > but the corresponding .py file has, for the second command,
> > >
> > >   maple.eval('plot(log(2*x), x=1..2,filled=true,color=yellow, \
> > >     view=(ellipsis_range(.75,Ellipsis,2.25,0,Ellipsis,1.5)))')
> > >
> > > Maple obviously doesn't understand this. It seems the preparser is a
> > > bit too eager; it needs to ignore stuff that will get passed to
> > > Maple or whatever. Can this be fixed?
> >
> > The problem is the multiple lines.  Try the same thing but without the
> > \ at the end of the line and see what happens.
> 
> It works fine in that case...which I discovered (naturally) a minute or
> two after sending the message.
> 
> Looks like the preparser is not aware of the
> backslash-continues-the-line convention.

The parts of the preparser I wrote are:

sage: v = '1 + \
....: 3'
sage: v
'1 + 3'

But Robert B. wrote the really cool [n..m] parser code,
and unfortunately he appears to have written it in a way that
does not work correctly with \'s.  He'll undoubtedly see
this and fix it. 

William
}}}",was
3,1848,Elliptic curve Sha an documentation misleading about proof,elliptic curves,sage-5.10,defect,was,new,2008-01-19T04:51:26-08:00,2009-07-20T12:46:45-07:00,"The sha an function:
{{{
sage: E = EllipticCurve('37a')
sage: Sha = E.sha(); Sha
<class 'sage.schemes.elliptic_curves.sha.Sha'>
sage: Sha.an()
1    
}}}
has help that at the beginning misleadingly suggests that it is provably correct when the analytic rank is 1.  Looking at the code, it is clear that currently it is not provably correct except when the rank is 0 and a Manin constant hypothesis holds (which does hold for Cremona's curves). 

Fix: 
   1. Have a proof=False flag that keeps the current implementation
   2. Have a proof=True flag that fails if the Manin constant isn't known by a theorem to be <=2, and which runs new provably correct code in the case of analytic rank 1. ",was
3,1896,Gracefully handle 3d plotting when no java,graphics,sage-5.10,defect,was,new,2008-01-23T10:27:47-08:00,2008-01-23T10:27:47-08:00,"{{{
On Jan 23, 2008, at 9:47 AM, Simon King wrote:

Dear Michael,

On Jan 23, 11:22 am, mabshoff <Michael.Absh...@fsmath.mathematik.uni-
dortmund.de> wrote:
<snip>
What is a JDK?

I was just running yast and was searching for JDK. It showed me three
packages: java-1_4_2-caco-devel, ldapjdk and ldapjdk-javadoc. None of
them is installed. Should i?

A java development toolkit. We have had some reports about jmol not
working where installing the Sun JDK solved the issue.

Thank you! It did solve it, jmol works now. The notebook doesn't, but
i understood this will be solved in another alpha-version.

In sage-2.10, that i obtained without installing java-1_4_2-caco-
devel, ldapjdk and ldapjdk-javadoc, there was no problem with jmol.
Is the dependency on JDK new?

To use jmol, all one needs is the Java runtime environment (not the full JDK).

If so, i think it should be mentioned in
http://modular.math.washington.edu/sage/doc/html/inst/node5.html

For interactive 3d plots, yes. I think if no viewer is specified, and it detects java is not installed, then it should render in Tachyon (perhaps printing a warning that Java was not found). From the notebook, there is usually a big grey box with a ""must install java plugin to view this content"" warning that should be sufficient.

- Robert

}}}",robertwb
3,1912,Displaying a list of graphic objects prints what appears to be an empty list,graphics,sage-5.10,defect,was,new,2008-01-24T08:08:14-08:00,2011-02-16T14:12:31-08:00,"{{{

> As a final comment, I'll note that the following behavior with objects
> which automatically display is interesting:
> 
> sage: C=circle((0,0),1);P=plot(sin,0,1)
> sage: [C,P]
> [, ]
> 
> and then a display of circle above a plot of sin (in the notebook) or
> two separate pictures (in the command line).  I have no idea what, if
> any, connection should be made with this work, though.

I think it is just printing out the list for you to see and the ""print"" function for a graphics object displays the object, so you see each object ""printed"" out.

It would be nice if the text display indicated this, instead of ""[, ]"".  Maybe something like ""[<Graphic object>, <Graphic object>]"", since the objects actually are there.  It misleadingly looks like you have an empty list.
}}}
",jason
3,1941,Finish bipartite graph implementation,graph theory,sage-5.10,defect,rlm,new,2008-01-26T12:11:04-08:00,2012-01-28T05:11:48-08:00,"Systematically go through the functions of graph and generic_graph and see which ones, such as add_vertex, need to be overridden in the bipartite graph class so that everything makes sense. Right now, you can add an edge so that the bipartite graph is no longer bipartite.

 1. add to `__cmp__` to distinguish Bipartite from other graphs
 1. loops - this should always be false for bipartite, right? (other functions with ""loops"" in the name)
 1. density - should this reflect ""bipartite density""?
 1. #8330: add_vertex, add_vertices
 1. clear - left & right too?
 1. add left_vertices and right_vertices?
 1. #12376: complement?
 1. #8329: copy
 1. #10959, #8744: add_edge(s)
 1. adjacency_matrix - should this order the vertices a certain way?
 1. add_cycle
 1. add_path
 1. add a function ""bipartite_subgraph"" to preserve class?
 1. bipartite_color, bipartite_sets, is_bipartite",rlm
3,1991,"PSage -- (parallel sage): every time you create a new psage object, the first view shows it as not finished, but it is!",interfaces,sage-5.10,defect,was,new,2008-01-30T20:19:51-08:00,2008-01-30T20:19:51-08:00,"{{{
sage: s = PSage()
sage: a = s('2+2')
sage: a   # wait 10 seconds and press return
<<currently executing code>>
sage: a
4
sage: s = PSage()
sage: a = s('2+2'); s = str(a); a
4
}}}

Notice above that the first output of a says current executing, but that is wrong.
In the second, we query a, and display it and it is already done very quickly. ",was
3,1994,"cython spyx files -- cinclude, clib, issues",user interface,sage-5.10,defect,was,new,2008-01-30T20:34:13-08:00,2012-05-17T20:06:27-07:00,"There are some issues with cython spyx files:

   1. There is *still* nothing in the documentation anywhere in sage about cinclude, clib, etc.  Here's a hint:
{{{
Basically you put
# clang c
# clib  cblas
# cfile myfile.c
# cinclude ""/usr/local/include""
}}}
Questions -- where can one put these?   Must the # be there?  
However this is documented, at a bare minimum typing 
{{{
sage: cython?
sage: load?
sage: attach?
}}}
should give enough information to find docs that clearly explain this cinclude, etc. directives. 

   2. Create a file a.pxi and a file b.pyx.  Put one of the # directives in the .pxi file and include the pxi file in the pyx file.  The directive is ignored.  This caused a ton of confusion today.   ",was
3,1995,load/attach spyx file --several confusing issues.,user interface,sage-5.10,defect,was,new,2008-01-30T20:38:41-08:00,2008-01-30T20:38:41-08:00,"This is about load/attach spyx file, or doing cython('...').    
The autogenerated code is:
  1. very hard to find.  Probably by default running load/attach/cython should display info about the location of the compiled file by default the first time the file is compiled.  Make it easier to silence (say via some sort of cython.verbose function, whose existence is printed as part of the verbose message). 

  2. The generated C code should be annoted with original source lines

  3. There's no way to get the html markup of the annoted code like in the notebook.  This should be generated by default. 

",was
3,2031,serious preparser lameness involving time and comments,user interface,sage-5.10,defect,was,new,2008-02-02T00:36:25-08:00,2012-01-08T18:03:46-08:00,"It would be fair to argue that this is pretty sucky behavior in Sage:

{{{
teragon:~ was$ build/sage-2.10.1.rc4/sage
----------------------------------------------------------------------
| SAGE Version 2.10.1.rc4, Release Date: 2008-01-31                  |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------

sage: time 2 + 2     # can Sage add 2 and 2?
Object `time Integer(2) + Integer(2)     # can Sage add 2 and 2` not found.
sage: time 2 + 2     # Sage can add 2 and 2
------------------------------------------------------------
   File ""<timed exec>"", line 1
     Integer(2) + Integer(2)     \# Sage can add 2 and 2
                                                       ^
<type 'exceptions.SyntaxError'>: unexpected character after line continuation character

}}}

I'm to blame for both bugs, of course... :-)",was
3,2034,{{{__floordiv__}}} should be part of coercion model,coercion,sage-5.10,defect,robertwb,new,2008-02-02T05:52:56-08:00,2009-07-11T06:19:42-07:00,but it isn't,malb
3,2044,make sage -upgrade work with caching proxy servers,distribution,sage-5.10,defect,mabshoff,new,2008-02-03T20:39:10-08:00,2008-02-08T13:33:52-08:00,"In http://groups.google.com/group/sage-devel/t/e88f02da4c345cb7 Phil reports the following problem:
{{{
Hello,

I had many troubles getting the upgrade through a caching proxy on
which I've no control.
When running sage -upgrade, the proxy didn't let me getting the latest
versions, which made troubles with the critical files:
http://www.sagemath.org/packages/standard/list
http://www.sagemath.org/packages/standard/deps
http://www.sagemath.org/packages/standard/newest_version
http://www.sagemath.org/packages/standard/README
http://www.sagemath.org/packages/install

I could get around by providing manually the files and skipping the
download in local/bin/sage-update

But would it be possible to add some anti-caching headers to the
official sage server for those files?
It'd help a lot all people like me with a sage install behind caching
proxy.
Sth like:
 Expires: Mon, 26 Jul 1997 05:00:00 GMT""
 Cache-Control: no-store, no-cache, must-revalidate""
 Cache-Control: post-check=0, pre-check=0"", false
 Pragma: no-cache

Phil 
}}}",mabshoff
3,2072,Remove _neg_c_impl and _invert_c_impl from some classes.,basic arithmetic,sage-5.10,defect,somebody,new,2008-02-05T23:20:25-08:00,2008-02-06T02:25:32-08:00,"Unary arithmetic operations don't benefit from the coercion model, {{{__neg__}}} and {{{__invert__}}} should be used instead. ",robertwb
3,2114,get gf2x into Sage!,basic arithmetic,sage-5.10,defect,somebody,new,2008-02-08T07:12:20-08:00,2012-07-10T14:57:01-07:00,"Check out http://wwwmaths.anu.edu.au/~brent/gf2x.html

It's:
  * by very well respected people
  * GPL'd (v2 or later)
  * Small pure C code:
{{{
dhcp46-72:gf2x-0.1 was$ ls
BestToom.c          README              ToomSpace.c         gen_bb_mul_code.c   mul-tc3w.c          mul2t.c             tune1               tuneup.c
COPYING             TC.h                cantor              mul-tc3.c           mul-tc4.c           mulfft-bit.c        tunefft.c
HalfGCD.c           Toom.c              factor.c            mul-tc3u.c          mul.c               patch-wrt-ntl-5.3.1 tunetoom.c
dhcp46-72:gf2x-0.1 was$ usage
4	BestToom.c
4	README
4	TC.h
4	Toom.c
4	ToomSpace.c
4	patch-wrt-ntl-5.3.1
4	tune1
4	tuneup.c
8	gen_bb_mul_code.c
8	mul2t.c
8	tunefft.c
12	mul-tc3.c
12	mul-tc3u.c
12	mul-tc3w.c
12	mul-tc4.c
12	tunetoom.c
16	HalfGCD.c
16	mul.c
20	COPYING
28	mulfft-bit.c
40	factor.c
132	cantor
368	total
}}}
    * and Paul Z. says: 
{{{
for your information, on http://wwwmaths.anu.edu.au/~brent/gf2x.html you will
find an implementation up to 5 times faster than NTL's GF2X (for degree 2^20).
}}}

",was
3,2120,Maple interface completely broken with Maple 11,interfaces,sage-5.10,defect,was,needs_work,2008-02-08T16:01:19-08:00,2013-02-16T09:30:52-08:00,"This is what we get for not running the optional doctests. Maple 10 still works fine. With Maple 11 the Sage interface is completely totally broken:

{{{
	sage -t --only-optional=maple devel/sage/sage/symbolic/expression.pyx # 2 doctests failed
	sage -t --only-optional=maple devel/sage/sage/symbolic/integration/integral.py # 2 doctests failed
	sage -t --only-optional=maple devel/sage/sage/calculus/calculus.py # 1 doctests failed
	sage -t --only-optional=maple devel/sage/sage/misc/functional.py # 1 doctests failed
	sage -t --only-optional=maple devel/sage/sage/tests/benchmark.py # 5 doctests failed
	sage -t --only-optional=maple devel/sage/sage/interfaces/maple.py # 123 doctests failed
}}}",was
3,2352,univariate homogenize is not the same as multivariate homogenize,commutative algebra,sage-5.10,defect,malb,new,2008-02-29T00:24:09-08:00,2008-09-20T08:55:44-07:00,"Ticket #2349 fixes the multivariate case.  This ticket is for the univariate case.  Some examples (these work after like this AFTER #2349 has been applied):

{{{
sage: x = Zmod(3)['x'].0; (x^2 + x).homogenize()
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'>        Traceback (most recent call last)

/Users/ncalexan/<ipython console> in <module>()

<type 'exceptions.AttributeError'>: 'sage.rings.polynomial.polynomial_modn_dense_ntl.Po' object has no attribute 'homogenize'
sage: x = PolynomialRing(Zmod(3), 1, 'x').0; (x^2 + x).homogenize()
x^2 + x*h
sage: x = GF(3)['x'].0; (x^2 + x).homogenize()
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'>        Traceback (most recent call last)

/Users/ncalexan/<ipython console> in <module>()

<type 'exceptions.AttributeError'>: 'sage.rings.polynomial.polynomial_modn_dense_ntl.Po' object has no attribute 'homogenize'
sage: x = PolynomialRing(GF(3), 1, 'x').0; (x^2 + x).homogenize()
x^2 + x*h
}}}",ncalexan
3,2567,import MPFR_PREC_MAX from mpfr.h instead of hard coding it to the 32 bit limit,basic arithmetic,sage-5.10,defect,somebody,needs_work,2008-03-17T00:03:24-07:00,2013-01-07T00:43:50-08:00,"The discussion below is besides the point. The main issue is that we define MPFR_PREC_MAX in Sage's sources instead of pulling it in from mpfr.h. We do hard code the 32 bit value, so on 64 bit boxen we limit the user to much lower precision than is actually technically feasible as pointed out below.

Cheers,

Michael

{{{
> >  CODE:
>
> >  s = pi.str(3000000*log(10,2))
> >  o = open('/Users/ericahls/Desktop/file.txt','w')
> >  o.write(str(s))
> >  o.close()
>
> >  --- Trying to get out to the farthest decimal point of PI I can.
>
> >  Error message:
>
> >  Traceback (most recent call last):    o.write(str(s))
> >   File ""/Applications/sage/local/lib/python2.5/site-packages/sage/
> >  functions/functions.py"", line 140, in str
> >     raise ValueError, ""Number of bits must be at most 2^23.""
> >  ValueError: Number of bits must be at most 2^23.
>
> >  ----If i Put 2000000 instead 0f 3000000 the equation works.  much over
> >  2 million the equation breaks dwon.
>
> I think that 2^23 is a bound in mpfr, and Sage uses mpfr to
> compute digits of pi.  I don't know if one can compute more than
> about 2^23 digits using mpfr.
>
> William


Yes we can. The issue was that MPFR used the stack instead of the heap
for certain operations [even when told not to use alloca] and would
smash it therefore with large number of digits. That has been fixed in
MPFR 2.3.1 (which we include) and all we need to do is to raise or
remove the limit in our code and do some testing. Care to open a
ticket?

 -- Mabshoff
}}}",was
3,2617,"solve() can return undefined points as ""solutions""",calculus,sage-5.10,defect,was,new,2008-03-20T13:22:24-07:00,2011-06-15T14:21:49-07:00,"Consider the following examples (reported by Dean Moore here: http://groups.google.com/group/sage-support/browse_thread/thread/5555e780a76b3343#)
{{{
sage: solve(sin(x^2)/x == 0)
[x == 0]
sage: solve(sin(x^2)/x^2 == 0)
[x == 0]
sage: solve(sin(x^2)/x^3 == 0)
[x == 0]
}}}
None of these functions are even defined at x=0, so that should not be returned as a solution.  (The first two functions can be extended to x=0 by taking limits, in which case x=0 is a solution to the first one but not the second; the third function has a vertical asymptote at x=0.)",cwitty
3,3015,introspecting Cryto.DES using DES?? should throw an error message instead of displaying binary junk,user interface,sage-5.10,defect,was,new,2008-04-23T20:54:06-07:00,2008-04-25T21:32:14-07:00,"In sage-3.0 on OSX and linux (sage.math.washington.edu) if you do the following:
{{{
  sage: from Crypto.Cipher import DES
  sage: DES??
}}}
You get a bunch of binary garbage on your screen. I tried the same thing in vanilla ipython and it correctly told me that it could not open the source file. ",yi
3,3099,Singular crashes on OSX in 32 bit mode,commutative algebra,sage-5.10,defect,mabshoff,new,2008-05-03T14:00:46-07:00,2008-05-29T00:06:45-07:00,"Singular crashes at degree 13 on intel core duo machine (mac os 10.5.2) when running ""fano7.sage"" with user command ""run2(1,20)"".  See attached files (fano7.sage, crash.txt}.  You may want to try ""run(12,20)"" to get to the crash more quickly.  Also, ""run2(19,40)"" crashed a quad core ppc machine with 8 gigs of memory.  The crash occurred before there was any significant output.",jxxcarlson
3,3131,README.txt: update recommendations for dev work with binaries,documentation,sage-5.10,defect,mabshoff,new,2008-05-08T05:47:56-07:00,2008-05-08T05:53:45-07:00,"{{{
Aside from all the other issues: You should *always* rebuild the Sage
library of a binary build before running clone. Otherwise each clone
requires a complete rebuild. Aside from that it is *highly*
recommended to build from source if you are developing since mixing
and matching different compiler releases [even on OSX] can lead to odd
results, i.e. Heisenbugs and segfaults.
}}}

Cheers,

Michael",mabshoff
3,3140,make sure Sage build prerequsists are available when running -upgrade,build,sage-5.10,defect,mabshoff,new,2008-05-09T03:32:07-07:00,2009-06-15T16:19:38-07:00,"People want to upgrade Sage they installed as a binary. That doesn't work too well if they don't have the needed devtools.

Cheers,

Michael",mabshoff
3,3250,Parent does not have a cdef class default hash,coercion,sage-5.10,defect,robertwb,new,2008-05-17T19:33:23-07:00,2008-12-10T23:42:19-08:00,"Parent does has a default hash for python classes, but not for cython classes.  This leads to very subtle bugs where converting a python class to a cython class can result in coercion failing mysteriously.  Either coercion should be more descriptive with its error messages resulting from lack of a hash function or Parent should get a default cdef hash function.",gfurnish
3,3299,memleak in PolyBoRi interface,memleak,sage-5.10,defect,mabshoff,new,2008-05-25T10:14:26-07:00,2008-05-29T04:51:13-07:00,"{{{
==2143== 80 bytes in 2 blocks are still reachable in loss record 481 of 2,900
==2143==    at 0x4C1FFAB: malloc (vg_replace_malloc.c:207)
==2143==    by 0x2158F146: MMalloc (safe_mem.c:62)
==2143==    by 0x215C47AB: cuddInitTable (cuddTable.c:402)
==2143==    by 0x215C4252: Cudd_Init (cuddInit.c:141)
==2143==    by 0x2154B875: polybori::CDDManager<polybori::CCuddInterface>::CDDManager(unsigned) (CCuddCore.h:121)
==2143==    by 0x2154907D: polybori::BoolePolyRing::BoolePolyRing(unsigned, int,bool) (BooleRing.h:80)
==2143==    by 0x215081B8: __pyx_pf_4sage_5rings_10polynomial_5pbori_21BooleanPolynomialRing___init__(_object*, _object*, _object*) (ccobject.h:50)
...
==2143== 160 bytes in 2 blocks are still reachable in loss record 534 of 2,900
==2143==    at 0x4C1FFAB: malloc (vg_replace_malloc.c:207)
==2143==    by 0x2158F146: MMalloc (safe_mem.c:62)
==2143==    by 0x215C43A3: Cudd_Init (cuddInit.c:183)
==2143==    by 0x2154B875: polybori::CDDManager<polybori::CCuddInterface>::CDDManager(unsigned) (CCuddCore.h:121)
==2143==    by 0x2154907D: polybori::BoolePolyRing::BoolePolyRing(unsigned, int,bool) (BooleRing.h:80)
==2143==    by 0x215081B8: __pyx_pf_4sage_5rings_10polynomial_5pbori_21BooleanPolynomialRing___init
__(_object*, _object*, _object*) (ccobject.h:50)
}}}

So it seems we are allocating a buffer for Cudd each time we create a ring but this buffer keeps increasing and is never free'd?
",malb
3,3351,update SAGE_ROOT/COPYING.txt to clarify situation wrt Maxima license,packages: standard,sage-5.10,defect,mabshoff,new,2008-06-02T06:43:34-07:00,2008-06-02T08:21:46-07:00,"See 

   http://www.math.utexas.edu/pipermail/maxima/2008/011882.html

where we learn that Maxima is GPLv2 only, not GPLv2+.  This means that
we can not binary link Maxima and Sage. 

Something from the email at the above link should be mentioned in the
COPYING.txt file, and the statement at the top of COPYING.txt that

""Every component of SAGE except jsmath is licensed under a GPL v2 (or
later) compatible license."" may need to be changed to

""Every component of SAGE except jsmath is licensed under a GPL v2 compatible
or GPLv2+  compatible license.  All components that are binary linked
to Sage are GPLv2+.""


ALTERNATIVELY: I would greatly prefer to just have the GPLv2 only
stuff in Maxima changed to GPLv2+ to avoid this problem altogether. 

",was
3,3354,Bug in power series sqrt,basic arithmetic,sage-5.10,defect,somebody,new,2008-06-02T19:16:22-07:00,2008-11-13T22:17:24-08:00,"{{{
sage: t = QQ[['t']].0
sage: sqrt(1+t)
1 + 1/2*t - 1/8*t^2 + 1/16*t^3 - 5/128*t^4 + 7/256*t^5 - 21/1024*t^6 + 33/2048*t^7 - 429/32768*t^8 + 715/65536*t^9 - 2431/262144*t^10 + 4199/524288*t^11 - 29393/4194304*t^12 + 52003/8388608*t^13 - 185725/33554432*t^14 + 334305/67108864*t^15 - 9694845/2147483648*t^16 + 17678835/4294967296*t^17 - 64822395/17179869184*t^18 + 119409675/34359738368*t^19 + O(t^20)
sage: sqrt(2+t)
------------------------------------------------------------
Traceback (most recent call last):
  File ""<ipython console>"", line 1, in <module>
  File ""/Users/robert/sage/current/local/lib/python2.5/site-packages/sage/calculus/calculus.py"", line 7664, in __call__
    return x.sqrt(*args, **kwds)
  File ""power_series_ring_element.pyx"", line 1120, in sage.rings.power_series_ring_element.PowerSeries.sqrt (sage/rings/power_series_ring_element.c:7887)
<type 'exceptions.ValueError'>: power series does not have a square root since it has odd valuation.
}}}

Perhaps the error is just bad, but it should be able to compute this by extending to a field with  sqrt(2). ",robertwb
3,3360,Upgrade sympow to the 1.023 release and also fix Solaris/x86 problem,packages: standard,sage-5.10,defect,mabshoff,new,2008-06-04T08:51:07-07:00,2009-03-01T20:55:47-08:00,"Sympow 1.019 is already upstream in Debian, so let's upgrade.

Cheers,

Michael",mabshoff
3,3368,bug in CartesianProduct,combinatorics,sage-5.10,defect,mhansen,new,2008-06-04T15:07:22-07:00,2009-04-13T19:28:21-07:00,"Hi,

The following is a bug that Bill Page found in Sage.  It is in the combinatorial
classes code  (mostly) by Mike Hansen, so maybe he'll fix it. 

{{{
In: http://modular.math.washington.edu/msri06/work/kohel/msri_magma.pdf

 ""A Brief Magma Tutorial"" by David R. Kohel gives this example:

----------

The parent structure of a tuple is more important than in the case
of sequences or sets.
> C := CartesianProduct(Integers(),RationalField());
> t := C!<1,1>;
> Parent(t[2]);
Rational Field

----------

The analogous computation in Sage 3.0.2 yields:

sage: C = CartesianProduct(Integers(),RationalField())

# case 1
sage: t=C([1,1/2])
sage: parent(t[0])
Integer Ring
sage: parent(t[1])
Rational Field

# case 2
sage: t=C([1,1])
sage: parent(t[0])
Integer Ring
sage: parent(t[1])
Integer Ring

---------

Notice that the parent of t[1] is incorrect in the 2nd case.
}}}",was
3,3375,"[with patch, mixed review] Fix building ntl on Solaris with make and ld",build,sage-5.10,defect,mabshoff,needs_work,2008-06-05T18:22:51-07:00,2009-12-02T20:55:35-08:00,"OK so here is what got me through ntl on David's box.
The mfile patch is against the copy in the ntl patch folder 
not the source. It also patch ntl spkg-install to properly
setup and tune ntl as well as cleaning the installation bits
introduced to accommodate Tim & I.
I guess Tim and I will have to fend for ourselves separately.
Also we submitted a lot of patch in the ntl style. Since
I used some GNU-ism for building shared objects most of
them will have to be revised.

Francois
",fbissey
3,3398,"make ""sage -c"" load init.sage on startup",misc,sage-5.10,defect,cwitty,new,2008-06-10T22:59:08-07:00,2008-06-10T22:59:08-07:00,"{{{
> I have defined a function that starts up the notebook server with my
> desired preferences and placed the function definition into my
> init.sage script, so that whenever I use the command line, I don't
> have to remember the whole thing to start it up. Works fine.
>
> Since I usually go straight to the notebook, I figured just running:
> sage -c ""snote()""
> would do the trick. But apparently init.sage isn't executed before the
> -c command.
>
> I already know ways to start the notebook conveniently from the
> command line so I'm not worried about that, but I was wondering if
> that was the correct and desired behavior of -c. Perhaps we could have
> another similar argument ( -C ?) that executes init.sage before
> executing the command?

I think it's a bug that 'sage -c' doesn't load init.sage first.

Does anybody think differently?  If nobody disagrees, I'll
add a trac ticket.
}}}",was
3,3438,[upstream] GAP is broken with non-trivial CC in env,packages: standard,sage-5.10,defect,mabshoff,needs_info,2008-06-16T11:38:06-07:00,2009-10-06T12:26:35-07:00,"When building Gap with CC set to an absolute path, i.e. {{{CC=/usr/bin/gcc}}}, configure fails. This needs to be fixed in their m4 macros and/or reported upstream.

Cheers,

Michael",mabshoff
3,3504,sage sometimes leaves matlab processes that eat 100% cpu time,interfaces,sage-5.10,defect,was,new,2008-06-24T13:47:54-07:00,2008-06-24T13:47:54-07:00,"I've found a way to somewhat reproducibly leave a matlab process eating 100% cpu time.

I log on to sage.math, start Sage, and run the following commands:
{{{
sage: m = matlab(matrix(RR, [[1]]))
sage: m.det()
}}}
Then I kill my local ssh client with ""kill -9"" (to make a non-clean ssh shutdown).

Often (not always, but I think more than half the time) this leaves a matlab process eating 100% of the cpu time.",cwitty
3,3520,inconsistency in simplify_radical,symbolics,sage-5.10,defect,gfurnish,new,2008-06-27T06:02:02-07:00,2011-09-23T07:46:07-07:00,"This is a problem:

{{{
sage: f = sqrt(25-x)*sqrt(1+1/(4*(25-x)))
sage: f.integral(x,9,16)
integrate(sqrt(1/(4*(25 - x)) + 1)*sqrt(25 - x), x, 9, 16)
sage: f.nintegral(x,9,16)
(24.9153783348643, 2.7661626694613149e-13, 21, 0)
sage: g = f.simplify_radical()
sage: g.integral(x,9,16)
I*(65*sqrt(65)*I/6 - 37*sqrt(37)*I/6)/2
sage: ans = g.integral(x,9,16)
sage: ans.real()
(37*sqrt(37)/6 - 65*sqrt(65)/6)/2
sage: RR(ans.real())
-24.9153783348643
}}}",wdj
3,3603,memleak in GF(2^n),memleak,sage-5.10,defect,malb,new,2008-07-08T04:06:59-07:00,2011-06-15T18:33:00-07:00,"Valgrind Memcheck:

{{{
48 bytes in 1 blocks are possibly lost in loss record 459 of 3,113
   at 0x4C1FFEB: malloc (vg_replace_malloc.c:207)
   by 0x9BA45D7: NTL::WordVector::DoSetLength(long) (WordVector.c:33)
   by 0x9BA48B9: NTL::WordVector::operator=(NTL::WordVector const& (WordVector.h:80)
   by 0x9B554D1: NTL::operator>>(std::istream&, NTL::GF2E&) (GF2E.h:363)
   by 0x21DE011F: void _from_str<NTL::GF2E>(NTL::GF2E*, char*) (ccobject.h:86)
   by 0x21DD2033: __pyx_pf_4sage_5rings_21finite_field_ntl_gf2e_20FiniteField_ntl_gf2e_gen(_object*, _object*, _object*) (finite_field_ntl_gf2e.cpp:4416)
   by 0x417D72: PyObject_Call (abstract.c:1861)
   by 0xF4342C1: __pyx_pf_4sage_9structure_11parent_gens_14ParentWithGens_gens (parent_gens.c:1926)
   by 0x417D72: PyObject_Call (abstract.c:1861)
   by 0xF43819F: __pyx_pf_4sage_9structure_11parent_gens_14ParentWithGens__first_ngens (parent_gens.c:1377)
   by 0x487F49: PyEval_EvalFrameEx (ceval.c:3561)
   by 0x489855: PyEval_EvalCodeEx (ceval.c:2836)
}}}

Code in question in {{{finite_field_ntl_gf2e.pyx}}}:
{{{
        if PY_TYPE_CHECK(e, gen):
            e = e.lift().lift()
            try:
                GF2E_conv_long(res.x, int(e[0]))
            except TypeError:
                GF2E_conv_long(res.x, int(e))

            g = self._new()
            GF2E_from_str(&g.x, ""[0 1]"") # not the fastest
            x = self._new()
            GF2E_conv_long(x.x,1)

            for i from 0 < i <= e.poldegree():
                GF2E_mul(x.x, x.x, g.x)
                if e[i]:
                    GF2E_add(res.x, res.x, x.x )
            return res
}}}

Doctest which reveals leak: {{{ell_finite_field.py}}}",malb
3,3608,"optimize.py: ""Invalid read of size 8""",memleak,sage-5.10,defect,mabshoff,new,2008-07-08T04:53:08-07:00,2009-06-15T16:22:00-07:00,"{{{
==21694== Invalid read of size 8
==21694==    at 0x21C720A0: Matrix_NewFromArrayStruct (dense.c:244)
==21694==    by 0x21C751EE: matrix_new (dense.c:499)
==21694==    by 0x45E48A: type_call (typeobject.c:422)
==21694==    by 0x41B0FA: PyObject_Call (abstract.c:1861)
==21694==    by 0x4952F3: do_call (ceval.c:3784)
==21694==    by 0x494BAA: call_function (ceval.c:3596)
==21694==    by 0x491174: PyEval_EvalFrameEx (ceval.c:2272)
==21694==    by 0x492E64: PyEval_EvalCodeEx (ceval.c:2836)
==21694==    by 0x494E7C: fast_function (ceval.c:3669)
==21694==    by 0x494B91: call_function (ceval.c:3594)
==21694==    by 0x491174: PyEval_EvalFrameEx (ceval.c:2272)
==21694==    by 0x492E64: PyEval_EvalCodeEx (ceval.c:2836)
==21694==  Address 0x57a1be0 is 0 bytes after a block of size 16 alloc'd
==21694==    at 0x4A1BDEB: malloc (vg_replace_malloc.c:207)
==21694==    by 0x44969A: PyMem_Malloc (object.c:2010)
==21694==    by 0x1D033292: array_struct_get (arrayobject.c:6409)
==21694==    by 0x4EA584: getset_get (descrobject.c:146)
==21694==    by 0x448569: PyObject_GenericGetAttr (object.c:1312)
==21694==    by 0x447F0B: PyObject_GetAttr (object.c:1127)
==21694==    by 0x447CB3: PyObject_GetAttrString (object.c:1069)
==21694==    by 0x21C71DCC: Matrix_NewFromArrayStruct (dense.c:191)
==21694==    by 0x21C751EE: matrix_new (dense.c:499)
==21694==    by 0x45E48A: type_call (typeobject.c:422)
==21694==    by 0x41B0FA: PyObject_Call (abstract.c:1861)
==21694==    by 0x4952F3: do_call (ceval.c:3784)
}}}",mabshoff
3,3680,NumberFieldFractionalIdeal should not be a subclass of Ideal_generic,number fields,sage-5.10,defect,davidloeffler,new,2008-07-19T06:36:55-07:00,2009-07-20T13:08:09-07:00,"Why is {{{NumberFieldFractionalIdeal}}} a subclass of {{{Ideal_generic}}}?

A fractional ideal is '''not''' an ideal.

This makes about as much as sense as having {{{Rational}}} be a subclass of {{{Integer}}}.

This has been discussed before:

http://groups.google.com/group/sage-devel/browse_thread/thread/0b01d58d8c3565c2/c081ba96b5fed6eb?#c081ba96b5fed6eb

And it came up again recently in #1367.

There seem to be serious design issues with the whole algebraic number theory setup in Sage which make it very frustrating to do any serious work on things like #1367.
",dmharvey
3,3685,"[with patch; needs work] make damned sure that ""import sage.all"" doesn't import ipython",misc,sage-5.10,defect,cwitty,needs_work,2008-07-20T07:49:23-07:00,2009-06-15T16:22:20-07:00,"Make sure that doing this does not import ipython:

{{{
teragon-2:~ was$ sage -python
Python 2.5.2 (r252:60911, Jul 10 2008, 00:31:06) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>> import sage.all
}}}",was
3,3745,calculus -- bugs in solve,calculus,sage-5.10,defect,gfurnish,new,2008-07-30T05:45:59-07:00,2013-01-19T17:42:12-08:00,"{{{
On Tue, Jul 29, 2008 at 6:05 PM, jamlatino <medrano.antonio@gmail.com> wrote:
>
> While working on the video tutorial for Sage I tried the following
> equation:
>
> (sin(x) - 8*cos(x)*sin(x))*(sin(x)^2 + cos(x)) - (2*cos(x)*sin(x) -
> sin(x))*(-2*sin(x)^2 + 2*cos(x)^2 - cos(x))
>
> if I use find_root in the interval 1,2 I get the following answer:
> 1.9106332362490561
>
> but when I use solve to find the solution I get
> [x == pi, x == pi/2, x == 0]
>
> pi/2 is 1.57, but when I try find_root in the interval 1.5,1.6 it
> tells me that the equation has no zero in that interval, can someone
> explain??

This appears to me to be a bug as pi/2 is not a solution.
If you do the following it is pretty clear that the 0's are
at 0, 1.9..., etc. and not at pi/2:

sage: f = (sin(x) - 8*cos(x)*sin(x))*(sin(x)^2 + cos(x)) -
(2*cos(x)*sin(x) - sin(x))*(-2*sin(x)^2 + 2*cos(x)^2 - cos(x))
sage: f(pi/2)
-1
sage: f.plot(-1,4)

Sage finds the numerical 0's using a numerical root
finder (from scipy).

Sage finds the exact solutions by calling the computer
algebra system Maxima, which indeed strangely claims that pi/2 is a solution:

(%i1) solve((sin(x)-8*cos(x)*sin(x))*(sin(x)^2+cos(x))-(2*cos(x)*sin(x)-sin(x))*(-2*sin(x)^2+2*cos(x)^2-cos(x))=0,
x);

`solve' is using arc-trig functions to get a solution.
Some solutions will be lost.
                                        %pi
(%o1)                      [x = %pi, x = ---, x = 0]
                                         2

It looks like this might be a bug in Maxima's solve function.

There's not much for me to do besides:
  * report this to the maxima folks (I've cc'd Robert Dodier
in this email),
  * completely rewrite Sage's solve to not use Maxima.

From Robert Dodier:


Yup, that's a bug, all right ... I'll make a bug report.

>    * completely rewrite Sage's solve to not use Maxima.

Well, if you do that, please write it in pure Python so it is easier
to translate to Lisp.

Maxima's code for solving equations has more than a few bugs,
and it's not clear what classes of problems it can handle, nor is
it clear what method is used for each class, and there certainly
are interesting and useful equations which it just can't handle.
All of this motivates a complete rewrite. Not that I'm volunteering;
not yet, anyway.

FWIW

Robert Dodier
}}}

I think we need to rewrite solve for Sage.  Any volunteers?  It will have to wait until we change to use either ""Gary's symbolics"" or ""Sympy"" for Sage's symbolics, since the current symbolics likely don't support enough to make implementing solve practical.",was
3,3791,ATLAS.spkg: add Altivec errata support for Linux PPC,build,sage-5.10,defect,mabshoff,new,2008-08-08T09:15:19-07:00,2008-09-30T10:29:45-07:00,"{{{
I was told that this line means that altivec was not detected.
For atlas on linux ppc with altivec, we should use the options
--cflags='-mregnames' -D c -DATL_AVgcc
for configure ( http://math-atlas.sourceforge.net/errata.html#G4gcc ).

With these options, I had ""Vector ISA Extension configured as  AltiVec (1,2)"".

Best regards,
Bin 
}}}",mabshoff
3,3859,"Line's corner_cutoff is poorly documented, and buggy",graphics,sage-5.10,defect,was,new,2008-08-14T15:11:31-07:00,2010-04-27T08:26:25-07:00,"sage.plot.plot3d.shapes2.Line defines a corner_cutoff parameter.

It functions to smooth lines passed to it if the cosine of the angle is greater than corner_cutoff (why??? - I'm filing another ticket about this).

We want to be able to turn the smoothing of lines off, which would happen if corner_cutoff = 1 worked.

Example of breakage:  (line3d calles sage.plot.plot3d.shapes2.Line)
{{{
line3d([[-1, 3, 369.26], [-1, -10.11, 125.33], [0.21, -10.13, 99.42]], corner_cutoff = 1)
}}}
A doctest sage: from sage.plot.plot3d.shapes2 import Line
{{{
              sage: Line([(0,0,0),(1,0,0),(2,1,0),(0,1,0)], corner_cutoff=1).corners()
              [(0, 0, 0), (1, 0, 0), (2, 1, 0)]
}}}
Works, but calling line3d or Line with these parameters fails with NoneType object unsubscriptable.



",mclean
3,3861,"automatic line smoothing shouldn't be automatic, or should at least be documented",graphics,sage-5.10,defect,was,new,2008-08-14T15:19:12-07:00,2010-04-27T08:27:16-07:00,"line3d for instance calls Line in 

/usr/local/sage/3.0.6/devel/sage/sage/plot/plot3d/shapes2.py

Which automatically applies some smoothing using corner_cutoff, which is buggy and poorly documented as in Ticket 3859:
http://trac.sagemath.org/sage_trac/ticket/3859

(See above Ticket for an example of how this can be bad.)

It is important that I plot lines directly, and automatic smoothing should either not be automatic, or should be documented,
even for functions that do not reference the smoothing directly like in Line3d.  Perhaps a 'smooth' keyword is more informative than the undocumented corner_cutoff.

The smoothing is done in the Line class object, and not in pmol, so it can (and should!) be selectively applied.

Fixing the referenced ticket is a workaround (set corner_cutoff = 1), but is very clunky, and currently does not even work.






",mclean
3,3862,axes in jmol in the wrong place,graphics,sage-5.10,defect,was,new,2008-08-14T15:27:04-07:00,2013-04-14T19:16:38-07:00,"Example:
{{{
var('x')
var('y')
plot3d(cos(x) + sin(y), (x, -2,1), (y, -2,1), axes = True)
}}}

At least one axis is in the right location, the other two...

Translating coordinates into jmol seems to be difficult, so maybe this is the reason?
",mclean
3,3865,Bug in conversion from gp elements to p-adics,interfaces,sage-5.10,defect,craigcitro,new,2008-08-14T19:38:07-07:00,2008-09-28T23:26:56-07:00,"David Loeffler ran into the following:

{{{
sage: v = gp.polrootspadic(x^2-2, 7, 20)[1]

sage: R = Zp(7, 10, ""capped-rel"")

sage: R(v)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Users/craigcitro/<ipython console> in <module>()

/Users/craigcitro/three-one/local/lib/python2.5/site-packages/sage/rings/padics/padic_generic.py in __call__(self, x, absprec, relprec)
     82             Casts x into self.  Uses the constructor of self._element_class.
     83         """"""
---> 84         return self._element_class(self, x, absprec, relprec)
     85 
     86     def _coerce_impl(self, x):

/Users/craigcitro/padic_capped_relative_element.pyx in sage.rings.padics.padic_capped_relative_element.pAdicCappedRelativeElement.__init__ (sage/rings/padics/padic_capped_relative_element.c:4872)()

/Users/craigcitro/rational.pyx in sage.rings.rational.Rational.__init__ (sage/rings/rational.c:3767)()

/Users/craigcitro/rational.pyx in sage.rings.rational.Rational.__set_value (sage/rings/rational.c:4567)()

/Users/craigcitro/three-one/local/lib/python2.5/site-packages/sage/interfaces/expect.py in _rational_(self)
   1393     def _rational_(self):
   1394         import sage.rings.all
-> 1395         return sage.rings.all.Rational(repr(self))
   1396 
   1397     def name(self, new_name=None):

/Users/craigcitro/rational.pyx in sage.rings.rational.Rational.__init__ (sage/rings/rational.c:3767)()

/Users/craigcitro/rational.pyx in sage.rings.rational.Rational.__set_value (sage/rings/rational.c:4533)()

TypeError: unable to convert 3 + 7 + 2*7^2 + 6*7^3 + 7^4 + 2*7^5 + 7^6 + 2*7^7 + 4*7^8 + 6*7^9 + 6*7^10 + 2*7^11 + 7^12 + 7^13 + 2*7^15 + 7^16 + 7^17 + 4*7^18 + 6*7^19 + O(7^20) to a rational
}}}

The trouble is that the code in the `__init__` method for `pAdicCappedRelativeElement`s only looks for Pari `gen` objects, not `GpElement`s. The fix should be trivial, but I'm going to look at it tomorrow.",craigcitro
3,3899,massive unpickle problems,misc,sage-5.10,defect,cwitty,new,2008-08-19T10:44:49-07:00,2008-08-20T13:57:12-07:00,"I grabbed the 3.0.5 pickle jar from #3482, and tried it in 3.1.1.  The following all fail to unpickle.

{{{
** failed:  _class__sage_modular_modform_element_ModularFormElement__.sobj
** failed:  _class__sage_modular_abvar_finite_subgroup_TorsionPoint__.sobj
** failed:  _class__sage_combinat_crystals_tensor_product_TensorProductOfCrystals__.sobj
** failed:  _class__sage_modular_modform_eisenstein_submodule_EisensteinSubmodule_g0_Q__.sobj
** failed:  _class__sage_combinat_root_system_weyl_group_WeylGroupElement__.sobj
** failed:  _class__sage_modular_modform_element_ModularFormElement_elliptic_curve__.sobj
** failed:  _class__sage_modular_modform_ambient_g0_ModularFormsAmbient_g0_Q__.sobj
** failed:  _class__sage_modular_abvar_abvar_ambient_jacobian_ModAbVar_ambient_jacobian_class__.sobj
** failed:  _class__sage_modular_modform_ambient_g1_ModularFormsAmbient_g1_Q__.sobj
** failed:  _class__sage_modular_modform_numerical_NumericalEigenforms__.sobj
** failed:  _class__sage_modular_abvar_finite_subgroup_FiniteSubgroup_lattice__.sobj
** failed:  _class__sage_modular_abvar_lseries_Lseries_complex__.sobj
** failed:  _class__sage_combinat_root_system_weyl_group_WeylGroup_gens__.sobj
** failed:  _class__sage_modular_abvar_homology_RationalHomology__.sobj
** failed:  _class__sage_modular_abvar_lseries_Lseries_padic__.sobj
** failed:  _class__sage_modular_abvar_torsion_subgroup_RationalTorsionSubgroup__.sobj
** failed:  _class__sage_modular_modsym_ambient_ModularSymbolsAmbient_wtk_g0__.sobj
** failed:  _class__sage_structure_sequence_Sequence__.sobj
** failed:  _class__sage_modular_abvar_homology_IntegralHomology__.sobj
** failed:  _class__sage_combinat_root_system_weyl_characters_WeylCharacter__.sobj
** failed:  _class__sage_modular_modform_cuspidal_submodule_CuspidalSubmodule_g1_Q__.sobj
** failed:  _class__sage_modular_abvar_homology_Homology_over_base__.sobj
** failed:  _class__sage_combinat_root_system_weyl_characters_WeightRing__.sobj
** failed:  _class__sage_modular_modsym_subspace_ModularSymbolsSubspace__.sobj
** failed:  _class__sage_modular_modform_ambient_eps_ModularFormsAmbient_eps__.sobj
** failed:  _class__sage_modular_modform_ambient_R_ModularFormsAmbient_R__.sobj
** failed:  _class__sage_modular_abvar_abvar_newform_ModularAbelianVariety_newform__.sobj
** failed:  _class__sage_combinat_root_system_weyl_characters_WeylCharacterRing_class__.sobj
}}}",was
3,3999,"[with patch, needs work] Wrapper class to treat additive groups as multiplicative goups",basic arithmetic,sage-5.10,defect,somebody,needs_work,2008-08-30T04:27:57-07:00,2009-01-24T13:39:17-08:00,"This will greatly facilitate writing generic code. 

{{{
        sage: from sage.groups.multiplicative_wrapper import MultiplicativeWrapper

        sage: R.<x,y> = ZZ[]
        sage: G = MultiplicativeWrapper(R)
        sage: a, b = G(x), G(y)
        sage: a^2 * b^5 * a
        (3*x + 5*y)
        sage: a/b
        (x - y)

        sage: E = EllipticCurve('37a')
        sage: P = E([0,0])
        sage: G = MultiplicativeWrapper(P.parent(), repr_format=None); G

        sage: a = G(P); a
        (0 : 0 : 1)
        sage: b = G(5*P); b
        (1/4 : -5/8 : 1)
        sage: a^2 * b
        (-5/9 : 8/27 : 1)
        sage: 7*P
        (-5/9 : 8/27 : 1)
        sage: 10*P == a^10
        True

}}}",robertwb
3,4039,choose one name for  partial fraction decompositions,algebra,sage-5.10,defect,tbd,new,2008-09-02T08:41:20-07:00,2010-09-18T16:38:28-07:00,"Two different ways to do partial fractions should have the same function name:

{{{
sage: x=polygen(QQ)
sage: f=(x - 3)/((x +1)*(x-1))
sage: f.partial_fraction_decomposition()
(0, [-1/(x - 1), 2/(x + 1)])
sage: x=var('x')
sage: f=(x - 3)/((x +1)*(x-1))
sage: f.partial_fraction()
2/(x + 1) - 1/(x - 1)
}}}

An added bonus would be if they gave similar output (currently one gives a list, the other gives an expression).",jason
3,4306,bug in supersingular module,modular forms,sage-5.10,defect,craigcitro,needs_work,2008-10-16T02:17:19-07:00,2010-01-22T18:02:41-08:00,"{{{
sage: X = SupersingularModule(389)
sage: X
Module of supersingular points on X_0(1)/F_389 over Integer Ring
sage: X.basis()
Traceback (most recent call last):
...
AttributeError: 'SupersingularModule' object has no attribute 'free_module'
}}}",was
3,4331,sage-vmware image - add keyboard reconfigure option,distribution,sage-5.10,defect,mabshoff,new,2008-10-20T09:26:21-07:00,2008-10-20T09:26:21-07:00,"Change the sage vmware image so there is another login option:

{{{
login: keyboard
}}}

This would run {{{dpkg-reconfigure console-setup}}}
as suggested by Martin Rubey in email:
{{{
>
> Sorry, I meant, of all the things you tried was
> just typing
>
>    dpkg-reconfigure console-setup
>
> the one and only thing you did, and that it worked?

Nearly: you will then be asked some simple questions which are obvious to
answer if you do not have an english keyboard.

-- Martin Rubey
}}}",was
3,4421,create an optional singular_surf.spkg,packages: optional,sage-5.10,defect,mabshoff,new,2008-11-01T19:31:43-07:00,2008-11-01T19:31:43-07:00,"We have removed the Java binaries required for surf (which is part of Singular). Since there are optional doctests in sage/rings/polynomial/multi_polynomial_ideal.py that depend on it and since people have complained about it not being available we should add it back via an optional spkg.

Cheers,

Michael",mabshoff
3,4422,create new optional sympow_data.spkg,packages: optional,sage-5.10,defect,mabshoff,new,2008-11-01T19:35:04-07:00,2008-11-01T19:35:04-07:00,"Sympow can use additional data files, but we do not install them. So create an optional spkg that recreates those data since they might be dependent on the big size as well as the endianess of the box. To get various optional doctests to pass run 
{{{
sympow -new_data 2
sympow -new_data 1d0
sympow -new_data 1d1
sympow -new_data 1d2
}}}
from $SAGE_LOCAL. There might be other useful sets of data to create. We should ping Mark Watkins about the issue.

Cheers,

Michael",mabshoff
3,4458,tutorial and reference manual should explain NameError,documentation,sage-5.10,defect,afleckenstein,needs_work,2008-11-06T17:39:27-08:00,2013-03-29T15:53:49-07:00,"Perhaps even a blurb about variables being references (if it's not to complicated). However, at the very least there should be something in the calculus section(s) to the effect of ""If you get a NameError, check to see if you either misspelled something or forgot to define a variable with var(...)""
",robertwb
3,4474,A hack in preparsing files is dangerous/confusing,misc,sage-5.10,defect,cwitty,new,2008-11-08T19:16:04-08:00,2008-11-08T19:16:04-08:00,"There is a dangerous hack in preparser.py. Given input file:
{{{
load a.sage
load b.py
}}}
   
Then b.py will be loaded while the file is being *parsed*, and *before* a.sage is loaded.  That would be very confusing.  See the related #4473 and apply that patch before working on this.",was
3,4489,"weird introspection question, specifically with certain objects in cython files",user interface,sage-5.10,defect,was,needs_info,2008-11-09T20:37:58-08:00,2012-12-23T11:13:07-08:00,"There are two weird introspection issues that Jon Hanke pointed out, and I took the time to track down. In particular, there are issues with introspection on top-level `def` and `cpdef` methods in any `.pyx` file. 

Here are two examples of what can go on:
{{{
sage: sage.rings.polynomial.polynomial_element.make_generic_polynomial??
Type:             builtin_function_or_method
Base Class:       <type 'builtin_function_or_method'>
String Form:   <built-in function make_generic_polynomial>
Namespace:        Interactive
Source:
def make_generic_polynomial(parent, coeffs):
    return parent(coeffs)
}}}
The problem here is that the source file that this function comes from does not appear anywhere, even though it should.

However, things can get worse:
{{{
Type:           builtin_function_or_method
Base Class:     <type 'builtin_function_or_method'>
String Form:    <built-in function is_Polynomial>
Namespace:      Interactive
Source:
def is_Polynomial(f):
    """"""
    Return True if f is of type univariate polynomial.

    INPUT:
        f -- an object

    EXAMPLES:
        sage: from sage.rings.polynomial.polynomial_element import is_Polynomial
        sage: R.<x> = ZZ[]
        sage: is_Polynomial(x^3 + x + 1)
        True
        sage: S.<y> = R[]
        sage: f = y^3 + x*y -3*x; f
        y^3 + x*y - 3*x
        sage: is_Polynomial(f)
        True

    However this function does not return True for genuine multivariate
    polynomial type objects or symbolic polynomials, since those are not
    of the same data type as univariate polynomials:
        sage: R.<x,y> = QQ[]
        sage: f = y^3 + x*y -3*x; f
        y^3 + x*y - 3*x
        sage: is_Polynomial(f)
        False
        sage: var('x,y')
        (x, y)
        sage: f = y^3 + x*y -3*x; f
        y^3 + x*y - 3*x
        sage: is_Polynomial(f)
        False
    """"""
    return PY_TYPE_CHECK(f, Polynomial)Class Docstring:
    <attribute '__doc__' of 'builtin_function_or_method' objects>
}}}
I have several issues with this:

 * the info in the top block is wrong
 * no source file appears
 * both the formatting and placement of the `Class Docstring` bit at the end are weird.

Now, it's actually much worse than just that -- `is_Polynomial` is (currently) imported into the global namespace, and the entry in the global namespace is pretty messed up:
{{{
sage: is_Polynomial
<functools.partial object at 0x7ca3b40>

sage: is_Polynomial??
Error getting source: could not find class definition
Type:             partial
Base Class:       <type 'functools.partial'>
String Form:   <functools.partial object at 0x7ca3b40>
Namespace:        Interactive
File:             /Users/craigcitro/three-two/local/lib/python/functools.py
Docstring [source file open failed]:
    partial(func, *args, **keywords) - new function with partial application
        of the given arguments and keywords.
}}}
It seems to think that `is_Polynomial` is a completely different type, in fact a Python builtin!!

So I've only dug around a bit, but here's what I've found. First, this looks bad:
{{{
sage: sage.rings.polynomial.polynomial_element.is_Polynomial
<built-in function is_Polynomial>

sage: sage.rings.polynomial.all.is_Polynomial
<built-in function is_Polynomial>

sage: sage.rings.all.is_Polynomial
<built-in function is_Polynomial>

sage: sage.all.is_Polynomial
<functools.partial object at 0x7ca3b40>

sage: sage.all.is_Polynomial == sage.rings.all.is_Polynomial
False
}}}

This '''could''' mean that in the process of doing imports after `sage.rings.all`, some module imports `is_Polynomial` and breaks something.

Interestingly, the docstring printed above is '''not''' the docstring that the module has for `is_Polynomial`:
{{{
sage: sage.rings.all.__dict__['is_Polynomial'].__doc__
""File: sage/rings/polynomial/polynomial_element.pyx (starting at line 72)\n\n    Return True if f is of type univariate polynomial.\n\n    INPUT:\n        f -- an object\n\n    EXAMPLES:\n        sage: from sage.rings.polynomial.polynomial_element import is_Polynomial\n        sage: R.<x> = ZZ[]\n        sage: is_Polynomial(x^3 + x + 1)\n        True\n        sage: S.<y> = R[]\n        sage: f = y^3 + x*y -3*x; f\n        y^3 + x*y - 3*x\n        sage: is_Polynomial(f)\n        True\n\n    However this function does not return True for genuine multivariate\n    polynomial type objects or symbolic polynomials, since those are not\n    of the same data type as univariate polynomials:\n        sage: R.<x,y> = QQ[]\n        sage: f = y^3 + x*y -3*x; f\n        y^3 + x*y - 3*x\n        sage: is_Polynomial(f)\n        False\n        sage: var('x,y')\n        (x, y)\n        sage: f = y^3 + x*y -3*x; f\n        y^3 + x*y - 3*x\n        sage: is_Polynomial(f)\n        False\n    ""
}}}

I'm starting to believe that this is two separate isssues: one for imports, and one for the docstring getting mis-parsed during introspection. I'm adding Rob Bradshaw to the first, because I think he'll know right offhand if anything funny is going on with the way the `polynomial_element` module gets initialized in the Cython code, and Nick Alexander, because I'm sure he'll be able to quickly point me in the right direction on the introspection stuff.

Please comment if you find anything -- I'll happily try and fix if someone points me in the right direction. ",craigcitro
3,4521,Trivial permutation group enumeration bug,group theory,sage-5.10,defect,joyner,needs_info,2008-11-14T01:05:07-08:00,2013-02-19T09:09:29-08:00,"1. This gives an error:
{{{
sage: G = PermutationGroup([])
sage: G.list()
}}}
2. Permutation group should take an argument for the degree, e.g.:
{{{
sage: G = PermutationGroup([],degree=4)
}}}
3. Permutation group should set the degree correctly:
{{{
sage: G = PermutationGroup([[]])
sage: 
sage: G.list()
[()]
sage: G.degree()
1
sage: G = PermutationGroup([[1]])
sage: G.degree()
1
}}}
The first group should have degree 0. 

4. Degree 0 should really be supported or 
we will have difficulties with automorphism 
groups of boundary cases.  Currently this 
gives an error:
{{{
sage: SymmetricGroup(0)
}}}
Certainly these examples should go into the 
docstrings.
Most of these can be trivially fixed, but 
it would be good if someone could review 
permutation groups with a view to catching 
these problems before they arise.",kohel
3,4545,better fix for mixing @parallel with numerical constant preparsing,misc,sage-5.10,defect,cwitty,new,2008-11-18T01:37:40-08:00,2008-11-18T01:37:40-08:00,"As noted on #4312, `@parallel` and the new preprocessing of constants don't play together very well. The fix at #4312 provides '''a''' fix, but a better fix is needed.",craigcitro
3,4621,'2' not in QQbar -- canonical embedding of subfields,algebra,sage-5.10,defect,tbd,needs_info,2008-11-26T03:26:25-08:00,2011-12-17T12:45:24-08:00,"Reported by Alex Raichev at http://groups.google.com/group/sage-support/browse_thread/thread/c11289d794299903

{{{
sage: F.<a>= NumberField(x^2-2)
sage: a^2
2
sage: a^2 in QQ
True
sage: a^2 in QQbar
False
sage: 2 in QQbar
True 
}}}
or more directly
{{{
sage: F(2) in QQbar
False
}}}

Perhaps related to this is
{{{
sage: F.<a>=NumberField(x^2-2)
sage: QQ.is_subring(F)
True
sage: F.is_subring(QQbar)
False 
}}}

Robert Bradshow comments that `F.is_subring(QQbar)` should be `False`, because `QQbar` has a canonical embedding into `CC`, but `F` has not.

So, from that point of view, it makes sense that `a^2` is in `F` but not in `QQbar`. However, `a^2` is equal to `2` after all, and hence is in a part of `F` that ''does'' have a canonical embedding.

In other words, we have a field element x in F_1 such that there is in fact a subfield F_2 of F_1 with x in F_1. Moreover, we have a field F_3 such that F_2 has a canonical embedding into F_3, but F_1 has no canonical embedding.

Is it possible for Sage to detect that situation? 

Idea: Is there a ''unique'' maximal subfield F_m of F_1 that has a canonical embedding into F_3? If there is, there could be a method `max_subfield_coercing_into(...)`. 

Then, in the original example, we probably have 
{{{
sage: F.max_subfield_coercing_into(QQbar)
Rational Field
}}}
and then `x in QQbar` would answer True, since 
{{{
sage: x in F_1.max_subfield_coercing_into(QQbar)
True
}}}

Sorry if that idea is not realistic.",SimonKing
3,4633,"[with patch, needs work] fix additional ""Fortran-style"" names and a coercion (depends on #4036)",interfaces,sage-5.10,defect,was,needs_work,2008-11-26T17:42:53-08:00,2008-12-06T14:15:03-08:00,"In order to run the the comparison of integration results between FriCAS and Maxima, it is also necessary to make some simple additions to the 'axiom.py' interface:

{{{
wspage@debian:~/sage-3.1.4/devel/sage-main/sage/interfaces$ hg diff
diff -r ed3f78f99d2a sage/interfaces/axiom.py
--- a/sage/interfaces/axiom.py  Tue Nov 25 23:45:43 2008 -0500
+++ b/sage/interfaces/axiom.py  Wed Nov 26 19:43:59 2008 -0500
@@ -729,7 +729,10 @@
        s = P.eval('unparse(%s::InputForm)'%self._name)
        if 'translation error' in s or 'Cannot convert' in s:
            raise NotImplementedError
-        s = multiple_replace({'\r\n':'', # fix stupid Fortran-ish
+        s = multiple_replace({'\r\n':'', # fix stupid Fortran-ish
+                              'DLOG(':'log(',
+                              'DEXP(':'exp(',
+                              '::(':'', ',Symbol)':'',
                              'DSIN(':'sin(',
                              'DCOS(':'cos(',
                              'DTAN(':'tan(',

}}}

----

Integration produce some additional ""Fortran-style"" names and a
coercion that have to be translated before the input form can be
processed by Sage.

With this change we can do:

{{{
  test_int = integrand.integrate(x)
  fricas_int = axiom.integrate(integrand,x).sage()
  fricas_cmp = (test_int.simplify_full()-fricas_int.simplify_full()).simplify_full()
  if (fricas_cmp == 0):
      print ""FriCAS agrees with Maxima.""

}}}
",bpage
3,4663,prune module_list.py of dead extensions,build,sage-5.10,defect,craigcitro,new,2008-11-30T01:34:39-08:00,2008-11-30T01:34:39-08:00,"After the cleanup from #4661 there are still various commented out Extensions in module_list. While some of those will come in potentially useful audit the files and remove potentially dead and terrible code while keeping around the good bits for resurrection. 

Cheers,

Michael",mabshoff
3,4666,"Add William's ""personal souped up version of sage -bdist"" to Sage",build,sage-5.10,defect,mabshoff,new,2008-11-30T16:01:12-08:00,2012-05-16T14:04:52-07:00,"The buildbots are using a script (originally written by William and edited by me) to produce the binaries.  It automatically builds a ""Mac App"" on OS X and chooses a meaningful name for the binary.

Some version of this script should be added to Sage itself, I propose to call it {{{sage-autobdist}}}.  Then {{{sage-bdist}}} can handle the low-level stuff of actually building the binary.

I'm adding the script as reference, but it needs some work to integrate it in Sage.",mabshoff
3,4726,Creating homomorphisms of relative number fields seems totally broken,number fields,sage-5.10,defect,davidloeffler,needs_work,2008-12-06T10:41:24-08:00,2013-04-23T11:14:34-07:00,"The following _should_ create the correct homomorphism (complex conjugation, see #4725):
{{{
sage: K.<j,b> = QQ[sqrt(-1), sqrt(2)]
sage: conj = K.hom([-j, b])
boom!
}}}

However it doesn't.  
",was
3,4738,base_ring of orders in relative number fields is wrong (fix at #5842),number fields,sage-5.10,defect,davidloeffler,new,2008-12-07T12:03:53-08:00,2009-07-21T01:12:20-07:00,"I think that the last ring should be the ring of integers of the relative number field.

{{{
sage: K = NumberField([x^2 + 2, x^2 + 3], 'a')
sage: K.base_ring()
Number Field in a1 with defining polynomial x^2 + 3
sage: K.maximal_order()
Relative Order in Number Field in a0 with defining polynomial x^2 + 2 over its base field
sage: K.maximal_order().base_ring()
Integer Ring
}}}",ncalexan
3,4740,"[with patch, needs work] avoid creating unneeded homsets when coercing",memleak,sage-5.10,defect,robertwb,needs_work,2008-12-08T03:23:21-08:00,2011-01-07T17:00:34-08:00,"Burcin reported at #4639:
{{{
sage: F = GF(13)
sage: get_memory_usage()
708.02734375
sage: for _ in xrange(10000):
....:     t = F.coerce(F(234234))
....:     
sage: get_memory_usage()
728.15234375
sage: for _ in xrange(100000):
    t = F.coerce(F(234234))
....:     
sage: get_memory_usage()
932.3125
sage: for _ in xrange(100000):
    t = F.coerce(F(234234))
....:     
sage: get_memory_usage()
1136.35546875
}}}
Since the patch by RobertWB at that ticket fixes the issue Burcin reported, but not the original one I am moving it over to this ticket.

Cheers,

Michael",mabshoff
3,4795,Modular forms over finite fields need work,modular forms,sage-5.10,defect,craigcitro,new,2008-12-13T23:55:10-08:00,2009-01-23T11:47:39-08:00,"The modular forms code hasn't really been tested too much with the base ring being a finite field. There was an old file `sage/modular/modform/bugs.py` which contained two tests, both of which fail.

First, we have what seems to be an infinite loop:
{{{
 sage: m = ModularForms(DirichletGroup(8).1,2,GF(7)); m
   Modular Forms space of dimension 2, character [1, -1] and weight 2 over Finite Field of size 7
   sage: m.basis()   # this just goes into infinite loop (???)
}}}

And now for a `NotImplementedError` -- the following '''should''' work but doesn't:
{{{
   sage: ModularForms(DirichletGroup(13, GF(7)).0^6,3).base_ring()
   Finite Field of size 7
}}}
",craigcitro
3,4810,qepcad-1.50 fails to build without tcsh,packages: optional,sage-5.10,defect,cwitty,new,2008-12-15T22:37:59-08:00,2008-12-15T22:37:59-08:00,"Martin Rubey reported in http://groups.google.com/group/sage-devel/browse_thread/thread/d48a4139afd07da8
{{{
just for the record: installing tcsh makes the problem go away.  This hint was 
buried in a longer mail on this list, so I repeat it here... 
}}}
He also reported an interface problem which could also be split off to another ticket:
{{{
Another hint:  qepcad does not like fractions, not even of integers, and the 
sage interface doesn't deal with this.  So you have to reduce them yourself, 
i.e., instead of 
a < b/2 
write 
2*a < b 
Otherwise qepcad will appear to do nothing. 
}}}

Cheers,

Michael",mabshoff
3,4833,sage -upgrade should complain when queues are used and patches are applied,build,sage-5.10,defect,mabshoff,new,2008-12-19T11:32:57-08:00,2011-01-11T11:37:04-08:00,"I've messed up at least one upgrade by accidentally having mercurial queue patches applied when trying to upgrade.  sage -upgrade should at least warn the user, and maybe give an option of popping off all of the patches before upgrading or just quitting.
",jason
3,4834,"Return eigenvectors as members of a ""normal"" space instead of as members of an eigenspace",linear algebra,sage-5.10,defect,jason,needs_info,2008-12-19T14:29:12-08:00,2011-01-22T13:43:45-08:00,"From sage-support:

{{{

> It looks like eigenvectors are returned as the basis vectors of the
> > eigenspace.  Should they be returned as just plain old vectors instead?

Yes, definitely.  Then we don't have create a whole bunch of different
vector spaces for no reason too.

 -- William
}}}
",jason
3,4865,dvipng optional spkg fails to build on sage.math (our main devel machine),packages: optional,sage-5.10,defect,mabshoff,new,2008-12-23T21:18:46-08:00,2009-01-11T18:28:54-08:00,"{{{
sage: install_package('dvipng-1.8')
...
gcc -I/usr/local/sage/local/include/freetype2 -I/usr/local/sage/local/include -I/usr/local/sage/local/include -Wall -I.  -c -o vf.o vf.c
gcc -I/usr/local/sage/local/include/freetype2 -I/usr/local/sage/local/include -I/usr/local/sage/local/include -Wall -I.  -c -o ft.o ft.c
gcc -I/usr/local/sage/local/include/freetype2 -I/usr/local/sage/local/include -I/usr/local/sage/local/include -Wall -I.  -c -o enc.o enc.c
gcc -I/usr/local/sage/local/include/freetype2 -I/usr/local/sage/local/include -I/usr/local/sage/local/include -Wall -I.  -c -o fontmap.o fontmap.c
gcc -I/usr/local/sage/local/include/freetype2 -I/usr/local/sage/local/include -I/usr/local/sage/local/include -Wall -I.  -c -o tfm.o tfm.c
gcc -L/usr/local/sage/local/lib dvipng.o color.o draw.o dvi.o font.o misc.o pk.o set.o special.o papersiz.o ppagelist.o vf.o  ft.o enc.o fontmap.o tfm.o -o dvipng -L/usr/local/sage/local/lib -Wl,--rpath -Wl,/usr/local/sage/local/lib -lfreetype -lkpathsea -lgd -lpng -lz -lm  
special.o: In function `SetSpecial':
special.c:(.text+0x13ac): undefined reference to `gdImageCreateFromJpeg'
collect2: ld returned 1 exit status
make: *** [dvipng] Error 1
Error building dvipng.

real	0m5.119s
user	0m2.720s
sys	0m2.300s
sage: An error occurred while installing dvipng-1.8
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /usr/local/sage/install.log.  Describe your computer, operating system, etc.
If you want to try to fix the problem, yourself *don't* just cd to
/usr/local/sage/spkg/build/dvipng-1.8 and type 'make'.
Instead type ""/usr/local/sage/sage -sh""
in order to set all environment variables correctly, then cd to
/usr/local/sage/spkg/build/dvipng-1.8
(When you are done debugging, you can type ""exit"" to leave the
subshell.)
}}}

I installed  libkpathsea-dev in order to get as far as the above:
{{{
root@sage:/usr/local/sage# apt-get install libkpathsea-dev
}}}",was
3,4866,hermes optional spkg totally broken in multiple ways,packages: optional,sage-5.10,defect,mabshoff,new,2008-12-23T21:39:45-08:00,2008-12-24T06:17:43-08:00,"I propose removing hermes as an optional package.  See below. 

First, it is laid out all wrong (see http://wiki.sagemath.org/SPKG_Audit):
{{{
root@sage:/usr/local/sage/spkg/optional/hermes-0.9.4-linux# ls
article.lib.xml  article.s.dvi  article.tex      content.s.aux  content.s.tex  dlt.tex   hermes.tab.c  index.html  mathml.xsl      pub.patch  seed
article.pub.xml  article.s.log  content.lib.xml  content.s.dvi  content.tex    hermes    hermes.tab.h  lex.yy.c    pmathmlcss.xsl  pub.xslt   seed.c
article.s.aux    article.s.tex  content.pub.xml  content.s.log  ctop.xsl       hermes.l  hermes.y      makefile    pmathml.xsl     SAGE.txt   spkg-install
}}}

The optional Hermes package fails to install in any meaningful sense on both Linux 64-bit and OS X.  Maybe it's a binary -- I don't know.  Whatever it is, it should fail very gracefully on systems where it isn't supposed to work, and print a message saying ""sorry, this is a binary for only XXX system.""  

I'm unconvinced about the value of us hosting such binaries in the official optional spkg repo, by the way. 

On Linux (64-bit Sage.math):
{{{
sage: install_package('hermes-0.9.4-linux')
Force installing hermes-0.9.4-linux
Calling sage-spkg on hermes-0.9.4-linux
You must set the SAGE_ROOT environment variable or
run this script from the SAGE_ROOT or 
SAGE_ROOT/local/bin/ directory.
hermes-0.9.4-linux
Machine:
Linux sage 2.6.24-19-server #1 SMP Wed Aug 20 18:43:06 UTC 2008 x86_64 GNU/Linux
Deleting directories from past builds of previous/current versions of hermes-0.9.4-linux
Extracting package /usr/local/sage/spkg/optional/hermes-0.9.4-linux.spkg ...
-rw-r--r-- 1 root root 570854 2008-12-23 20:40 /usr/local/sage/spkg/optional/hermes-0.9.4-linux.spkg
hermes-0.9.4-linux/
hermes-0.9.4-linux/seed
hermes-0.9.4-linux/article.pub.xml
hermes-0.9.4-linux/hermes.l
hermes-0.9.4-linux/hermes.y
hermes-0.9.4-linux/article.s.aux
hermes-0.9.4-linux/article.s.dvi
hermes-0.9.4-linux/article.s.log
hermes-0.9.4-linux/article.s.tex
hermes-0.9.4-linux/dlt.tex
hermes-0.9.4-linux/ctop.xsl
hermes-0.9.4-linux/content.pub.xml
hermes-0.9.4-linux/article.lib.xml
hermes-0.9.4-linux/index.html
hermes-0.9.4-linux/makefile
hermes-0.9.4-linux/pmathmlcss.xsl
hermes-0.9.4-linux/lex.yy.c
hermes-0.9.4-linux/article.tex
hermes-0.9.4-linux/hermes
hermes-0.9.4-linux/content.lib.xml
hermes-0.9.4-linux/SAGE.txt
hermes-0.9.4-linux/pmathml.xsl
hermes-0.9.4-linux/content.tex
hermes-0.9.4-linux/seed.c
hermes-0.9.4-linux/content.s.aux
hermes-0.9.4-linux/content.s.dvi
hermes-0.9.4-linux/content.s.log
hermes-0.9.4-linux/content.s.tex
hermes-0.9.4-linux/pub.patch
hermes-0.9.4-linux/spkg-install
hermes-0.9.4-linux/hermes.tab.c
hermes-0.9.4-linux/hermes.tab.h
hermes-0.9.4-linux/mathml.xsl
hermes-0.9.4-linux/pub.xslt
Finished extraction
****************************************************
Host system
uname -a:
Linux sage 2.6.24-19-server #1 SMP Wed Aug 20 18:43:06 UTC 2008 x86_64 GNU/Linux
****************************************************
****************************************************
GCC Version
gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
****************************************************
Building and installing hermes
latex content.s
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./content.s.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, croatian, ukrainian, russian, bulgarian, czech, slovak, danish, dut
ch, finnish, basque, french, german, ngerman, ibycus, greek, monogreek, ancient
greek, hungarian, italian, latin, mongolian, norsk, icelandic, interlingua, tur
kish, coptic, romanian, welsh, serbian, slovenian, estonian, esperanto, upperso
rbian, indonesian, polish, portuguese, spanish, catalan, galician, swedish, loa
ded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo)) (./dlt.tex)
(/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty) (./content.s.aux)
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd)
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd) [1] [2] [3] [4] [5]
[6] [7] [8] [9] [10] [11] [12] [13] [14] (./content.s.aux) )
Output written on content.s.dvi (14 pages, 18936 bytes).
Transcript written on content.s.log.
./hermes content.s.dvi >content.lib.xml
/bin/sh: ./hermes: not found
make: *** [xml] Error 127
Error building Hermes

real	0m0.047s
user	0m0.030s
sys	0m0.010s
sage: An error occurred while installing hermes-0.9.4-linux
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /usr/local/sage/install.log.  Describe your computer, operating system, etc.
If you want to try to fix the problem, yourself *don't* just cd to
/usr/local/sage/spkg/build/hermes-0.9.4-linux and type 'make'.
Instead type ""/usr/local/sage/sage -sh""
in order to set all environment variables correctly, then cd to
/usr/local/sage/spkg/build/hermes-0.9.4-linux
(When you are done debugging, you can type ""exit"" to leave the
subshell.)

}}}

On OS X:
{{{
Last login: Tue Dec 23 20:48:37 on ttys005
teragon-2:~ wstein$ sage
----------------------------------------------------------------------
| Sage Version 3.2.1, Release Date: 2008-12-01                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: install_package('hermes-0.9.4-linux')
Force installing hermes-0.9.4-linux
Calling sage-spkg on hermes-0.9.4-linux
You must set the SAGE_ROOT environment variable or
run this script from the SAGE_ROOT or 
SAGE_ROOT/local/bin/ directory.
hermes-0.9.4-linux
Machine:
Darwin teragon-2.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386
Deleting directories from past builds of previous/current versions of hermes-0.9.4-linux
/Users/wstein/sage/local/bin/sage-spkg: file hermes-0.9.4-linux does not exist
Attempting to download it.
http://www.sagemath.org//packages/optional/hermes-0.9.4-linux.spkg --> hermes-0.9.4-linux.spkg
[..................................................]
Extracting package /Users/wstein/sage/spkg/optional/hermes-0.9.4-linux.spkg ...
-rw-r--r--  1 wstein  staff  570854 Dec 23 21:32 /Users/wstein/sage/spkg/optional/hermes-0.9.4-linux.spkg
hermes-0.9.4-linux/
hermes-0.9.4-linux/seed
hermes-0.9.4-linux/article.pub.xml
hermes-0.9.4-linux/hermes.l
hermes-0.9.4-linux/hermes.y
hermes-0.9.4-linux/article.s.aux
hermes-0.9.4-linux/article.s.dvi
hermes-0.9.4-linux/article.s.log
hermes-0.9.4-linux/article.s.tex
hermes-0.9.4-linux/dlt.tex
hermes-0.9.4-linux/ctop.xsl
hermes-0.9.4-linux/content.pub.xml
hermes-0.9.4-linux/article.lib.xml
hermes-0.9.4-linux/index.html
hermes-0.9.4-linux/makefile
hermes-0.9.4-linux/pmathmlcss.xsl
hermes-0.9.4-linux/lex.yy.c
hermes-0.9.4-linux/article.tex
hermes-0.9.4-linux/hermes
hermes-0.9.4-linux/content.lib.xml
hermes-0.9.4-linux/SAGE.txt
hermes-0.9.4-linux/pmathml.xsl
hermes-0.9.4-linux/content.tex
hermes-0.9.4-linux/seed.c
hermes-0.9.4-linux/content.s.aux
hermes-0.9.4-linux/content.s.dvi
hermes-0.9.4-linux/content.s.log
hermes-0.9.4-linux/content.s.tex
hermes-0.9.4-linux/pub.patch
hermes-0.9.4-linux/spkg-install
hermes-0.9.4-linux/hermes.tab.c
hermes-0.9.4-linux/hermes.tab.h
hermes-0.9.4-linux/mathml.xsl
hermes-0.9.4-linux/pub.xslt
Finished extraction
****************************************************
Host system
uname -a:
Darwin teragon-2.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386
****************************************************
****************************************************
GCC Version
gcc -v
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5488~2/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5488)
****************************************************
Building and installing hermes
latex content.s
./seed article.tex
./seed: ./seed: cannot execute binary file
make: *** [article] Error 126
make: *** Waiting for unfinished jobs....
This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7)
 %&-line parsing enabled.
entering extended mode
(./content.s.tex
LaTeX2e <2005/12/01>
Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, german-x-2008-06-18, ngerman-x-2008-06-18, ancientgreek, ibycus, ar
abic, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danish, dutc
h, esperanto, estonian, farsi, finnish, french, galician, german, ngerman, mono
greek, greek, hungarian, icelandic, indonesian, interlingua, irish, italian, la
tin, mongolian, mongolian2a, bokmal, nynorsk, polish, portuguese, romanian, rus
sian, sanskrit, serbian, slovak, slovenian, spanish, swedish, turkish, ukenglis
h, ukrainian, uppersorbian, welsh, loaded.
(/usr/local/texlive/2008/texmf-dist/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/local/texlive/2008/texmf-dist/tex/latex/base/size10.clo)) (./dlt.tex)
(/usr/local/texlive/2008/texmf-dist/tex/latex/amsfonts/amsfonts.sty)
(./content.s.aux)
(/usr/local/texlive/2008/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/local/texlive/2008/texmf-dist/tex/latex/amsfonts/umsb.fd) [1] [2]
[3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] (./content.s.aux) )
Output written on content.s.dvi (14 pages, 18936 bytes).
Transcript written on content.s.log.
./hermes content.s.dvi >content.lib.xml
/bin/sh: ./hermes: cannot execute binary file
make: *** [xml] Error 126
Error building Hermes

real	0m1.278s
user	0m0.214s
sys	0m0.122s
sage: An error occurred while installing hermes-0.9.4-linux
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /Users/wstein/sage/install.log.  Describe your computer, operating system, etc.
If you want to try to fix the problem, yourself *don't* just cd to
/Users/wstein/sage/spkg/build/hermes-0.9.4-linux and type 'make'.
Instead type ""/Users/wstein/sage/sage -sh""
in order to set all environment variables correctly, then cd to
/Users/wstein/sage/spkg/build/hermes-0.9.4-linux
(When you are done debugging, you can type ""exit"" to leave the
subshell.)
}}}",was
3,4867,optional gcc-4.2.1.spkg doesn't build on sage.math,packages: optional,sage-5.10,defect,mabshoff,new,2008-12-23T21:54:21-08:00,2009-02-10T18:20:35-08:00,"{{{
sage -i gcc-4.2.1
...
In file included from /usr/include/features.h:354,
                 from /usr/include/stdio.h:28,
                 from ../../gcc-4.2.1/gcc/tsystem.h:90,
                 from ../../gcc-4.2.1/gcc/libgcc2.c:33:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
In file included from /usr/include/features.h:354,
                 from /usr/include/stdio.h:28,
                 from ../../gcc-4.2.1/gcc/tsystem.h:90,
                 from ../../gcc-4.2.1/gcc/libgcc2.c:33:
}}}",was
3,4877,[with spkg; needs work] update optional spkg to newest version of pyopenssl and get spkg into proper format,packages: optional,sage-5.10,defect,mabshoff,needs_work,2008-12-24T12:37:22-08:00,2008-12-29T22:35:17-08:00,"The new spkg is here:  
    http://sage.math.washington.edu/home/was/patches/pyopenssl-0.8.spkg",was
3,4883,possible memory leak in sage.matrix.matrix_integer_dense,memleak,sage-5.10,defect,malb,new,2008-12-26T16:52:38-08:00,2009-01-25T11:01:24-08:00,"{{{
    def __dealloc__(self):
        """"""
        Frees all the memory allocated for this matrix. 
        EXAMPLE:
            sage: a = Matrix(ZZ,2,[1,2,3,4])
            sage: del a        
        """"""
        cdef Py_ssize_t i
        if self._initialized:
            for i from 0 <= i < (self._nrows * self._ncols):
                mpz_clear(self._entries[i])
            sage_free(self._entries)
            sage_free(self._matrix)
}}}

It is possible that `_initialized` is not set but `_matrix` and `_entries` are allocated.

Error paths in `__new__` and `__init__` should also be revised, since if one raises an error in these functions python still calls `__dealloc__` for the cleanup. 

From the `__init__` function:
{{{
        elif isinstance(entries, (int,long)) or is_Element(entries):
            try:
                x = ZZ(entries)
            except TypeError:
                self._initialized = False
                raise TypeError, ""unable to coerce entry to an integer""
}}}",burcin
3,4932,"fix solve_left_LU for matrix_double_dense, which was totally broken forever (?)",linear algebra,sage-5.10,defect,jason,needs_info,2009-01-02T22:25:33-08:00,2011-02-24T21:16:06-08:00,,was
3,4940,"dokchitser L-series at least for number fields claims a pole at zero, though the zeta function has a zero there",number theory,sage-5.10,defect,was,new,2009-01-05T00:01:29-08:00,2009-01-22T20:44:34-08:00,"{{{
sage: K.<a> = NumberField(x^2-2)
sage: z = K.zeta_function()
sage: z(0)
Traceback (most recent call last):
...
ArithmeticError:   ###   user error: L*(s) has a pole at s=0
sage: z(0.0000001)
-4.40686861437826e-8
}}}

Notice that there is in fact a zero at s=0, not a pole as the ArithmeticError claims.

In fact, it's a theorem that there is a zero at s=0 of order the unit rank of the number field.",was
3,4970,"[with patch, not ready for review] modify tkinter detection in our python spkg so that it works on macs",build,sage-5.10,defect,mabshoff,needs_work,2009-01-13T06:12:13-08:00,2009-02-15T22:27:39-08:00,"This is from a sage-support thread:
{{{
Hi Michael

thanks a lot! Tkinter is now working fine for me and I can use
matplotlib with the TkAgg backend
For the record, here are the steps I followed to get it working on Mac
OS (10.4 and 10.5)
1) Download the Tcl/Tk sources
2) Compile the unix version (of Tcl and Tk) as follows
./configure --enable-framework --disable-xft, make, make install
3) Modify the setup.py file in the src directory of python-2.5.2.p8 by
putting
/System/Library  underneath /Library/Frameworks at the top the
function detect_tkinter_darwin
4) run ./spkg-install in python-2.5.2.p8
5) reinstall matplotlib: sage -f matplotlib-0.98.3.p4

As this is the way Apple recommends to do it in the developer
documentation. I suggest that
the fix in the function detect_tkinter_darwin of the python-2.5.2.p8
setup.py gets included in the official Sage release. People needing
Tkinter on mac would then just need to have Tcl/Tk without
xft installed before compiling Sage.

Best wishes and thanks for the great job you are doing with the Sage
developers and maintainers,
Eric
}}}",was
3,4979,do not use xdg-open on Solaris to open the browser when starting the notebook,porting: Solaris,sage-5.10,defect,mabshoff,new,2009-01-14T16:54:44-08:00,2010-02-23T04:08:56-08:00,"See http://groups.google.com/group/sage-devel/browse_thread/thread/f037b3c4cc4509eb for a discussion about the problem.

xdg-open is not available on Solaris, so we should be using a Solaris specific mechanism to open the default browser. It is unclear at least to me at the moment what this would be.

Cheers,

Michael",mabshoff
3,5070,randomized shift testing,misc,sage-5.10,defect,cwitty,new,2009-01-23T03:39:57-08:00,2009-01-23T03:39:57-08:00,"When #4779 goes in, one thing that would be good to test is that left/right shifting does the right thing, as do negative shifts. This held up #4965 for a while. ",robertwb
3,5074,singular factorization over GF(p) need not be a complete factorization,commutative algebra,sage-5.10,defect,malb,needs_info,2009-01-23T06:30:09-08:00,2012-06-01T10:49:08-07:00,"{{{
sage: k.<a> = GF(9)
sage: R.<x,y> = PolynomialRing(k)
sage: h = - (-x^2 - x*y + y^2 - 1)^2 * (x^2*y^2 + y^4 + x^2*y + x*y^2 + y^3 - x^2 + x*y + y^2 - 1) * (-x^4 - x^3*y - x*y^3 + y^4 - x^3 + x^2*y + x*y^2 - x^2 - x*y - y^2 + x + 1)

sage: h.factor()
(-1) * (-x^2 - x*y + y^2 - 1) * (x^2*y^2 + y^4 + x^2*y + x*y^2 + y^3 - x^2 + x*y + y^2 - 1) * (x^6 - x^5*y + x*y^5 + y^6 + x^5 + x*y^4 - x^4 + x^2*y^2 + x*y^3 + y^4 + x^2*y - y^2 - x - 1)
sage: h.factor()
(-1) * (-x^2 - x*y + y^2 - 1)^2 * (-x^6*y^2 - x^5*y^3 - x^4*y^4 + x^3*y^5 + x^2*y^6 - x*y^7 + y^8 - x^6*y - x^4*y^3 + x^3*y^4 + x^2*y^5 + x*y^6 + y^7 + x^6 - x^5*y + x^2*y^4 + x^5 + x^3*y^2 - x^2*y^3 - y^5 - x^4 - x^3*y + x^2*y^2 - y^4 + x^2*y + x*y^2 + y^3 - x*y - y^2 - x - 1)
}}}

Note that the factors need not even be coprime!

",was
3,5075,Polynomials over inexact rings should not truncate inexact leading zeroes,algebra,sage-5.10,defect,roed,new,2009-01-23T11:04:16-08:00,2011-08-01T01:12:00-07:00,"The generic polynomial class truncates leading zeroes, and this can cause problems when working over an inexact ring in which is_zero can return True even for an inexact zero (e.g., see #2943). Here is a simple example:
{{{
sage: C.<t> = PowerSeriesRing(Integers())
sage: D.<s> = PolynomialRing(C)
sage: y = O(t)
sage: y
O(t^1)
sage: z = y*s
sage: z
0
sage: z.list()
[]
}}}
This was recognized earlier for p-adics and fixed (I'm not sure which ticket this was):
{{{
sage: C = pAdicField(11)
sage: D.<s> = PolynomialRing(C)
sage: y = O(11)
sage: y
O(11)
sage: z = y*s
sage: z
(O(11))*s
}}}
The other main class of inexact rings are interval fields, but I believe for those is_zero returns False for an inexact zero, so this doesn't come up.",kedlaya
3,5091,find_root should call fast_float,calculus,sage-5.10,defect,burcin,new,2009-01-24T14:05:03-08:00,2010-01-17T02:08:09-08:00,"{{{
sage: f(x) = sin(x)-cos(x)
sage: g = f._fast_float_()

sage: timeit(""find_root(f, 0, pi)"")
625 loops, best of 3: 154 µs per loop

sage: timeit(""find_root(g, 0, pi)"")
625 loops, best of 3: 24 µs per loop
}}}

See also http://groups.google.com/group/sage-devel/browse_thread/thread/927319a4fa61ae3b/9fc80aa9c114e041",robertwb
3,5126,error coercing stacked polynomial rings to relative number fields,number fields,sage-5.10,defect,davidloeffler,new,2009-01-28T21:07:46-08:00,2009-07-21T01:18:40-07:00,"From David Roe, reviewing #1367:

I'm not completely convinced that the following example is the behavior we want:
{{{

sage: K.<a> = NumberField?(ZZx?.05 + 2, 'a') 
sage: L.<b> = K.extension(ZZx?.02 + 3*a, 'b') 
sage: u = QQu?.gen() 
sage: t = u.parent()t?.gen()

sage: L(u*5) 5*b
}}}
I guess if we're going to convert at all this makes the most sense, but I want to think about it a bit more. I'm even less convinced of the following:
{{{
sage: W.<w> = t.parent()[] 
sage: L(w*5) 5*b 
sage: L(W(t)) 5*a 
sage: L(W(u)) TypeError?
}}}",ncalexan
3,5127,relative number fields have bad names for internal coercion routines,number fields,sage-5.10,defect,davidloeffler,new,2009-01-28T21:09:02-08:00,2009-07-21T01:03:38-07:00,"A naming one issue: in relative number fields, the family of functions coerce_non_number_field_element_in should probably be a convert function rather than a coerce one.
",ncalexan
3,5131,regression in free modules -- who broke my __mul__,linear algebra,sage-5.10,defect,was,new,2009-01-29T15:05:17-08:00,2009-01-29T15:05:17-08:00,"If A is a free module and r a ring element then r*A and A*r used to work fine. But somebody broke them.

In the good ol days:
{{{
wstein@sage:/disk/scratch/mabshoff-sage-releases/sage-0.10.0$ ./sage
[...]
sage: A = ZZ^3
sage: A
 _5 = Ambient free module of rank 3 over the principal ideal domain Integer Ring
sage: 2*A
 _6 = 
Free module of degree 3 and rank 3 over Integer Ring
Echelon basis matrix:
[2 0 0]
[0 2 0]
[0 0 2]
}}}

Now:
{{{
sage: A = ZZ^3
sage: 2*A
Traceback (most recent call last):
...
TypeError: unsupported operand parent(s) for '*': 'Integer Ring' and '<class 'sage.modules.free_module.FreeModule_ambient_pid'>'
}}}",was
3,5153,bug in simon_two_descent  for elliptic curves,elliptic curves,sage-5.10,defect,,new,2009-02-01T14:24:47-08:00,2010-07-15T01:33:37-07:00,"We have
{{{
sage: E = EllipticCurve('65a1')
sage: G = E.change_ring(QuadraticField(-56,'a'))
sage: G.simon_two_descent()
(3, 4, [(-9/4 : -3/8*a + 9/8 : 1), (-8/7 : -1/49*a + 4/7 : 1), (1 : 0 : 1), 
  (-6/25*a - 47/25 : 36/125*a - 368/125 : 1), (1/4 : 1/16*a - 1/8 : 1)])
}}}

The documentation for simon_two_descent says that the output of Simon 2-descent is
{{{
        OUTPUT:
            integer -- ""probably"" the rank of self
            integer -- the 2-rank of the Selmer group
            list    -- list of independent points on the curve.
}}}

Our curve does have rank 3, but the output list above contains *five* points, so they can't be independent!   

Our curve has torsion of order 2, so E(K)/2 E(K) has rank four, so the 3 and four output by Simon descent are right.  The only problem is the list, which has too many points in it. 

Maybe this is simply a documentation issue, and the docs for simon_two_descent should be changed to say that list is a list of points that *generate* a subgroup of the MW group of rank r, where r is the first number output by simon_two_descent. ",was
3,5225,unhandled case in converting to polynomial ring,commutative algebra,sage-5.10,defect,malb,new,2009-02-09T14:14:57-08:00,2009-02-09T14:14:57-08:00,"Normally, Sage tries to allow explicit conversions between arbitrary polynomial rings, if they share the same variable names.

Here's a case where that doesn't work:
{{{
R.<a,b,c,d,e,f,x,y,z,t,s,r>=PolynomialRing(QQ,12,order='lex')
I=R.ideal(a^2+d^2-x,a*b+d*e-y,a*c+d*f-z,b^2+e^2-t,b*c+e*f-s,c*c+f*f-r)
j=I.groebner_basis()
R1.<x,y,z,t,s,r>=QQ[]
R2=FractionField(R1)
R3.<a,b,c,d,e,f>=R1.fraction_field()[]
R3(j[0])
}}}

For now, the workaround is:
{{{
 sage_eval(str(j[0]), locals=locals())
}}}
but IMHO the original code should work.",cwitty
3,5229,Jmol axes in the wrong place,graphics,sage-5.10,defect,was,needs_work,2009-02-10T13:18:01-08:00,2013-04-14T19:16:04-07:00,"As is, it appears that 3d plots are wrong, according to the jmol axes, because the jmol axes apparently don't default to being centered at the origin.  This patch makes the jmol axes centered at the origin.  To show the jmol axes, you still need to right-click on the jmol plot, select Style, then Axes.",jason
3,5235,Detect when Sage is build on AFS and issue a warning,build,sage-5.10,defect,mabshoff,new,2009-02-11T13:20:04-08:00,2010-01-16T15:21:52-08:00,"From http://groups.google.com/group/sage-devel/t/894d29e0bde4550c
{{{
> Yes, afs is a strange filessystem and might be the root cause of your 
> trouble, but that is far from certain at this point. 


No longer far from certain. The build completed without ANY problems, 
including getting past gnutls without error. This is not unprecedented 
but somewhat surprising nevertheless. Running make test now. 

Gedaliah 
}}}

AFS seems to be commonly used with RHEL 4 in some instituations. It has come up twice now.

Cheers,

Michael",mabshoff
3,5237,qsieve hangs on some machines when doctesting book_stein_ent.py,factorization,sage-5.10,defect,tbd,new,2009-02-11T14:56:54-08:00,2009-02-11T14:56:54-08:00,"Reported in http://groups.google.com/group/sage-devel/browse_thread/thread/894d29e0bde4550c as well as once by Alex Ghitza:
{{{
Trying: 
    qsieve(n)###line 289:_sage_    : qsieve(n) 
Expecting: 
    ([6340271405786663791648052309, 
      46102313108592180286398757159], '') 
*** *** Error: TIMED OUT! PROCESS KILLED! *** *** 
*** *** Error: TIMED OUT! *** *** 
         [360.3 s] 
exit code: 1024 
}}}

This is Bill Hart's quadratic sieve, but an ancient version from 2007. We should really get rid of that code and use the current code in FLINT 1.1.x.

Cheers,

Michael",mabshoff
3,5260,document the requirement for a compiler better for f2py/weave/ctypes and error out with a sensible error message when no compiler is present,documentation,sage-5.10,defect,tba,new,2009-02-13T14:14:35-08:00,2009-02-13T14:30:02-08:00,"This is motivated by http://groups.google.com/group/sage-devel/browse_thread/thread/ef0eecd9f3473215
{{{
Hi everyone, 
being a new Sage user under Mac OS X, I spent a whole day trying to 
get the examples for using compiled code from 
http://www.math.washington.edu/~jkantor/Numerical_Sage/node10.html to 
work. Trying to make sense of the error messages and googling for 
fixes, I did not realise the most simple explanation - until I ran 
""which gcc"" in the terminal and got no result. I simply didn't have 
gcc installed! Unless I'm blind, there is no hint to check if gcc is 
installed in an obvious place on website or in the documentation. Of 
course, the problem was fixed easily by installing XcodeTools. 
I think it would be very helpful for new users to have a remark in the 
readme or on the download page, that sage does not include gcc, but 
requires it for certain features. Maybe this is so obvious, that 
nobody thought of it before. 
Otherwise, Sage seems to be a great piece of Software, keep on the 
great Work 
Felix 
}}}",mabshoff
3,5312,"command line -- bug in preparser and ""time""",misc,sage-5.10,defect,cwitty,new,2009-02-19T00:31:41-08:00,2012-01-08T18:17:26-08:00,"There is a weird interaction between time and preparser, almost as if input to time is being preparsed *twice*:

{{{
wstein@sage:~/build/sage-3.3.rc1$ ./sage
----------------------------------------------------------------------
| Sage Version 3.3.rc1, Release Date: 2009-02-16                     |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: k = 3r
sage: type(k)
<type 'int'>
sage: time k = 3r
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00 s
sage: type(k)
<type 'sage.rings.integer.Integer'>
sage: preparse('k = 3r')
'k = 3'
sage: preparse('time k = 3r')
'time k = 3'
}}}

In the above, type(k) should have been int in all cases.  Why isn't it the second time.  WEIRD.",was
3,5317,DeprecationWarning in pickle_jar is not pre-determined,doctest coverage,sage-5.10,defect,mabshoff,new,2009-02-19T22:38:39-08:00,2009-02-19T22:38:39-08:00,"The output of deprecation warnings can vary:
{{{
sage -t -long devel/sage/sage/structure/sage_object.pyx
**********************************************************************
File ""/scratch/mabshoff/sage-3.3.rc3/devel/sage-main/sage/structure/sage_object.pyx"", line 682:
    sage: sage.structure.sage_object.unpickle_all(std)
Expected:
    doctest:...: DeprecationWarning: Your data is stored in an old format. Please use the save() function to store your data in a more recent format.
    doctest:...: DeprecationWarning: RQDF is deprecated; use RealField(212) instead.
    Successfully unpickled ... objects.
    Failed to unpickle 0 objects.
Got:
    doctest:1172: DeprecationWarning: RQDF is deprecated; use RealField(212) instead.
    doctest:1172: DeprecationWarning: Your data is stored in an old format. Please use the save() function to store your data in a more recent format.
    Successfully unpickled 448 objects.
    Failed to unpickle 0 objects.
**********************************************************************
}}}
I have hit this once for literally thousands of doctest runs so far, so I don't think this will be a big problem.

Cheers,

Michael",mabshoff
3,5383,isinstance(PrincipalIdealDomain) should be replaced with a method .is_principal_ideal_domain(),linear algebra,sage-5.10,defect,was,new,2009-02-25T20:41:00-08:00,2009-02-28T18:27:26-08:00,"This is the cause of things like:

{{{
sage: R.<x, y> = QQ[]
sage: M = R^2
sage: span(R, vector([1, 0]))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Users/ncalexan/.sage/temp/dhcp_v009_038.mobile.uci.edu/301/_Users_ncalexan_Documents_School_rumely_polynomial_ring_as_module2_sage_142.py in <module>()

/Users/ncalexan/sage-3.3.rc0/local/lib/python2.5/site-packages/sage/modules/free_module.pyc in span(gens, base_ring, check, already_echelonized)
    408 
    409     if not isinstance(R, principal_ideal_domain.PrincipalIdealDomain):
--> 410         raise TypeError, ""The base_ring (= %s) must be a principal ideal domain.""%R
    411     if len(gens) == 0:
    412         return FreeModule(R, 0)

TypeError: The base_ring (= Multivariate Polynomial Ring in x, y over Rational Field) must be a principal ideal domain.
}}}

Surprisingly few places where this bites us:

{{{
sage: search_src('PrincipalIdealDomain')
modules/free_module.py:        elif isinstance(base_ring, principal_ideal_domain.PrincipalIdealDomain):
modules/free_module.py:    if not isinstance(R, principal_ideal_domain.PrincipalIdealDomain):
modules/free_module.py:        if not isinstance(base_ring, principal_ideal_domain.PrincipalIdealDomain):
modules/free_quadratic_module.py:    elif isinstance(base_ring, principal_ideal_domain.PrincipalIdealDomain):
rings/all.py:from principal_ideal_domain import PrincipalIdealDomain, is_PrincipalIdealDomain
rings/all.py:from principal_ideal_domain_element import PrincipalIdealDomainElement, is_PrincipalIdealDomainElement
rings/ideal.py:    if isinstance(R, sage.rings.principal_ideal_domain.PrincipalIdealDomain):
<snip>
}}}",ncalexan
3,5392,relative number field subfield method -- unclear documentation,number fields,sage-5.10,defect,davidloeffler,new,2009-02-27T08:03:04-08:00,2009-07-20T13:32:19-07:00,"Consider

{{{
sage: R.<a> = NumberField(x^4 - 2*x^2 - 1)
sage: S.<i> = R.extension(x^2 + 1)
sage: S.subfield(a + i/a)
}}}

The S.subfield method documentation says that it constructs QQ(alpha), but this is false, I think it constructs R(alpha). In the above example, S.subfield(a + i/a) returns a number field of degree 8 over Q, whereas a + i/a has degree 4 over QQ (the minimal polynomial is {{{x^4 - 4x^2 + 8}}}).
",dmharvey
3,5415,wrong definition of multifactorial?,basic arithmetic,sage-5.10,defect,robertwb,new,2009-03-01T14:56:37-08:00,2009-09-30T10:18:09-07:00,"The multifactorial method on integers is different than the one at http://mathworld.wolfram.com/Multifactorial.html and http://www.research.att.com/~njas/sequences/A007661; unless there are multiple competing definitions of multifactorial, this is a bug.

(The references give, for example, (5).multifactorial(3) == 10, whereas Sage currently returns 5.)",cwitty
3,5417,Fix some more deepcopy/caching issues in the quadratic forms code (followup to #5403),quadratic forms,sage-5.10,defect,justin,new,2009-03-01T19:52:41-08:00,2009-03-01T21:27:16-08:00,"Gonzalo found some problem in the QF code when working on #5403. These problems are related to deepcopy.

Cheers,

Michael",mabshoff
3,5419,moving fraction field to new coercion broke old pickles,misc,sage-5.10,defect,craigcitro,new,2009-03-01T22:40:28-08:00,2009-03-01T23:00:10-08:00,"At some point, fraction fields were moved over to the new coercion model, which is good -- except that it broke all the old pickles. This thread on `sage-support` is about someone having a problem with them: http://groups.google.com/group/sage-support/browse_thread/thread/b5519db45a141819

The problem is that the old pickles don't have `_element_class` or `_element_constructor` fields, and there was no factory function in place -- so unpickling tries to directly create the object, which totally fails. Putting the old `__call__` method back in place is an ugly hack to get these to load, but it's not a good permanent solution. 

",craigcitro
3,5425,Move MW cohomology to new coercion model,coercion,sage-5.10,defect,robertwb,new,2009-03-03T01:23:43-08:00,2009-03-03T01:23:43-08:00,,robertwb
3,5426,Move finite fields to new coercion model,coercion,sage-5.10,defect,robertwb,new,2009-03-03T01:24:17-08:00,2009-03-03T01:24:17-08:00,,robertwb
3,5459,"Notebook and worksheet autosave intervals, excessive snapshots",notebook,sage-5.10,defect,somebody,new,2009-03-08T20:54:45-07:00,2009-03-08T20:54:45-07:00,"There is a notebook configuration item indexed by 'save_interval'.  This can be set at the sage command line by instantiating a notebook object (call it ""nb"") and issuing commands like 
{{{nb.conf()['save_interval'] = int(3600)}}}   This value seems to be used by server/notebook/twist.py to make backup copies of nb.sobj.  It seems to make a snapshot of a worksheet as a side-effect, without any check if the snapshot is different from previous snapshots.  This is speculation, since I could not decipher what triggers twist.py to check and do such a save.  Also, experimentally, I see that it happens ""automatically"", even if the worksheets and notebook are left untouched.

There is also a per-user 'autosave_interval'  This can be accessed through code like {{{nb.user(""admin"")['autosave_interval']}}} and can also be set from the drop-down box in the ""Settings"" area of the notebook (to be 1,3,5,7,9 minutes only).  The use of this seems a bit odd.  Any edit (but only edits) in the worksheet triggers a possible snapshot save.  First, the time since the last save is checked against the user autosave_interval.  If not enough time has elapsed, it exits, otherwise it continues towards a snapshot save.  It then checks to see if the worksheet has changed.  But it must have changed, since only edits trigger the routine.  Then it writes a snapshot.

So in summary, a new snapshot every period given by 'save_interval' which is not obviously user-configurable.  No check on if the snapshot is different.  Every edit triggers a possible snapshot, it happens only if time exceeds user's autosave_interval, which can be set by the user to limited number of values.

This may be an imperfect understanding of the situation, but I think it is confusing for a user and potentially filling up disk space and/or degrading performance.  So there's some room for improvement in how this works.
",rbeezer
3,5473,create extra pickle jar for old format pickles (followup of #4640),misc,sage-5.10,defect,cwitty,new,2009-03-10T13:39:38-07:00,2009-03-10T13:39:38-07:00,"When we currently update the pickle jar we do not keep pickles for older versions around. Due to this we could break unconverted pickles without knowing it. 

In that context it might also be nice to check that format conversion works.

Cheers,

Michael",mabshoff
3,5475,"[with patch, needs work] make it so ipython isn't imported when one does ""sage -python""",interfaces,sage-5.10,defect,was,needs_work,2009-03-10T14:39:27-07:00,2009-03-10T15:30:12-07:00,"If one wants to use Sage from a C program, e.g., like this (see below), then it's important that ""from sage.all import *"" not import Ipython.  The point of this ticket is make the import of IPython lazy -- and only happen if needed.  This will also make ""sage -python"" and ""sage -c"" faster, since Ipython startup takes significant time. 

{{{
/*
sage -sh
gcc -I$SAGE_LOCAL/include/python2.5 $SAGE_LOCAL/lib/python/config/libpython2.5.a embed.c -o embed; ./embed

See http://docs.python.org/extending/embedding.html
*/


#include <Python.h>

int
main(int argc, char *argv[])
{
  Py_Initialize();
  printf(""Loading the Sage library...\n"");
  PyRun_SimpleString(""from sage.all import *"");
  printf(""Factoring an integer:\n"");
  PyRun_SimpleString(""print factor(193048120380)"");
  printf(""Popping up plot of a function:\n"");
  PyRun_SimpleString(""x=var('x'); show(plot(sin(x)))"");
  printf(""Popping up plot of a 3-d function:\n"");
  PyRun_SimpleString(""x,y=var('x,y'); show(plot3d(sin(x*y)-cos(x-y), (x,-4,4),(y,-4,4)))"");
  printf(""Type 0 then return\n"");
  int n;
  scanf(""%d"",&n);
  printf(""Exiting...\n"");
  Py_Finalize();
  return 0;
}
}}}",was
3,5488,"optional polymake package fails to build on OS X, x86_64 Debian (possibly others)",packages: optional,sage-5.10,defect,mabshoff,new,2009-03-11T10:45:15-07:00,2013-02-13T18:05:26-08:00,"Using sage-3.4.rc0 on bsd.math (a standard OSX 10.5 intel-based mac), the optional polymake spkg totally fails to build:

{{{
g++   -I/Users/was/build/sage-3.4.rc0/local/lib  -I/Users/was/build/sage-3.4.rc0/local/lib  -o cdd_ch_float_client cdd_ch_float_client.o libpolytope.a ../../lib/libpoly.a  -lgmp 
ld: duplicate symbol _dd_free_global_constants in libpolytope.a(cdd_interface.o) and libpolytope.a(cdd_float_interface.o)

collect2: ld returned 1 exit status
make[3]: *** [cdd_ch_float_client] Error 1
make[2]: *** [do_all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2
Failed to configure.

real    2m40.027s
user    1m54.830s
sys     0m13.814s
sage: An error occurred while installing polymake-2.2.p5
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /Users/was/build/sage-3.4.rc0/install.log.  Describe your computer, operating system, etc.
If you want to try to fix the problem, yourself *don't* just cd to
/Users/was/build/sage-3.4.rc0/spkg/build/polymake-2.2.p5 and type 'make'.
Instead type ""/Users/was/build/sage-3.4.rc0/sage -sh""
in order to set all environment variables correctly, then cd to
/Users/was/build/sage-3.4.rc0/spkg/build/polymake-2.2.p5
(When you are done debugging, you can type ""exit"" to leave the
subshell.)
was@bsd:~/build/sage-3.4.rc0$ 
}}}
",was
3,5503,"""cmp"" method failing on objects in the pickle jar",misc,sage-5.10,defect,cwitty,new,2009-03-12T13:23:26-07:00,2009-03-12T13:23:26-07:00,"The following piece of code loads the pickle jar and tries to compare each pair of members. In my 3.4, it currently segfaults.

If sage is to have universal comparison, these comparisons should all occur without error. The next step would be to ensure that results are consistent with transitivity.

{{{
L=[]
M=[]
#change this location to point to your own pickle jar
path=""/usr/local/sage/default/tmp/pickle_jar-3.4""

for n in sorted(os.listdir(path)):
  if n.endswith("".sobj"") and not(n in M):
    print n
    L.append(load(path+""/""+n))

for i in [1..len(L)-1]:
    for j in range(i):
        try:
            _=cmp(L[i],L[j])
        except:
            print [i,j]
}}}",nbruin
3,5505,"README.txt should mention ""copy $SAGE_ROOT/sage to /usr/local/bin and edit""",documentation,sage-5.10,defect,tba,new,2009-03-12T16:00:23-07:00,2009-03-12T16:00:23-07:00,"README.txt doesn't say anything about how to make Sage accessible to multiple users; it should.  (Perhaps it could copy text from the installation guide, http://www.sagemath.org/doc/installation/source.html#installation-in-a-multiuser-environment)
",cwitty
3,5522,[with patch; needs work] Fix segfault if libsingular.so can't be found,packages: standard,sage-5.10,defect,mabshoff,needs_work,2009-03-14T17:21:22-07:00,2009-03-25T16:36:49-07:00,"If for some reason libsingular.so doesn't exist, Sage will segfault when trying to call dlerror() when dlopen() was never called.

I've attached a patch which avoids doing so.

With this patch, however, Sage then segfaults sometime after trying to raise the ImportError on the next line.

I don't have time to investigate further, but it is easy to reproduce the condition by just moving aside the libsingular.so and trying to start sage.",tabbott
3,5532,doc search in sagenb.org broken,documentation,sage-5.10,defect,tba,new,2009-03-16T10:48:46-07:00,2012-06-01T11:22:59-07:00," 1. log in at [http://sagenb.org]
 1. goto [http://sagenb.org/doc/live/tutorial/search.html]

no search box, just a js-artefact at the bottom.

[http://spreadsheets.google.com/ver?key=pCwvGVwSMxTzT6E2xNdo5fA&t=1237223353260000&pt=1237223333260000&diffWidget=true&s=AJVazbWgyWS5_1pWMq6L9iylQ_7orMIUow reported by gustav delius in the notebook bugtracker]",schilly
3,5533,Recompiling .spyx files changes class,misc,sage-5.10,defect,cwitty,new,2009-03-16T12:41:11-07:00,2009-04-23T01:05:05-07:00,"Apparently, recompiling a .spyx file creates a new module and/or creates a new dummy class.  This gets in the way of pickling.  For example, start from a command prompt and follow the instructions using the attached junk7.spyx.
{{{
sage  # at the command prompt, start Sage
sage: load 'junk7.spyx'
sage: # make an insignificant change to junk7.spyx so it will recompile...
sage: load 'junk7.spyx'
sage: MyClass().greet()
Greetings!
sage: import pickle
sage: fi = file('junk7.pjr', 'w')
sage: pickle.dump(MyClass(), fi)
sage: fi.close()
sage: exit  # returns to the command line

sage  # now restart sage from the command line
sage: load 'junk7.spyx'
sage: import pickle
sage: fi = file('junk7.pjr', 'r')
sage: tmp = pickle.load(fi)
---------------------------------------------------------------------------
ImportError
...
ImportError: No module named _home_ryan_uva_prng_well_sage_junk7_spyx_1
}}}
So the error is trying to import the module.  Apparently compiling a .spyx file creates a new Python module each time?  Other than exiting Sage every time I want to recompile, I don't see a way around this problem -- or a way to fix it.",rhinton
3,5544,multipolynomial __call__ not consistent,algebra,sage-5.10,defect,tbd,new,2009-03-16T23:21:40-07:00,2009-07-11T04:21:15-07:00,"{{{
sage: parent(RR['x,y'].gen(1)(0,CC.0))
Complex Field with 53 bits of precision
sage: parent(RR['x,y'](0)(0,0))
Integer Ring
sage: parent(RR['x,y'](0)(0,CC.0))
Integer Ring
sage: parent(RR['x,y'](1)(0,CC.0))
Real Field with 53 bits of precision

sage: parent(QQ['x,y'](1)(0,CC.0))
Rational Field
sage: parent(QQ['x,y'](0)(0,0))
Rational Field
sage: parent(QQ['x,y'](0)(0,CC.0))
Rational Field
sage: parent(QQ['x,y'].gen(1)(0,CC.0))
Complex Field with 53 bits of precision
}}}

The result should not depend on the specific polynomial, only on its parent and the parent of the inputs. 

Univariate ones get it right:

{{{
sage: sage: parent(RR['x'](0)(0))
Real Field with 53 bits of precision
sage: sage: parent(RR['x'](0)(CC.0))
Complex Field with 53 bits of precision
}}}",robertwb
3,5545,bug in sage's Cython dependency tracker,build,sage-5.10,defect,mabshoff,new,2009-03-16T23:22:21-07:00,2009-03-16T23:22:21-07:00,"To reproduce: Start with Sage 3.4.  Apply the attached patch (dependency-tracker-bug-testcase.patch).  Rebuild with ""sage -b"", then run Sage.  Type:
{{{
sage: import sage.rings.polynomial.real_roots
}}}
You will get an error:
{{{
TypeError: sage.rings.real_mpfi.RealIntervalField is not a type object
}}}
But if you touch real_roots.pyx and rebuild, the error goes away.

So somehow real_roots.pyx depends on real_mpfi.pyx in a way that the dependency tracker doesn't catch.  (It's not obvious how, because real_roots.pyx never even mentions {{{mpfi}}}.)",cwitty
3,5547,"Restructure Ideal_generic in rings/ideal.py so that it doesn't derive from MonoidElement, since multiplying ideals doesn't work in a noncommutative ring (the  ring changes)",algebra,sage-5.10,defect,tbd,new,2009-03-17T04:02:50-07:00,2009-03-17T04:02:50-07:00,,was
3,5548,fix that _hnf_mod segfaults sage completely,linear algebra,sage-5.10,defect,was,new,2009-03-17T04:53:49-07:00,2010-10-10T14:31:40-07:00,"{{{
teragon:algebras wstein$ sage
----------------------------------------------------------------------
| Sage Version 3.4, Release Date: 2009-03-11                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: a = random_matrix(ZZ,16,4)
sage: a._hnf_mod(100)


------------------------------------------------------------
Unhandled SIGFPE: An unhandled floating point exception occured in SAGE.
This probably occured because a *compiled* component
of SAGE has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run SAGE under gdb with 'sage -gdb' to debug this.
SAGE will now terminate (sorry).
------------------------------------------------------------
}}}",was
3,5572,fast_callable improvements (followup for #5093),basic arithmetic,sage-5.10,defect,cwitty,needs_work,2009-03-19T16:55:25-07:00,2011-11-07T13:41:50-08:00,"The code at #5093 is very good and ready to go in, but there are several improvements that have been suggested and agreed work on at a later date. They are posted here so we can merge and close the other ticket. 

Specifically, this ticket addresses these issues:

  * fast_callable on list,tuple,vector,matrix arguments

  * fast_callable on constant arguments

  * fast_callable of a zero multivariate polynomial returns a zero of the base ring, without paying attention to the types of the arguments

  * in general replaces calls to fast_float with calls to fast_callable. 

  * Carries out the deprecation in #5413 (removes the functionality deprecated there)

Because of some of the far-reaching changes, this should probably not be merged in a point-point release.

What is not fixed:

  * Robert's suggestion: an option that uses a fast domain, if it's there, but ignores the domain parameter if it's not (I don't mind the idea, and the implementation is easy; what should the syntax be? Part of my problem picking a syntax is that I don't want to promise that a specialized interpreter is always faster than the Python-object interpreter, so I don't particularly want to use the word ""fast"" in any option names.)





The work on this ticket:

  * Makes #8450 easy, probably
  * Makes #7512 invalid, probably

See also
  * #10087
  * #7165
  * #11766 -- rewrite some of fast_callable to have its own recursion stack",robertwb
3,5574,taking symbolic powers should coerce objects to symbolic expressions,symbolics,sage-5.10,defect,,new,2009-03-20T03:09:12-07:00,2009-04-09T06:31:11-07:00,"Reported by Alex Raichev on sage-support:

{{{
sage: var('n',ns=1)
n
sage: (QQbar(2)^3)^n
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

<...>
<...>/sage/rings/qqbar.pyc in __pow__(self, e)
   2808             1
   2809         """"""
-> 2810         e = QQ._coerce_(e)
   2811         n = e.numerator()
   2812         d = e.denominator()

<...>/sage/structure/parent_old.so in 
sage.structure.parent_old.Parent._coerce_ (sage/structure
/parent_old.c:4031)()

<...>/site-packages/sage/structure/parent.so in 
sage.structure.parent.Parent.coerce (sage/structure/parent.c:4185)()

TypeError: no canonical coercion from New Symbolic Ring to Rational
Field
}}}

Since pynac supports using arbitrary Sage objects as numeric objects in symbolic expressions, we should return a symbolic expression as a result of the above commands. ",burcin
3,5583,coercion bug in perm groups,group theory,sage-5.10,defect,joyner,new,2009-03-22T04:36:05-07:00,2009-03-22T04:36:05-07:00,"{{{
sage: PermutationGroup([(), (1,3)]).has_coerce_map_from( PermutationGroup([(), (1,2)]) )
True
}}}",robertwb
3,5591,alt-enter makes new input cell *after* the following text cell,notebook,sage-5.10,defect,boothby,new,2009-03-23T07:43:45-07:00,2009-03-23T07:43:45-07:00,"{{{
If I want to insert a 
> calculation cell before an html cell, I can't just press Alt-Enter in 
> the foregoing calculation cell, because this creates a new calculation 
> cell AFTER the html cell. Is there another way?. 
}}}

alt-enter should put a new input cell directly after the current input cell (i.e., before any text cell following the current input cell).",jason
3,5624,"matrices cache their hash, which causes subtle bugs when moving objects between 32/64 bit",misc,sage-5.10,defect,cwitty,new,2009-03-28T08:17:37-07:00,2009-03-28T09:41:34-07:00,"{{{
On Sat, Mar 28, 2009 at 6:26 AM, Jason Bandlow <...> wrote:
>> I'm guessing this is a subtle 32 versus 64-bit issue involving
>> pickling and assumptions made somewhere in the combinat or other sage
>> code involving 32/64-bit.  The notebook is 64-bit and I bet your
>> computer is 32-bit.
>>
>> By the way, this works on the notebook in the context of your session above:
>>
>> for a, b in M.iteritems():
>>     if a == key: print b
>>
>
> Thanks William!  This does seem likely to be the problem.  I'll do more
> investigation when I get a chance and see if I can find out precisely
> where the problem is.

I know of one place in sage where objects cache their hash for efficiency reasons (e.g., I think Sage matrices do). I hadn't thought about the fact that pickling, moving to an object to a platform where the hashes are different, and unpickling, would result in the subtle issue above, but that makes sense.   Here is an example:

On a 32-bit platform do this:

sage: a = matrix(ZZ,2,[1,-2,4,1993938292]); a.set_immutable(); b = {a:5}; save(b,'/Users/wstein/b.sobj')

Then load b on a 64-bit platform (e.g. ,sage.math):

sage: a = matrix(ZZ,2,[1,-2,4,1993938292]); a.set_immutable(); b = load('b.sobj'); b[a]
boom! KeyError ...
sage: sage: b.keys()[0] == a
True

The fix here is that right before pickling the cached hash of the matrix should be deleted.

I don't know any other places in Sage that do the above.  
}}}",was
3,5641,plotting of matrices with 0 rows or columns is broken in multiple ways,graphics,sage-5.10,defect,was,new,2009-03-29T20:18:23-07:00,2012-06-01T11:31:15-07:00,"{{{
sage: matrix(QQ,0).plot()
Traceback (most recent call last):
...
IndexError: index out of bounds

sage: matrix(QQ,0,5).plot()
Traceback (most recent call last):
...
IndexError: index out of bounds

sage: matrix(QQ,5,0).plot()
Traceback (most recent call last):
...
ValueError: zero-size array to ufunc.reduce without identity
}}}",was
3,5667,matrix modified when operation should be rolled back,linear algebra,sage-5.10,defect,was,new,2009-04-02T12:42:42-07:00,2009-04-02T12:42:42-07:00,"Check this out:

{{{
sage: b

[ 1  1  0 -1  1  0]
[ 0  2  0 -5  3  1]
[ 0  0  1  2 -1  0]
sage: b[1] = b[1]/2
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/grout/.sage/temp/good/14543/_home_grout__sage_init_sage_0.py in <module>()

/home/grout/sage/local/lib/python2.5/site-packages/sage/matrix/matrix0.so in sage.matrix.matrix0.Matrix.__setitem__ (sage/matrix/matrix0.c:6325)()

/home/grout/sage/local/lib/python2.5/site-packages/sage/matrix/matrix0.so in sage.matrix.matrix0.Matrix._coerce_element (sage/matrix/matrix0.c:6667)()

/home/grout/sage/local/lib/python2.5/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:3653)()

/home/grout/sage/local/lib/python2.5/site-packages/sage/rings/rational.so in sage.rings.rational.Q_to_Z._call_ (sage/rings/rational.c:16008)()

TypeError: no conversion of this rational to integer
sage: b

[ 1  1  0 -1  1  0]
[ 0  1  0 -5  3  1]
[ 0  0  1  2 -1  0]
sage: b.base_ring()
Integer Ring
}}}

The matrix {{{b}}} was modified, but should not have been modified since the operation had an error.",jason
3,5677,Underscore for repeating output clobbered by symbolic variables,user interface,sage-5.10,defect,was,new,2009-04-03T14:39:51-07:00,2012-05-25T15:55:53-07:00,"When creating a function with a statement like

{{{f(x,y) = x^2+y^2}}}

the preparser creates a command to declare the variables and assigns it to underscore.  This renders the underscore unusable for repeating the previous output.

A workaround is to use  

{{{del _}}} 

to restore the functionality.",rbeezer
3,5679,fix a bug in solve and polynomial generators,calculus,sage-5.10,defect,burcin,new,2009-04-03T21:49:15-07:00,2011-09-13T10:01:13-07:00,"{{{
Some code that used to work in sage-3.0.6 (or something close like
3.0.3), now break with this error message:

>>> R.<x0,x1,x2> = PolynomialRing(RR, 3)
>>> solve([symbolic_expression(x0) == 0], x0, x1, x2)
Traceback (most recent call last):
 File ""<stdin>"", line 1, in <module>
 File ""/Users/anakha/.sage/sage_notebook/worksheets/admin/12/code/30.py"",
line 8, in <module>
   solve(x0 == _sage_const_0 , x0, x1, x2)
 File ""/Volumes/Place/anakha/Applications/sage/local/lib/python2.5/site-packages/SQLAlchemy-0.4.6-py2.5.egg/"",
line 1, in <module>

 File ""/Volumes/Place/anakha/Applications/sage-3.4/local/lib/python2.5/site-packages/sage/calculus/equations.py"",
line 1563, in solve
   raise TypeError, ""%s is not a valid variable.""%v
TypeError: not all arguments converted during string formatting

The printing problem is due to the fact that Polynomials have an
implicit conversion to sequence types triggered by this code:

       try:
           variables = tuple(args[0])
       except TypeError:
           variables = args

near the start of solve(), (Hint: tuple(args[0]) works if the first
variable is a PolynomialElement and thus the rest of the vars are
ignored and you get the bogus ((1.0000000, x0),) tuple as variables)

If that is fixed, then you get this message which does not help much more:

>>> R.<x0,x1,x2> = PolynomialRing(RR, 3)
>>> solve([symbolic_expression(x0) == 0], x0, x1, x2)
Traceback (most recent call last):
 File ""<stdin>"", line 1, in <module>
 File ""/Users/anakha/.sage/sage_notebook/worksheets/admin/12/code/55.py"",
line 8, in <module>
   solve(x0 == _sage_const_0 , x0, x1, x2)
 File ""/Volumes/Place/anakha/Applications/sage/local/lib/python2.5/site-packages/SQLAlchemy-0.4.6-py2.5.egg/"",
line 1, in <module>

 File ""/Users/anakha/.sage/sage_notebook/worksheets/admin/12/code/54.py"",
line 22, in solve
   raise TypeError, ""%s is not a valid variable.""%v
TypeError: x0 is not a valid variable.

Furthermore, if you disable the type checking that is done on the
input variables, then it works as before:

>>> R.<x0,x1,x2> = PolynomialRing(RR, 3)
>>> solve([symbolic_expression(x0) == 0], x0, x1, x2)
[[x0 == 0, x1 == r10, x2 == r9]]

I don't think killing the typecheck is the way to go, but maybe
extending it to cover the polynomial elements.

Or maybe another better way to do this has come up.

Arnaud
}}}",was
3,5728,limit option is misdocumented in n=100; n.factor?,number theory,sage-5.10,defect,was,new,2009-04-09T12:55:51-07:00,2009-04-09T12:55:51-07:00,"if limit is beyond pari prime bound, then limit is just replaced by min(limit, pari prime bound), which silently misleads the poor user. ",was
3,5763,"[with patch, needs work] pynac -- add _polynomial_ conversion constructor",symbolics,sage-5.10,defect,,needs_work,2009-04-11T14:40:01-07:00,2009-07-15T15:06:25-07:00,The attached patch adds conversion to polynomial rings.  Two doctests fail at this time; they rely on being able to convert to CDF and ComplexField(100).  I didn't want them to get forgotten so I left them in.,ncalexan
3,5768,improve coverage of generators.pyx,doctest coverage,sage-5.10,defect,mabshoff,new,2009-04-11T18:50:32-07:00,2013-02-09T11:07:45-08:00,,was
3,5798,_singular_() for matrices doesn't always work,interfaces,sage-5.10,defect,was,new,2009-04-15T21:18:36-07:00,2009-04-15T21:18:36-07:00,"With 3.4.1.rc2:

{{{
sage: m = matrix(RR, 4, [pi, sqrt(2), exp(1), -1])
sage: m._singular_()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/drake/.sage/temp/klee/7627/_home_drake__sage_init_sage_0.py in <module>()

/var/tmp/sage-3.4.1.rc2/local/lib/python2.5/site-packages/sage/matrix/matrix1.so in sage.matrix.matrix1.Matrix._singular_ (sage/matrix/matrix1.c:3280)()

/var/tmp/sage-3.4.1.rc2/local/lib/python2.5/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.SageObject._singular_ (sage/structure/sage_object.c:5346)()

/var/tmp/sage-3.4.1.rc2/local/lib/python2.5/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.SageObject._interface_ (sage/structure/sage_object.c:3018)()

/var/tmp/sage-3.4.1.rc2/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in __call__(self, x, type)
    652             x = str(x)[1:-1]
    653 
--> 654         return SingularElement(self, type, x, False)
    655 
    656 

/var/tmp/sage-3.4.1.rc2/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in __init__(self, parent, type, value, is_name)
   1101             except (RuntimeError, TypeError, KeyboardInterrupt), x:
   1102                 self._session_number = -1
-> 1103                 raise TypeError, x
   1104         else:
   1105             self._name = value

TypeError: Singular error:
   ? `Real` is undefined
   ? error occurred in STDIN line 3: `def sage0=Real Field with 53 bits of precision;`
}}}

The same thing also fails with a rational matrix.

Also, the docstring for {{{_singular_}}} is really bad -- it sounds like it's talking about a singular (noninvertible) matrix.",ddrake
3,5801,Delete sage/server/notebook/{test.txt|todo.txt} and move useful content from there to documentation and/or trac,misc,sage-5.10,defect,cwitty,new,2009-04-15T23:14:35-07:00,2010-01-17T20:41:49-08:00,"While looking around for something else I noticed test.txt and todo.txt. Both are surprisingly related to notebook development. Both files should be looked at and dealt with since they do not belong inside the tree. 

 * test.txt can probably be removed since we have a webtesting framework written by Mike Hansen
 * todo.txt should be looked over and the issues in there that aren't in trac yet should have tickets opened. Then the file should be removed.

Cheers,

Michael",mabshoff
3,5949,memory leak when deleting polynomial rings involving libSingular,memleak,sage-5.10,defect,mabshoff,new,2009-04-30T14:45:51-07:00,2011-06-22T11:42:03-07:00,"Memory is leaked when polynomial rings involving libSingular are deleted:

{{{
while 1:
    p = random_prime(1<<50)
    R.<x,y> = PolynomialRing(GF(p))

}}}
Valgrind pretty much points at libSingular:^^

{{{
==26879== 2,109,920 bytes in 469 blocks are possibly lost in loss record 14,860 of 14,862
==26879==    at 0x4C22FEB: malloc (vg_replace_malloc.c:207)
==26879==    by 0x1F1D0B3F: omAllocFromSystem (omAllocSystem.c:186)
==26879==    by 0x1F1D0CC1: omAllocLarge (omAllocSystem.c:41)
==26879==    by 0x1F0A0C2A: npInitChar(int, sip_sring*) (omalloc.h:2354)
==26879==    by 0x1F0B817A: nInitChar(sip_sring*) (numbers.cc:506)
==26879==    by 0x1F0C7197: rComplete(sip_sring*, int) (ring.cc:2922)
==26879==    by 0x1ECBD1C7: __pyx_pf_4sage_5rings_10polynomial_28multi_polynomial_libsingular_27MPolynomialRing_libsingular___init__(_object*, _object*, _object*) (multi_polynomial_libsingular.cpp:4995)
==26879==    by 0x45C040: type_call (typeobject.c:436)
==26879==    by 0x417E92: PyObject_Call (abstract.c:1861)
==26879==    by 0x485809: PyEval_EvalFrameEx (ceval.c:3784)
==26879==    by 0x488296: PyEval_EvalFrameEx (ceval.c:3659)
==26879==    by 0x489A95: PyEval_EvalCodeEx (ceval.c:2836)
==26879==    by 0x487704: PyEval_EvalFrameEx (ceval.c:3669)
==26879==    by 0x488296: PyEval_EvalFrameEx (ceval.c:3659)
==26879==    by 0x489A95: PyEval_EvalCodeEx (ceval.c:2836)
==26879==    by 0x4D40D7: function_call (funcobject.c:517)
==26879==    by 0x417E92: PyObject_Call (abstract.c:1861)
==26879==    by 0x41E6CE: instancemethod_call (classobject.c:2519)
==26879==    by 0x417E92: PyObject_Call (abstract.c:1861)
==26879==    by 0x485809: PyEval_EvalFrameEx (ceval.c:3784)
==26879==    by 0x489A95: PyEval_EvalCodeEx (ceval.c:2836)
==26879==    by 0x4D40D7: function_call (funcobject.c:517)
==26879==    by 0x417E92: PyObject_Call (abstract.c:1861)
==26879==    by 0x41E6CE: instancemethod_call (classobject.c:2519)
==26879==    by 0x417E92: PyObject_Call (abstract.c:1861)
}}}
This translates to rings/polynomial/multi_polynomial_libsingular.pyx +359, more specifically the rComplete() line in

{{{
        self._ring.order[nblcks] = ringorder_C

        rComplete(self._ring, 1)
        self._ring.ShortOut = 0
}}}
From src/kernel/ring.h:

{{{
// this needs to be called whenever a new ring is created: new fields
// in ring are created (like VarOffset), unless they already exist
// with force == 1, new fields are _always_ created (overwritten),
// even if they exist
BOOLEAN rComplete(ring r, int force = 0); 
}}}
Changing rComplete() to use 0 instead of 1 does not fix the problem.",mabshoff
3,5961,Document potential interference issues with ~/.pydistutils.cfg,documentation,sage-5.10,defect,tba,new,2009-05-01T23:39:51-07:00,2009-05-01T23:39:51-07:00,"See https://groups.google.com/group/sage-devel/browse_thread/thread/2cee11b068180497
{{{
Dear Sage developers,

I tried to build Sage-3.4 on my intel macbook (Mac OS X 10.4.11).  I
have Xcode 2.5 installed and gcc-4.0.1. I downloaded the sage-3.4.tar,
untarred it and ran make. I have macports installed so changed the PATH
to remove anything from /opt.  I also renamed /opt to something else in
one attempt but both failed with the same error:

-------------
[...]
Sleeping for three seconds before testing python
Traceback (most recent call last):
   File ""<string>"", line 1, in <module>
   File ""/Users/prabhu/src/build/sage-3.4/local/lib/python2.5/md5.py"",
line 6, in <module>
     from hashlib import md5
   File
""/Users/prabhu/src/build/sage-3.4/local/lib/python2.5/hashlib.py"", line
133, in <module>
     md5 = __get_builtin_constructor('md5')
   File
""/Users/prabhu/src/build/sage-3.4/local/lib/python2.5/hashlib.py"", line
60, in __get_builtin_constructor
     import _md5
ImportError: No module named _md5
md5 module failed to import
[...]
sage: An error occurred while installing python-2.5.2.p9
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /Users/prabhu/src/build/sage-3.4/install.log.  Describe your
computer, operating system, etc.

-----------------

Searching the lists for this gave me this:

http://groups.google.com/group/sage-devel/browse_thread/thread/e2fcb3...

which isn't very helpful.

After spending a little while figuring out what is wrong I realize that
I've done something a little non-standard that broke things.  I have
a default ~/.pydistutils.cfg which reads like so:

[install]
install_lib = ~/Library/Python/$py_version_short/site-packages
install_scripts = ~/usr/bin

I completely forgot about this and my install logs indicated a large
number of files being installed in the `install_lib` directory. So
moving this .pydistutils.cfg out of the way helped resolve the problem
and the build went well.

I think this should be documented somewhere so others don't fall into
the same trap.  Thanks.

cheers,
prabhu 
}}}",mabshoff
3,5994,"singular.version() yields an error when first called, has no doctest, and has a strange output imo",interfaces,sage-5.10,defect,was,needs_info,2009-05-06T02:46:52-07:00,2011-08-07T13:07:24-07:00,"First of all, {{{singular.version()}}} does not work. When one starts sage and calls it, there is an error:
{{{
----------------------------------------------------------------------
| Sage Version 3.4.1, Release Date: 2009-04-21                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: singular.version()
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (795, 0))

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/home/SimonKing/.sage/temp/sage.math.washington.edu/10897/_home_SimonKing__sage_init_sage_0.py in <module>()

/usr/local/sage/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in version(self)
   1012         EXAMPLES:
   1013         """"""
-> 1014         return singular_version()
   1015
   1016     def _function_class(self):

/usr/local/sage/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in singular_version()
   1807     EXAMPLES:
   1808     """"""
-> 1809     return singular.eval('system(""--version"");')
   1810
   1811

/usr/local/sage/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in eval(self, x, allow_semicolon, strip, **kwds)
    541
    542         if s.find(""error"") != -1 or s.find(""Segment fault"") != -1:
--> 543             raise RuntimeError, 'Singular error:\n%s'%s
    544
    545         if get_verbose() > 0:

RuntimeError: Singular error:
   ? cannot open `help.cnf`
Singular for x86_64-Linux version 3-0-4 (3044-2009031122)  Mar 11 2009 22:29:08
with
        factory(@(#) factoryVersion = 3.0.4),libfac(3.0.4,Mar 2008),
        GMP(4.2),NTL(5.4.2),static readline,Plural,DBM,
        namespaces,dynamic modules,dynamic p_Procs,OM_CHECK=0,OM_TRACK=0,random=1241602325
        CC= gcc -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H,
        CXX= g++ -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H (4.2.4 (Ubuntu 4.2.4-1ubuntu3))
argv[0]   :     Singular-3-0-4
SearchPath:     /usr/local/sage/local/LIB
Singular  :     /usr/local/sage/local/bin/Singular-3-0-4
BinDir    :     /usr/local/sage/local/bin
RootDir   :     /usr/local/sage/local
DefaultDir:     /usr/local/sage/local
InfoFile  :
IdxFile   :
HtmlDir   :
ManualUrl :     http://www.singular.uni-kl.de/Manual/3-0-4
ExDir     :
Path      :     /usr/local/sage/local/bin:/usr/local/sage/local/polymake/bin:/usr/local/sage:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
EmacsDir  :
Available HelpBrowsers: dummy, emacs,
Current HelpBrowser: dummy
   ? error occurred in STDIN line 3: `system(""--version"");`
}}}

Secondly, neither {{{singular.version}}} nor {{{singular_version}}} have doc tests.

Thirdly, if it is called again, it kind of works:
{{{
sage: singular.version()
'Singular for x86_64-Linux version 3-0-4 (3044-2009031122)  Mar 11 2009 22:29:08\nwith\n\tfactory(@(#) factoryVersion = 3.0.4),libfac(3.0.4,Mar 2008),\n\tGMP(4.2),NTL(5.4.2),static readline,Plural,DBM,\n\tnamespaces,dynamic modules,dynamic p_Procs,OM_CHECK=0,OM_TRACK=0,random=1241602325\n\tCC= gcc -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H,\n\tCXX= g++ -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H (4.2.4 (Ubuntu 4.2.4-1ubuntu3))\nargv[0]   :\tSingular-3-0-4\nSearchPath:\t/usr/local/sage/local/LIB\nSingular  :\t/usr/local/sage/local/bin/Singular-3-0-4\nBinDir    :\t/usr/local/sage/local/bin\nRootDir   :\t/usr/local/sage/local\nDefaultDir:\t/usr/local/sage/local\nInfoFile  :\t\nIdxFile   :\t\nHtmlDir   :\t\nManualUrl :\thttp://www.singular.uni-kl.de/Manual/3-0-4\nExDir     :\t\nPath      :\t/usr/local/sage/local/bin:/usr/local/sage/local/polymake/bin:/usr/local/sage:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games\nEmacsDir  :\t\nAvailable HelpBrowsers: dummy, emacs, \nCurrent HelpBrowser: dummy '
}}}

Finally, I believe that the output of {{{singular.version}}} is nasty. If I ask for the version of Singular, I expect to get, say, a tuple of integers, for example:
{{{
sage: def my_singular_version():
....:     return tuple([Integer(x) for x in singular.eval('system(""version"")')])
....:
sage: my_singular_version()
(3, 0, 4, 4)
}}}

I suggest to remake {{{singular.version}}} so that it returns a tuple of integers, rather than a cryptic string.

Problem though: Would this break code?
",SimonKing
3,5999,faster recognise if there is no discrete log,number theory,sage-5.10,defect,was,new,2009-05-06T11:57:37-07:00,2009-05-06T11:57:37-07:00,"Just one example:
sage: n=15*(factorial(54)+1);a=Mod(8,n);b=Mod(7,n);discrete_log(a,b)

And this takes lots of time, because sage first factorize n, and this takes about 4 minutes on my pc. However after finding 3 and 5 as primefactors of n you can immediately observe that {{{7^x==8 mod 15}}} is unsolvable so the original problem also.

So the idea is that: get ""small"" prime(power) divisors of n by trial division/another method, and when you find a primepower divisor then check if the problem is still solvable or not.",gerrob
3,6116,error in real literal -> RIF conversion,basic arithmetic,sage-5.10,defect,somebody,new,2009-05-21T13:13:01-07:00,2009-05-21T13:13:01-07:00,"{{{
sage: RIF(21/10).diameter()
2.11471052309554e-16
sage: RIF(2.1).diameter()
0.000000000000000
}}}",robertwb
3,6128,[with patch; needs work] Bug - sage-cleaner failed due to NULLs in spawned-processes files written by cleaner.py,misc,sage-5.10,defect,cwitty,needs_work,2009-05-25T06:18:17-07:00,2009-11-27T17:21:20-08:00,"From: adavid (on sage-devel)
{{{
After building 4.0rc0 overnight, on my laptop, I started make test
the next morning. . I shutdown the laptop before completion as I had
to rush out the door (suspend would have been a good idea...).

Regardless, I ended up with a temporary file structure with a number
of
spawned_processes files consisting of NULLs which triggers the bug as
detailed below.

Why is there NULLs instead of numeric string? <--rhetorical question

$SAGE_BASE/sage-main/sage/interfaces/cleaner.py writes the PID

Async I/O means the PID may or may not be written on a shutdown/power
outage etc.

Patch:
(against 4.0rc0)

# HG changeset patch
# User Anthony David <adavid@adavid.com.au>
# Date 1243176398 -36000
# Node ID 958178a11b9e809788f1eda0cc29107c456a1bbe
# Parent  b25ac645ae77e49db250243280eab38c2431937a
Improve write assurance of spawned_processes file by local/bin/sage-
cleaner

diff -r b25ac645ae77 -r 958178a11b9e sage/interfaces/cleaner.py
--- a/sage/interfaces/cleaner.py Thu May 21 07:10:11 2009 -0700
+++ b/sage/interfaces/cleaner.py Mon May 25 00:46:38 2009 +1000
@@ -28,6 +28,8 @@
            return
        o = open(F,'w')
    o.write('%s %s\n'%(pid, cmd))
+    o.flush()
+    os.fsync(f.fileno())
    o.close()
    start_cleaner_if_not_running()



Notes:


- Linux carbonate 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007
i686 GNU/Linux
- Debian GNU/Linux 5.0

- tested patch with a shutdown during a make test, 82 spawned-
processes files created.
Successful sage-cleaner invocation on sage  startup.

- no tests yet on other OSes/arches etc

-  The sage-cleaner statement i=L.find(' ') in kill_spawned_jobs fails
to find any spaces

- could fix the above problem but it is better to attack the root
cause,
hence the patch to cleaner.py and not sage-cleaner

- patch could be improved by creating a temporary file and them
performing
a rename after the close.

- The debug print statements in sage-cleaner were uncommented to
assist with
defining the problem

- Don't have access to TRAC

- This is not a specific 4.0rc0 bug

Bug:


anthonyd@carbonate:~/sage-4.0.rc0$ ./sage
----------------------------------------------------------------------
| Sage Version 4.0.rc0, Release Date: 2009-05-21                     |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
starting the cleaner
sage: doing a cleanup
checking on 4306
it is no longer running, so we clean up
SAGE Cleaner: deleting /home/anthonyd/.sage//temp/carbonate//4306
checking on 4623
it is running
checking on 31727
it is no longer running, so we clean up
killing 31727's spawned jobs

SAGE-Cleaner: trying to kill  with parent 31727

Traceback (most recent call last):
 File ""/home/anthonyd/sage-4.0.rc0/local/bin/sage-cleaner"", line 108,
in <module>
   while cleanup() > 0:
 File ""/home/anthonyd/sage-4.0.rc0/local/bin/sage-cleaner"", line 53,
in cleanup
   if not e or (e and kill_spawned_jobs(spawned_processes,
parent_pid)):
 File ""/home/anthonyd/sage-4.0.rc0/local/bin/sage-cleaner"", line 75,
in kill_spawne\
d_jobs
   os.killpg(int(pid), 9)
ValueError: invalid literal for int() with base 10: ''


...

$ ls -laR /home/anthonyd/.sage/temp/carbonate/31727/
/home/anthonyd/.sage/temp/carbonate/31727/:
total 12
drwxr-xr-x 3 anthonyd anthonyd    46 2009-05-24 06:58 .
drwxr-xr-x 9 anthonyd anthonyd 12288 2009-05-24 22:26 ..
drwxr-xr-x 2 anthonyd anthonyd    21 2009-05-24 06:58 interface
-rw-r--r-- 1 anthonyd anthonyd    10 2009-05-24 06:58
spawned_processes

/home/anthonyd/.sage/temp/carbonate/31727/interface:
total 4
drwxr-xr-x 2 anthonyd anthonyd  21 2009-05-24 06:58 .
drwxr-xr-x 3 anthonyd anthonyd  46 2009-05-24 06:58 ..
-rw-r--r-- 1 anthonyd anthonyd 110 2009-05-24 06:58 tmp31727

 od -xc /home/anthonyd/.sage/temp/carbonate/31727/spawned_processes
0000000 0000 0000 0000 0000 0000
        \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000012
}}}",was
3,6132,"[with patch, needs work] cmp for number field elements",basic arithmetic,sage-5.10,defect,,needs_work,2009-05-26T11:20:57-07:00,2011-12-19T22:54:49-08:00,"See discussion at http://groups.google.com/group/sage-nt/browse_thread/thread/422606e40805d5d0?hl=en

Note that {{{cmp(list(a), list(b))}}} can be slow...",robertwb
3,6135,#4073 is not fixed,interfaces,sage-5.10,defect,was,new,2009-05-26T16:49:30-07:00,2009-05-26T16:49:30-07:00,#4073 has not been fixed in 4.0.alpha0 and 4.0.rc0.,ddrake
3,6155,fix stein-watkins huge optional database,packages: optional,sage-5.10,defect,tbd,new,2009-05-29T20:52:10-07:00,2009-05-29T20:52:10-07:00,"{{{
The full Stein-Watkins package fails to install cleanly on x86_64-
redhat-linux

http://modular.math.washington.edu/Tables/ecdb/stein-watkins-ecdb.spkg

The relevant lines from install-log seem to be:

mv: invalid option -- r
Try `mv --help' for more information.

Since the install script only moves some .bz2 files into the data
directory, it's easy to figure out how to do this by hand and after a
2.7Gb download, one is remarkably motivated to do so. So I'm a very
happy user of the database now. But William might want to fix the
install script ...

Cheers,

Nils
}}}",was
3,6212,make sage -upgrade check that there are no applied hg queue patches,distribution,sage-5.10,defect,tbd,new,2009-06-04T13:40:01-07:00,2011-01-11T11:30:02-08:00,"It would be nice if sage -upgrade aborted if are applied hg queue patches, in the same way it aborts if there are local changes.",ncalexan
3,6224,sage startup takes way to long,performance,sage-5.10,defect,tbd,new,2009-06-05T03:16:36-07:00,2009-06-05T03:17:34-07:00,"This is after the cache is warm, otherwise it's even worse: 

{{{
Robert-Bradshaws-Laptop:~/sage robert$ echo """" | time sage
----------------------------------------------------------------------
| Sage Version 4.0, Release Date: 2009-05-29                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Loading Sage library. Current Mercurial branch is: referee
sage: sage: 
Exiting SAGE (CPU time 0m0.08s, Wall time 0m0.17s).
        2.58 real         1.23 user         1.19 sys

}}}

We need to go through and audit the startup imports again. ",robertwb
3,6247,sage -optional tries to write to SAGE_ROOT,misc,sage-5.10,defect,cwitty,new,2009-06-08T07:37:40-07:00,2009-06-08T07:37:40-07:00,"Reported by `somos` on `#sage-devel` on IRC

{{{
<somos> when I do 'sage -optional' it tried to make a temp file in SAGE_ROOT
...
<somos> This is ok if you are running as root user.
...
<mvngu> From the help:
<mvngu> -optional     -- list all optional packages that can be downloaded
<somos> Anyway, the problem is the temp file in SAGE_ROOT.
<somos> It should be in /tmp instead.
<mvngu> Can you explain why it should be in /tmp ?
<somos> Becuase SAGE_ROOT requires root permissions.
...
<somos> So, my suggestion is to avoid the temp file. #1
<somos> If a temp file is needed, I suggest TMP or TMPDIR instead.
}}}
",burcin
3,6255,update doc system to jsmath and improve build system (parallel doc builds),documentation,sage-5.10,defect,mhansen,new,2009-06-09T17:32:33-07:00,2012-04-21T13:40:17-07:00,This is a reminder ticket for mhansen.,ncalexan
3,6265,fix toy_d_basis.py,commutative algebra,sage-5.10,defect,malb,new,2009-06-12T01:01:59-07:00,2009-06-12T01:01:59-07:00,"As discussed at #6051.  Line 91 of sage/rings/polynomial/toy_d_basis.py needs to be unrandomed when this is fixed.

{{{
However, when we compute the Groebner basis of I (defined over `\ZZ`), we note that there is a certain integer in the ideal which is not 1.::

    sage: d_basis(I) # random -- waiting on upstream singular fixes at #6051
    [x + 170269749119, y + 2149906854, z + ..., 282687803443]                                
}}}",ncalexan
3,6288,%lisp mode on the command line doesn't work.  why?,interfaces,sage-5.10,defect,was,new,2009-06-14T13:57:48-07:00,2009-06-14T13:57:48-07:00,"{{{
> Another thing that does not work is ""sage -
> lisp"" which gave the clisp prompt. I found this rather convenient
> since I could just use the clisp within sage. Is there any plan/
> interest to switch the this lisp interface to ecl? Does ecl use
> readline?

For now you can at least start sage then type

sage: !ecl

to start ecl.  It appears to not make any use of ecl.  I don't know if this is just
a compilation problem or an ecl limitation.

The Sage <--> lisp interface already works fine:

sage: lisp.eval('(+ 2 3)')
'5'

I'm not sure why %gap works but not %lisp:

sage: %lisp
ERROR: Magic function `lisp` not found.
sage: %gap
  --> Switching to Gap <-- 
gap: 
}}}

",was
3,6292,Converting elements in AbelianGroup to gap element,group theory,sage-5.10,defect,joyner,new,2009-06-14T21:08:59-07:00,2009-06-14T21:08:59-07:00,"Some trouble in converting elements in AbelianGroup to gap elements
For example we can do this;
{{{
sage: G = SymmetricGroup(5)
sage: g = G.list()[2]
sage: H = gap(G)
sage: g in H
True
}}}
But not this;
{{{
sage: G = AbelianGroup([2,2])
sage: g = G.list()[2]
sage: H = gap(G)
sage: g in H
[...]
TypeError: Gap produced error output
Variable: 'f0' must have a value
}}}


Similarly we can't go back the other way around.
That is we can do this;
{{{
sage: G = SymmetricGroup(5)
sage: H = gap(G)
sage: r = H.ConjugacyClasses()[2].Representative()
sage: type(r)
<class 'sage.interfaces.gap.GapElement'>
sage: r in G
True
sage: G(r)
(1,2)
}}}

But not this
{{{
sage: G = AbelianGroup([2,2])
sage: H = gap(G)
sage: r = H.ConjugacyClasses()[2].Representative()
sage: r
f1
sage: r in G
False
sage: G(r)
[...]
TypeError: Argument x (= f1) is of wrong type.
}}}",jlefebvre
3,6293,conjugacy_classes_representatives is missing in AbelianGroup,group theory,sage-5.10,defect,joyner,new,2009-06-14T21:14:19-07:00,2009-06-14T21:14:19-07:00,"The function conjugacy_classes_representatives isn't defined for AbelianGroup. It's possible to simply use the list of elements when G is finite, but it probably be preferable to make sure the order of the conjugacy classes is the same as in gap. Which seems to be the case, but not totally sure. This might be easier to deal with if we can more easily convert between AbelianGroup elements and gap elements, I've opened trac 6292 for this separate issue.

{{{
sage: G = AbelianGroup([2,2])
sage: H = gap(G)
sage: H.ConjugacyClasses()
[ ConjugacyClass( Group( [ f1, f2 ] ), <identity> of ... ), 
  ConjugacyClass( Group( [ f1, f2 ] ), f1 ), 
  ConjugacyClass( Group( [ f1, f2 ] ), f2 ), 
  ConjugacyClass( Group( [ f1, f2 ] ), f1*f2 ) ]
sage: G.list()
[1, f1, f0, f0*f1]
}}}",jlefebvre
3,6311,optional doctest failure -- supersingular_j,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:40:29-07:00,2009-06-16T07:40:29-07:00,"{{{
sage -t -long --optional devel/sage/sage/modular/ssmod/ssmod.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/modular/ssmod/ssmod.py"", line 571:
    sage: supersingular_j(GF(15073^2,'a'))  # optional -- requires database
Expected:
    10630*a + 6033
Got:
    4443*a + 13964
**********************************************************************
1 items had failures:
   1 of   5 in __main__.example_5
***Test Failed*** 1 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_ssmod.py
	 [20.9 s]
}}}",was
3,6312,"[with patches, needs work] optional doctest failure -- galois_group",packages: optional,sage-5.10,defect,tbd,needs_work,2009-06-16T07:41:04-07:00,2009-07-19T10:01:13-07:00,"{{{
sage -t -long --optional devel/sage/sage/rings/number_field/number_field.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/rings/number_field/number_field.py"", line 3107:
    sage: NumberField(x^3 + 2*x + 1, 'a').galois_group(pari_group=False)    # optional - database_gap
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_69[15]>"", line 1, in <module>
        NumberField(x**Integer(3) + Integer(2)*x + Integer(1), 'a').galois_group(pari_group=False)    # optional - database_gap###line 3107:
    sage: NumberField(x^3 + 2*x + 1, 'a').galois_group(pari_group=False)    # optional - database_gap
    TypeError: galois_group() got an unexpected keyword argument 'pari_group'
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/rings/number_field/number_field.py"", line 3109:
    sage: NumberField(x^3 + 2*x + 1, 'a').galois_group(algorithm='magma')   # optional - magma, , database_gap
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_69[16]>"", line 1, in <module>
        NumberField(x**Integer(3) + Integer(2)*x + Integer(1), 'a').galois_group(algorithm='magma')   # optional - magma, , database_gap###line 3109:
    sage: NumberField(x^3 + 2*x + 1, 'a').galois_group(algorithm='magma')   # optional - magma, , database_gap
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/number_field.py"", line 3133, in galois_group
        return self._galois_group_cached(type, algorithm, names)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/misc/cachefunc.py"", line 242, in __call__
        cache[key] = self.f(self._instance, *args, **kwds)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/number_field.py"", line 3147, in _galois_group_cached
        return GaloisGroup_v2(self, names)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/galois_group.py"", line 183, in __init__
        self._galois_closure, self._gc_map = number_field.galois_closure(names=names, map=True)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/number_field.py"", line 5103, in galois_closure
        L, self_into_L = self._galois_closure_and_embedding(names)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/number_field.py"", line 5042, in _galois_closure_and_embedding
        L = K.change_names(names)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/number_field.py"", line 4679, in change_names
        return self.absolute_field(names)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/number_field.py"", line 1292, in absolute_field
        K = NumberField(self.defining_polynomial(), names, cache=False)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/number_field/number_field.py"", line 380, in NumberField
        raise TypeError, ""You must specify the name of the generator.""
    TypeError: You must specify the name of the generator.

  ***   Warning: large Minkowski bound: certification will be VERY long.
  ***   Warning: large Minkowski bound: certification will be VERY long.
  ***   Warning: large Minkowski bound: certification will be VERY long.
  ***   Warning: large Minkowski bound: certification will be VERY long.
**********************************************************************
1 items had failures:
   2 of  22 in __main__.example_69
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_number_field.py
	 [20.7 s]
}}}",was
3,6313,optional doctest failure -- caused by maxima --> pynac switch ?,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:42:04-07:00,2009-06-16T07:42:04-07:00,"{{{
sage -t -long --optional devel/sage/sage/symbolic/expression.pyx
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/symbolic/expression.pyx"", line 482:
    sage: magma(f)                         # optional - magma
Expected:
    sin(cos(x^2) + log(x))
Got:
    sin(log(x) + cos(x^2))
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/symbolic/expression.pyx"", line 2803:
    sage: maple.eval('subs(x^2 + y^2 = t, cos(x) + sin(y) + x^2 + y^2 + t)')          # optional requires maple
Expected:
    'cos(x)+sin(y)+x^2+y^2+t'
Got:
    'read ""/scratch/wstein/sage//temp/sage.math.washington.edu/560//interface//'
**********************************************************************
2 items had failures:
   1 of   7 in __main__.example_14
   1 of  18 in __main__.example_67
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_expression.py
	 [26.8 s]
}}}",was
3,6316,optional doctest failure -- surf tests fail since surf isn't included in sage anymore,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:45:27-07:00,2012-06-01T12:03:13-07:00,"I think these tests should be removed.  surf isn't in sage, and it isn't even an official ""optional spkg"". It used to be included as a binary.  It is mostly pointless now that we have implicit 3d plotting. 

{{{
sage -t -long --optional devel/sage/sage/rings/polynomial/multi_polynomial_ideal.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/rings/polynomial/multi_polynomial_ideal.py"", line 565:
    sage: I.plot()          # a cone         optional - surf
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_14[13]>"", line 1, in <module>
        I.plot()          # a cone         optional - surf###line 565:
    sage: I.plot()          # a cone         optional - surf
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py"", line 2854, in plot
        MPolynomialIdeal_singular_repr.plot(self, kwds.get(""singular"",singular_default))
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py"", line 581, in plot
        I.plot()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1385, in __call__
        return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1293, in function_call
        return self.new(s)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1089, in new
        return self(code)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/singular.py"", line 660, in __call__
        return SingularElement(self, type, x, False)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/singular.py"", line 1109, in __init__
        raise TypeError, x
    TypeError: Singular error:
    Press q to exit from 'surf'
       ? calling `surf` failed. (the shell return the error code 32512).
    probably the executable `surf` is not found.
       ? leaving surf.lib::plot
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/rings/polynomial/multi_polynomial_ideal.py"", line 567:
    sage: I.plot()          # same code, from a different angle  optional - surf
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_14[15]>"", line 1, in <module>
        I.plot()          # same code, from a different angle  optional - surf###line 567:
    sage: I.plot()          # same code, from a different angle  optional - surf
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py"", line 2854, in plot
        MPolynomialIdeal_singular_repr.plot(self, kwds.get(""singular"",singular_default))
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py"", line 581, in plot
        I.plot()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1385, in __call__
        return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1293, in function_call
        return self.new(s)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1089, in new
        return self(code)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/singular.py"", line 660, in __call__
        return SingularElement(self, type, x, False)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/singular.py"", line 1109, in __init__
        raise TypeError, x
    TypeError: Singular error:
    Press q to exit from 'surf'
       ? calling `surf` failed. (the shell return the error code 32512).
    probably the executable `surf` is not found.
       ? leaving surf.lib::plot
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/rings/polynomial/multi_polynomial_ideal.py"", line 569:
    sage: I.plot()          # Steiner surface   optional - surf
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_14[17]>"", line 1, in <module>
        I.plot()          # Steiner surface   optional - surf###line 569:
    sage: I.plot()          # Steiner surface   optional - surf
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py"", line 2854, in plot
        MPolynomialIdeal_singular_repr.plot(self, kwds.get(""singular"",singular_default))
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py"", line 581, in plot
        I.plot()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1385, in __call__
        return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1293, in function_call
        return self.new(s)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1089, in new
        return self(code)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/singular.py"", line 660, in __call__
        return SingularElement(self, type, x, False)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/singular.py"", line 1109, in __init__
        raise TypeError, x
    TypeError: Singular error:
    Press q to exit from 'surf'
       ? calling `surf` failed. (the shell return the error code 32512).
    probably the executable `surf` is not found.
       ? leaving surf.lib::plot
**********************************************************************
}}}",was
3,6317,optional doctest failure -- maple interface,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:46:05-07:00,2009-06-16T08:21:09-07:00,"Evidently the maple interface is even completely broken on sage.math right now!
{{{
sage -t -long --optional devel/sage/sage/calculus/calculus.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/calculus/calculus.py"", line 479:
    sage: g = maple(f); g                             # optional -- requires maple
Expected:
    sin(x^2)+y^z
Got:
    <BLANKLINE>
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/calculus/calculus.py"", line 481:
    sage: g.integrate(x)                              # optional -- requires maple
Expected:
    1/2*2^(1/2)*Pi^(1/2)*FresnelS(2^(1/2)/Pi^(1/2)*x)+y^z*x
Got:
    read ""/scratch/wstein/sage//temp/sage.math.washington.edu/2399//interface//tmp2399"";
    read ""/scratch/wstein/sage//temp/sage.math.washington.edu/2399//interface//tmp2399"";
    read ""/scratch/wstein/sage//temp/sage.math.washington.edu/2399//interface//tmp2399"";
    sage2
**********************************************************************
1 items had failures:
   2 of  56 in __main__.example_1
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_calculus.py
	 [13.3 s]
}}}",was
3,6319,"[with patch, needs work] optional doctest failure -- mistake in constructions guide wrt maxima interface",packages: optional,sage-5.10,defect,tbd,needs_work,2009-06-16T07:47:30-07:00,2009-07-18T06:27:16-07:00,"This was clearly *never* tested, since eval always returns a string (it can't return nothing). 

{{{
sage -t -long --optional devel/sage/doc/en/constructions/plotting.rst
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/doc/en/constructions/plotting.rst"", line 211:
    sage: maxima.eval('plotdf(x+y,[trajectory_at,2,-0.1]); ') #optional
Expected nothing
Got:
    '1'
**********************************************************************
1 items had failures:
   1 of   4 in __main__.example_11
}}}

",was
3,6320,optional doctest failure -- combinat crystal code,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:50:46-07:00,2009-06-16T08:22:19-07:00,"I have dot2tex installed but this doctest in combinat still fails:
{{{
wstein@sage:~/build/sage-4.0.2.alpha3$ which dot2tex
/usr/bin/dot2tex
wstein@sage:~/build/sage-4.0.2.alpha3$ ./sage -t -long --optional devel/sage/sage/combinat/crystals/crystals.py
sage -t -long --optional ""devel/sage/sage/combinat/crystals/crystals.py""

**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage/sage/combinat/crystals/crystals.py"", line 344:
    sage: C.latex_file('/tmp/test.tex') #optional requires dot2tex
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_10[3]>"", line 1, in <module>
        C.latex_file('/tmp/test.tex') #optional requires dot2tex###line 344:
    sage: C.latex_file('/tmp/test.tex') #optional requires dot2tex
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/combinat/crystals/crystals.py"", line 363, in latex_file
        f.write(header + self.latex() + footer)
    TypeError: cannot concatenate 'str' and 'NoneType' objects
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage/sage/combinat/crystals/crystals.py"", line 422:
    sage: C.latex() #optional requires dot2tex
Expected nothing
Got:
    dot2tex not available.  Install after running 'sage -sh'
**********************************************************************
2 items had failures:
   1 of   4 in __main__.example_10
   1 of   4 in __main__.example_13
***Test Failed*** 2 failures.
For whitespace errors, see the file /scratch/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_crystals.py
         [7.2 s]
exit code: 1024
 
----------------------------------------------------------------------
The following tests failed:


        sage -t -long --optional ""devel/sage/sage/combinat/crystals/crystals.py""
Total time for all tests: 7.2 seconds
wstein@sage:~/build/sage-4.0.2.alpha3$ 


}}}",was
3,6321,optional doctest failure -- sympow,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:51:52-07:00,2009-06-16T07:52:13-07:00,"{{{
sage -t -long --optional devel/sage/sage/lfunctions/sympow.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/lfunctions/sympow.py"", line 127:
    sage: a = sympow.L(EllipticCurve('11a'), 2, 16); a   # optional
Expected:
    '1.057599244590958E+00'
Got:
    ""Inertia Group is  C1 MULTIPLICATIVE REDUCTION\nConductor is 11\n**ERROR** P02L not found in param_data file\nIt can be added with './sympow -new_data 2'""
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/lfunctions/sympow.py"", line 129:
    sage: RR(a)                    # optional -- requires precomputations
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_4[3]>"", line 1, in <module>
        RR(a)                    # optional -- requires precomputations###line 129:
    sage: RR(a)                    # optional -- requires precomputations
      File ""parent.pyx"", line 323, in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:4130)
      File ""coerce_maps.pyx"", line 82, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3058)
      File ""coerce_maps.pyx"", line 77, in sage.structure.coerce_maps._call_ (sage/structure/coerce_maps.c:2949)
      File ""real_mpfr.pyx"", line 379, in sage.rings.real_mpfr.RealField._element_constructor_ (sage/rings/real_mpfr.c:5241)
      File ""real_mpfr.pyx"", line 983, in sage.rings.real_mpfr.RealNumber._set (sage/rings/real_mpfr.c:8892)
    TypeError: Unable to convert x (='InertiaGroupisC1MULTIPLICATIVEREDUCTION
    Conductoris11
    **ERROR**P02Lnotfoundinparam_datafile
    Itcanbeaddedwith'./sympow-new_data2'') to real number.
**********************************************************************
1 items had failures:
   2 of   4 in __main__.example_4
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_sympow.py
	 [6.5 s]
}}}",was
3,6322,optional doctest failure -- another mistake in bordeaux lectures,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:52:53-07:00,2009-06-16T07:52:53-07:00,"{{{
sage -t -long --optional devel/sage/doc/en/bordeaux_2008/nf_galois_groups.rst
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/doc/en/bordeaux_2008/nf_galois_groups.rst"", line 92:
    sage: K.galois_group(type=""gap"", algorithm='magma')    # optional
Expected:
    verbose...
    Galois group Transitive group number 2 of degree 3 of
    the Number Field in a with defining polynomial x^3 - 2
Got:
    Galois group Transitive group number 2 of degree 3 of the Number Field in a with defining polynomial x^3 - 2
**********************************************************************
1 items had failures:
   1 of   4 in __main__.example_2
***Test Failed*** 1 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_nf_galois_groups.py
	 [12.4 s]
}}}",was
3,6323,optional doctest failure -- problem in species code (easy to fix),packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:53:29-07:00,2009-06-16T07:53:29-07:00,"{{{
sage -t -long --optional devel/sage/sage/combinat/species/library.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/combinat/species/library.py"", line 55:
    sage: number, name, sseq = sloane_find(seq)[0]                    #optional
Expected nothing
Got:
    Searching Sloane's online database...
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/combinat/species/library.py"", line 62:
    sage: number, name, sseq = sloane_find(seq)[0]    #optional
Expected nothing
Got:
    Searching Sloane's online database...
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/combinat/species/library.py"", line 101:
    sage: number, name, sseq = sloane_find(seq)[0]                    #optional
Expected nothing
Got:
    Searching Sloane's online database...
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/combinat/species/library.py"", line 135:
    sage: number, name, sseq = sloane_find(seq)[0]                    #optional
Expected nothing
Got:
    Searching Sloane's online database...
**********************************************************************
3 items had failures:
   2 of  12 in __main__.example_1
   1 of  12 in __main__.example_2
   1 of   9 in __main__.example_3
***Test Failed*** 4 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_library.py
	 [6.9 s]
}}}",was
3,6324,optional doctest failure -- sloane functions and gap database,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T07:54:36-07:00,2009-06-16T07:54:36-07:00,"{{{
sage -t -long --optional devel/sage/sage/combinat/sloane_functions.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/combinat/sloane_functions.py"", line 354:
    sage: sloane.A000001._eval(51) #optional requires database_gap
Expected nothing
Got:
    1
**********************************************************************
1 items had failures:
   1 of   4 in __main__.example_13
***Test Failed*** 1 failures.
}}}",was
3,6326,"optional doctest failure -- all quadratic forms tests that involve "" # optional -- souvigner""",quadratic forms,sage-5.10,defect,justin,needs_work,2009-06-16T08:00:34-07:00,2011-03-10T22:06:28-08:00,"These all fail.  This ""souvigner"" is not an optional or even experimental spkg.  I have no clue where to get it. Either this code has to go, or Souvigner_AUTO has to be made an optional spkg (which would be a very reasonable way to resolve this ticket).

{{{
sage -t -long --optional devel/sage/sage/quadratic_forms/quadratic_form__automorphisms.py
sh: /scratch/wstein/build/sage-4.0.2.alpha3/local/bin/Souvigner_AUTO: not found
sh: /scratch/wstein/build/sage-4.0.2.alpha3/local/bin/Souvigner_AUTO: not found
sh: /scratch/wstein/build/sage-4.0.2.alpha3/local/bin/Souvigner_AUTO: not found
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 257:
    sage: Q.number_of_automorphisms()                     # optional -- souvigner
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_3[3]>"", line 1, in <module>
        Q.number_of_automorphisms()                     # optional -- souvigner###line 257:
    sage: Q.number_of_automorphisms()                     # optional -- souvigner
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 396, in number_of_automorphisms
        self.__number_of_automorphisms = self.number_of_automorphisms__souvigner()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 453, in number_of_automorphisms__souvigner
        raise RuntimeError, ""Oops! There is a problem...""
    RuntimeError: Oops! There is a problem...
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 265:
    sage: Q.number_of_automorphisms()                     # optional -- souvigner
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_3[7]>"", line 1, in <module>
        Q.number_of_automorphisms()                     # optional -- souvigner###line 265:
    sage: Q.number_of_automorphisms()                     # optional -- souvigner
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 396, in number_of_automorphisms
        self.__number_of_automorphisms = self.number_of_automorphisms__souvigner()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 453, in number_of_automorphisms__souvigner
        raise RuntimeError, ""Oops! There is a problem...""
    RuntimeError: Oops! There is a problem...
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 363:
    sage: Q.number_of_automorphisms(recompute=True)           # optional -- souvigner
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/binsh: /scratch/wstein/build/sage-4.0.2.alpha3/local/bin/Souvigner_AUTO: not found
sh: /scratch/wstein/build/sage-4.0.2.alpha3/local/bin/Souvigner_AUTO: not found
/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_4[5]>"", line 1, in <module>
        Q.number_of_automorphisms(recompute=True)           # optional -- souvigner###line 363:
    sage: Q.number_of_automorphisms(recompute=True)           # optional -- souvigner
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 396, in number_of_automorphisms
        self.__number_of_automorphisms = self.number_of_automorphisms__souvigner()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 453, in number_of_automorphisms__souvigner
        raise RuntimeError, ""Oops! There is a problem...""
    RuntimeError: Oops! There is a problem...
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 365:
    sage: Q.list_external_initializations()                   # optional -- souvigner
Expected:
    []
Got:
    ['number_of_automorphisms']
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 369:
    sage: Q.number_of_automorphisms()                         # optional -- souvigner
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_4[8]>"", line 1, in <module>
        Q.number_of_automorphisms()                         # optional -- souvigner###line 369:
    sage: Q.number_of_automorphisms()                         # optional -- souvigner
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 396, in number_of_automorphisms
        self.__number_of_automorphisms = self.number_of_automorphisms__souvigner()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 453, in number_of_automorphisms__souvigner
        raise RuntimeError, ""Oops! There is a problem...""
    RuntimeError: Oops! There is a problem...
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 410:
    sage: Q.number_of_automorphisms__souvigner()                           # optional -- souvigner
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_5[3]>"", line 1, in <module>
        Q.number_of_automorphisms__souvigner()                           # optional -- souvigner###line 410:
    sage: Q.number_of_automorphisms__souvigner()                           # optional -- souvigner
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/quadratic_forms/quadratic_form__automorphisms.py"", line 453, in number_of_automorphisms__souvigner
        raise RuntimeError, ""Oops! There is a problem...""
    RuntimeError: Oops! There is a problem...
**********************************************************************
3 items had failures:
   2 of  15 in __main__.example_3
   3 of  12 in __main__.example_4
   1 of   5 in __main__.example_5
***Test Failed*** 6 failures.
For whitespace errors, see the file /home/wstein/build/sage-4.0.2.alpha3/tmp/.doctest_quadratic_form__automorphisms.p
}}}",was
3,6333,optional doctest failure -- scilab interface is really really broken,packages: optional,sage-5.10,defect,tbd,new,2009-06-16T08:12:21-07:00,2009-06-16T08:12:21-07:00,"{{{
sage -t -long --optional devel/sage/sage/interfaces/scilab.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 19:
    sage: a**10                              # optional - scilab
Expected:
       1.000E+10
Got:
    <BLANKLINE>
    <BLANKLINE>
        1.000D+10
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 27:
    sage: print ""ignore this"";  scilab('date')                     # optional - scilab; random output
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[7]>"", line 1, in <module>
        print ""ignore this"";  scilab('date')                     # optional - scilab; random output###line 27:
    sage: print ""ignore this"";  scilab('date')                     # optional - scilab; random output
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1584, in __repr__
        s = self.parent().get(self._name)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/scilab.py"", line 321, in get
        s = self.eval('%s'%var)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/scilab.py"", line 274, in eval
        s = Expect.eval(self, command, **kwds).replace(""\x1b[?1l\x1b>"","""").strip()
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 975, in eval
        return '\n'.join([self._eval_line(L, **kwds) for L in code.split('\n') if L != ''])
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 668, in _eval_line
        raise RuntimeError, ""%s\n%s crashed executing %s""%(msg,self, line)
    RuntimeError: End Of File (EOF) in read_nonblocking(). Exception style platform.
    <pexpect.spawn instance at 0x3669a70>
    version: 2.0 ($Revision: 1.151 $)
    command: /usr/bin/scilab
    args: ['/usr/bin/scilab', '-nogui']
    patterns:
        -->
    buffer (last 100 chars): 
    before (last 100 chars): sage0
    [?1l>
    after: <class 'pexpect.EOF'>
    match: None
    match_index: None
    exitstatus: None
    flag_eof: 1
    pid: 24781
    child_fd: 7
    timeout: None
    delimiter: <class 'pexpect.EOF'>
    logfile: None
    maxread: 100
    searchwindowsize: None
    delaybeforesend: 0
    Scilab crashed executing sage0
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 29:
    sage: scilab('5*10 + 6')                 # optional - scilab
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[8]>"", line 1, in <module>
        scilab('5*10 + 6')                 # optional - scilab###line 29:
    sage: scilab('5*10 + 6')                 # optional - scilab
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1024, in __call__
        return cls(self, x, name=name)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1428, in __init__
        raise TypeError, x
    TypeError: End Of File (EOF) in read_nonblocking(). Exception style platform.
    <pexpect.spawn instance at 0x3669a70>
    version: 2.0 ($Revision: 1.151 $)
    command: /usr/bin/scilab
    args: ['/usr/bin/scilab', '-nogui']
    patterns:
        -->
    buffer (last 100 chars): 
    before (last 100 chars): sage3=5*10 + 6;

    after: <class 'pexpect.EOF'>
    match: None
    match_index: None
    exitstatus: 0
    flag_eof: 1
    pid: 24781
    child_fd: 7
    timeout: None
    delimiter: <class 'pexpect.EOF'>
    logfile: None
    maxread: 100
    searchwindowsize: None
    delaybeforesend: 0
    Scilab crashed executing sage3=5*10 + 6;
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 31:
    sage: scilab('(6+6)/3')                  # optional - scilab
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[9]>"", line 1, in <module>
        scilab('(6+6)/3')                  # optional - scilab###line 31:
    sage: scilab('(6+6)/3')                  # optional - scilab
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1024, in __call__
        return cls(self, x, name=name)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1428, in __init__
        raise TypeError, x
    TypeError: End Of File (EOF) in read_nonblocking(). Exception style platform.
    <pexpect.spawn instance at 0x3669a70>
    version: 2.0 ($Revision: 1.151 $)
    command: /usr/bin/scilab
    args: ['/usr/bin/scilab', '-nogui']
    patterns:
        -->
    buffer (last 100 chars): 
    before (last 100 chars): sage2=(6+6)/3;

    after: <class 'pexpect.EOF'>
    match: None
    match_index: None
    exitstatus: 0
    flag_eof: 1
    pid: 24781
    child_fd: 7
    timeout: None
    delimiter: <class 'pexpect.EOF'>
    logfile: None
    maxread: 100
    searchwindowsize: None
    delaybeforesend: 0
    Scilab crashed executing sage2=(6+6)/3;
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 33:
    sage: scilab('9')^2                      # optional - scilab
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[10]>"", line 1, in <module>
        scilab('9')**Integer(2)                      # optional - scilab###line 33:
    sage: scilab('9')^2                      # optional - scilab
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1024, in __call__
        return cls(self, x, name=name)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1428, in __init__
        raise TypeError, x
    TypeError: End Of File (EOF) in read_nonblocking(). Exception style platform.
    <pexpect.spawn instance at 0x3669a70>
    version: 2.0 ($Revision: 1.151 $)
    command: /usr/bin/scilab
    args: ['/usr/bin/scilab', '-nogui']
    patterns:
        -->
    buffer (last 100 chars): 
    before (last 100 chars): sage0=9;

    after: <class 'pexpect.EOF'>
    match: None
    match_index: None
    exitstatus: 0
    flag_eof: 1
    pid: 24781
    child_fd: 7
    timeout: None
    delimiter: <class 'pexpect.EOF'>
    logfile: None
    maxread: 100
    searchwindowsize: None
    delaybeforesend: 0
    Scilab crashed executing sage0=9;
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 35:
    sage: a = scilab(10); b = scilab(20); c = scilab(30)    # optional - scilab
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[11]>"", line 1, in <module>
        a = scilab(Integer(10)); b = scilab(Integer(20)); c = scilab(Integer(30))    # optional - scilab###line 35:
    sage: a = scilab(10); b = scilab(20); c = scilab(30)    # optional - scilab
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1026, in __call__
        return self._coerce_from_special_method(x)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1052, in _coerce_from_special_method
        return self(x._interface_init_())
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1024, in __call__
        return cls(self, x, name=name)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/lib/python2.5/site-packages/sage/interfaces/expect.py"", line 1428, in __init__
        raise TypeError, x
    TypeError: End Of File (EOF) in read_nonblocking(). Exception style platform.
    <pexpect.spawn instance at 0x3669a70>
    version: 2.0 ($Revision: 1.151 $)
    command: /usr/bin/scilab
    args: ['/usr/bin/scilab', '-nogui']
    patterns:
        -->
    buffer (last 100 chars): 
    before (last 100 chars): sage4=10;

    after: <class 'pexpect.EOF'>
    match: None
    match_index: None
    exitstatus: 0
    flag_eof: 1
    pid: 24781
    child_fd: 7
    timeout: None
    delimiter: <class 'pexpect.EOF'>
    logfile: None
    maxread: 100
    searchwindowsize: None
    delaybeforesend: 0
    Scilab crashed executing sage4=10;
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 36:
    sage: avg = (a+b+c)/3                    # optional - scilab
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[12]>"", line 1, in <module>
        avg = (a+b+c)/Integer(3)                    # optional - scilab###line 36:
    sage: avg = (a+b+c)/3                    # optional - scilab
    NameError: name 'b' is not defined
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 37:
    sage: avg                                # optional - scilab
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[13]>"", line 1, in <module>
        avg                                # optional - scilab###line 37:
    sage: avg                                # optional - scilab
    NameError: name 'avg' is not defined
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/scilab.py"", line 39:
    sage: parent(avg)                        # optional - scilab
Exception raised:
    Traceback (most recent call last):
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/scratch/wstein/build/sage-4.0.2.alpha3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_0[14]>"", line 1, in <module>
        parent(avg)                        # optional - scilab###line 39:
    sage: parent(avg)                        # optional - scilab
    NameError: name 'avg' is not defined
...
}}}
and it goes on for *hundreds* of pages.
And I do have scilab installed
{{{
wstein@sage:~/build/sage-4.0.2.alpha3$ sage
----------------------------------------------------------------------
| Sage Version 4.0.2.rc0, Release Date: 2009-06-15                   |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: scilab.version()
'scilab-4.1.2'
}}}",was
3,6335,optional doctest failure -- kash interface (trivial to fix),packages: optional,sage-5.10,defect,tbd,needs_work,2009-06-16T08:18:16-07:00,2013-02-18T13:45:35-08:00,"{{{
sage -t -long --optional devel/sage/sage/interfaces/kash.py
**********************************************************************
File ""/scratch/wstein/build/sage-4.0.2.alpha3/devel/sage-main/sage/interfaces/kash.py"", line 68:
    sage: a = kash('(9 - 7) * (5 + 6)'); a              # optional -- kash
Expected nothing
Got:
    22
**********************************************************************
1 items had failures:
   1 of 103 in __main__.example_0
***Test Failed*** 1 failures.

}}}",was
3,6337,bug in jordan_form over symbolic ring,linear algebra,sage-5.10,defect,was,new,2009-06-16T09:58:27-07:00,2009-06-16T10:13:14-07:00,"{{{
sage: version()
'Sage Version 4.0.1, Release Date: 2009-06-06'
sage: var('a d')
(a, d)
sage: A = matrix([[a,0],[1,d]])
sage: A.eigenvalues()
[d, a]
sage: A.jordan_form()
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call
last)

/home/bo198214/.sage/temp/darkdepth/6404/
_home_bo198214__sage_init_sage_0.py in <module>()

/usr/src/sage-4.0.1-linux-Debian_GNU_Linux_5.0_lenny-sse2-x86_64-Linux/
local/lib/python2.5/site-packages/sage/matrix/matrix2.so in
sage.matrix.matrix2.Matrix.jordan_form (sage/matrix/matrix2.c:27915)()

RuntimeError: Some eigenvalue does not exist in Symbolic Ring.
}}}",was
3,6342,[with patch; needs work] notebook -- fix that the slideshow mode in the notebook utterly completely broken,notebook,sage-5.10,defect,boothby,needs_work,2009-06-16T15:15:54-07:00,2009-06-23T03:56:31-07:00,"This patch turns slideshow mode into something actually pretty useful.  It is maybe uglier than it was 2 years ago.  It is maybe ""lame""-ish, perhaps.  But it is usable!  Which is a million times better than the literally buggy situation now.  

The actual patch attached here tracks both the cell_list (the compute cells), and adds a new list allcell_list, which contains all the cells (not just the compute cells).

One other thing -- this patch addresses what looks to me like some terrible scary code in the tinymce integration into Sage.  Basically there was a massive junk of javascript that got sent back from the server with each evaluation, and got eval'd via a timeout -- not good.   Now it is done statically without any code being eval'd.  ",was
3,6366,lift method on elements of residue class field is broken / not implemented as it should be,number fields,sage-5.10,defect,davidloeffler,new,2009-06-20T08:14:45-07:00,2009-07-21T01:20:05-07:00,"{{{
sage: K.<a> = NumberField(x^2 + 3)
sage: P = K.factor(5)[0][0]; P
Fractional ideal (5)
sage: F = P.residue_field()
sage: z = F.gen() + 2; z
abar + 2
sage: F.lift(z)
6*a + 2
sage: z.lift()
Traceback (most recent call last):
...
AttributeError: 'sage.rings.finite_field_givaro.FiniteField_givaroE' object has no attribute 'lift'
}}}",was
3,6369,the sage cleaner should kill all notebook servers if sage that spawned them is killed,notebook,sage-5.10,defect,boothby,new,2009-06-20T08:34:43-07:00,2010-01-18T23:13:44-08:00,"Try this:

 1. {{{sage -notebook foo}}}

 2. Find the pid of the sage -notebook process with {{{ps ax |grep ""sage -notebook""}}}

 3. Kill that process with {{{kill -9 [pid]}}}

 4. The notebook server is still going.  And now the only way to kill it is with {{{ps ax |grep tracd}}} and start killing things until you hit the right one.

Since people, especially new sage users, often kill the notebook server by, e.g., clicking kill in a terminal or some other silly means, it would be much better if the sage-cleaner could at least step in and kill the notebook server, so it gets shut down cleanly (saving its state), and doesn't stop the notebook from running in the future (if it is always running, it can't run again), hence confusing users.

To do all this is probably as simple as calling one little register function in sage.misc.cleaner.",was
3,6370,notebook -- REST search of docs in live mode is completely broken,notebook,sage-5.10,defect,boothby,new,2009-06-20T08:38:51-07:00,2010-05-15T13:58:28-07:00,"Try this:

1. Start the sage notebook and go to this URL:
{{{
http://localhost:8000/doc/live/reference/sage/games/sudoku.html
}}}
You can do that, e.g, by just clicking on Help, Reference Manual, etc.

2. Try to search for anything, e.g, integer.  

3. It doesn't work at all. 



I consider this a pretty serious bug.  Some ideas:

  * make the search box actually bring up the static docs instead, where search *DOES* work

  * disable search in the live docs.

  * fix the real problem so search works in the live docs as it should.

Any of the above would be way way better than the current situation.",was
3,6385,Python relative import messes up Sage command line arguments,distribution,sage-5.10,defect,tbd,new,2009-06-22T10:58:12-07:00,2009-06-22T10:58:12-07:00,"From: 

http://groups.google.com/group/sage-devel/browse_thread/thread/a9e80289571de40e

On Mon, Jun 22, 2009 at 6:38 PM, Robert Miller<rlmills...@gmail.com> wrote:

> I tried running the Sage notebook as follows, from SAGE_ROOT/devel/
> sage-main:

> $ ../../sage -notebook

> And I get the following error:

> Please wait while the Sage Notebook server starts...
> Traceback (most recent call last):
>  File ""/Users/rlmill/sage-4.0.2/local/bin/sage-notebook"", line 9, in
> <module>
>    from sage.server.notebook.all import notebook
>  File ""/Users/rlmill/sage-4.0.2/devel/sage-main/sage/server/notebook/
> all.py"", line 15, in <module>
>    from notebook_object import notebook, inotebook
>  File ""/Users/rlmill/sage-4.0.2/devel/sage-main/sage/server/notebook/
> notebook_object.py"", line 19, in <module>
>    import notebook as _notebook
>  File ""/Users/rlmill/sage-4.0.2/devel/sage-main/sage/server/notebook/
> notebook.py"", line 22, in <module>
>    from   sage.structure.sage_object import SageObject, load
> ImportError: No module named sage_object

> Can anyone reproduce this?

In python imports are relative by default, so ""import sage"" does not
mean what you think.   I think long ago I hacked around this problem
for just typing ""sage"" to start sage, by making it change to a
different directory during startup.   (I vaguely recall doing that
specifically to get Sage to work on Cygwin, actually.)

So I think the above should be considered a bug, and you should
definitely report it to trac.  Probably the fix is to change the
directory during part of Sage startup, to thwart Python's relative
import system.

William ",rlm
3,6392,modular abelian quotient -- something goes wrong,modular forms,sage-5.10,defect,craigcitro,new,2009-06-24T02:53:32-07:00,2010-12-21T07:50:47-08:00,"This isn't right:
{{{
sage: J = J0(43)
sage: G,_ = J[0].intersection(J[1])
sage: J[1]/G
Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43)
}}}

This is
{{{
sage: J[0]/G

(Abelian variety factor of dimension 1 of J0(43),
 Abelian variety morphism:
  From: Simple abelian subvariety 43a(1,43) of dimension 1 of J0(43)
  To:   Abelian variety factor of dimension 1 of J0(43))
}}}

For some reason J[1]/G isn't even creating the right output (i.e., pair (abvar, map)). ",was
3,6413,Retrieving the multiplication-by-p isogeny on elliptic curves over fields of characteristic p fails.,elliptic curves,sage-5.10,defect,tba,new,2009-06-25T11:23:38-07:00,2010-01-01T15:39:12-08:00,"{{{
sage: p = 11
sage: E = EllipticCurve(GF(p), [1,1])
sage: E.multiplication_by_m(p)
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)

/Users/hlaw/.sage/temp/resid_tg082.upc.es/80890/_Users_hlaw__sage_init_sage_0.py in <module>()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_generic.pyc in multiplication_by_m(self, m, x_only)
   2133         #  and hence 2*my+a1*mx+a3 = (1/m)*(2*y+a1*x+a3)*d(mx)/dx
   2134 
-> 2135         my = ((2*y+a1*x+a3)*mx.derivative(x)/m - a1*mx-a3)/2
   2136 
   2137         return mx, my

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__div__ (sage/structure/element.c:10361)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:6105)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__div__ (sage/structure/element.c:10342)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/rings/fraction_field_element.so in sage.rings.fraction_field_element.FractionFieldElement._div_ (sage/rings/fraction_field_element.c:5805)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/rings/fraction_field_element.so in sage.rings.fraction_field_element.FractionFieldElement.__init__ (sage/rings/fraction_field_element.c:1954)()

ZeroDivisionError: fraction field element division by zero
}}}
One can see from the line that causes the error that the calculation of the ''y''-component of the isogeny involves a division by ''m'', which in this case is the characteristic of the ground field.
",hlaw
3,6430,Cython problem with hashing Laurent series elements over CDF,commutative algebra,sage-5.10,defect,malb,new,2009-06-26T21:37:25-07:00,2009-06-26T21:37:25-07:00,"{{{
sage: hash(1/CDF[['t']].gen())
-2
sage: hash(1/CDF[['t']].gen()^2)
---------------------------------------------------------------------------
SystemError                               Traceback (most recent call last)

/Users/ncalexan/Documents/School/period_matrix/riemann_surface.py in <module>()

SystemError: error return without exception set
}}}",ncalexan
3,6431,no call method from Laurent series into Power series ring,commutative algebra,sage-5.10,defect,malb,new,2009-06-26T21:39:42-07:00,2009-06-26T21:39:42-07:00,"{{{
sage: CDF[['t']]( ~(~CDF[['t']].gen()^2) )
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Users/ncalexan/Documents/School/period_matrix/riemann_surface.py in <module>()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/power_series_ring.pyc in __call__(self, f, prec, check)
    378             v = sage_eval(f.Eltseq())
    379             return self(v) * (self.gen(0)**f.Valuation())
--> 380         return self.__power_series_class(self, f, prec, check=check)
    381         
    382     def construction(self):

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/power_series_poly.so in sage.rings.power_series_poly.PowerSeries_poly.__init__ (sage/rings/power_series_poly.c:2307)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:4150)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args (sage/structure/coerce_maps.c:3448)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps._call_with_args (sage/structure/coerce_maps.c:3262)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/polynomial/polynomial_ring.pyc in _element_constructor_(self, x, check, is_gen, construct, **kwds)
    310                 x = x.Polrev()
    311 
--> 312         return C(self, x, check, is_gen, construct=construct, **kwds)
    313 
    314     def is_integral_domain(self):

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/polynomial/polynomial_element_generic.pyc in __init__(self, parent, x, check, is_gen, construct)
    581 class Polynomial_generic_dense_field(Polynomial_generic_dense, Polynomial_generic_field):
    582     def __init__(self, parent, x=None, check=True, is_gen = False, construct=False):
--> 583         Polynomial_generic_dense.__init__(self, parent, x, check, is_gen)
    584 
    585 

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial_generic_dense.__init__ (sage/rings/polynomial/polynomial_element.c:35169)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/complex_double.so in sage.rings.complex_double.ComplexDoubleField_class.__call__ (sage/rings/complex_double.c:3596)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:4130)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3058)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps._call_ (sage/structure/coerce_maps.c:2949)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/complex_double.so in sage.rings.complex_double.ComplexDoubleField_class._element_constructor_ (sage/rings/complex_double.c:4022)()

/Users/ncalexan/sage-4.0.1.alpha0/local/lib/python2.5/site-packages/sage/rings/complex_double.so in sage.rings.complex_double.ComplexDoubleElement.__init__ (sage/rings/complex_double.c:5765)()

TypeError: a float is required
}}}",ncalexan
3,6472,ideal.groebner_basis gives incorrect answers,commutative algebra,sage-5.10,defect,tbd,new,2009-07-06T21:49:45-07:00,2009-11-15T05:15:21-08:00,"This is wrong:

{{{
sage: R.<a,b,c,d>=PolynomialRing(QQ,order=""lex"")
sage: ideal(a-b^16,b-c^16,c-d^1024).groebner_basis()
[a - d^4096, b - d^16384, c - d^1024]
}}}

The correct answer as given by Macaulay 2:

{{{
i30 : R=QQ[a,b,c,d, MonomialOrder=>Lex];
i31 : I=ideal(a-b^16,b-c^16,c-d^1024);
i32 : gens gb I
o32 = | c-d1024 b-d16384 a-d262144 |
}}}

In particular the binomial involving a should raise d to the power 262144=2^18^, not 4096=2^12^ as Sage reports.

I suspect that the reason is that by default Sage uses Singular to implement groebner_basis, and Singular has limitations on the size of exponents. See http://www.singular.uni-kl.de/Manual/latest/sing_343.htm#SEC384 which in particular says

{{{
the maximal allowed exponent of a ring variable depends on the ordering of the ring and is at least 32767.
}}}
",broune
3,6473,ideal.interreduced_basis hangs forever,commutative algebra,sage-5.10,defect,tbd,new,2009-07-06T22:00:28-07:00,2009-11-15T05:15:53-08:00,"This completes in a fraction of a second:

{{{
sage: R.<a,b,c,d>=PolynomialRing(QQ,order=""lex"")
sage: ideal(a^16,a-b^16,b-c^16,c-d^15).interreduced_basis()
[d^61440, c - d^15, b - d^240, a - d^3840]
}}}

I stopped the following after more than an hour, which leads me to believe that Sage is stuck in an infinite loop:

{{{
sage: R.<a,b,c,d>=PolynomialRing(QQ,order=""lex"")
sage: ideal(a^16,a-b^16,b-c^16,c-d^16).interreduced_basis()
}}}

The only difference between the two is that the power of d in the input binomial involving c as the initial term is increased from 15 to 16. This difference has no mathematical significance and should have no impact on the computation time.

I suspect that the reason is that by default Sage uses Singular to implement interreduced_basis, and Singular has limitations on the size of exponents. See http://www.singular.uni-kl.de/Manual/latest/sing_343.htm#SEC384 which in particular says

{{{
the maximal allowed exponent of a ring variable depends on the ordering of the ring and is at least 32767.
}}}

In this case increasing the exponent from 15 to 16 makes the output have an exponent of 16^4^=2^16^=65536, while leaving it at 15 puts it just a bit below that, allowing to contain it within a 16 bit integer.
",broune
3,6539,MPIR determines linker is GNU when it's Sun on OpenSolaris - x86 NOT Sparc.,porting: Solaris,sage-5.10,defect,tbd,new,2009-07-15T17:27:17-07:00,2009-12-02T20:08:54-08:00,"Thommy Malmstrom, thommy.m.malmstrom@gmail.com reported a problem to me with a failed build of Sage on an OpenSolaris (AMD or Intel processor).
{{{
Host system
uname -a:
SunOS bigblue 5.11 snv_101b i86pc i386 i86pc Solaris
}}}
What can be seen in the configure script's output is the linker is determined to be the GNU linker:

{{{
checking for ld used by gcc -std=gnu99... ld
checking if the linker (ld) is GNU ld... yes
}}}

But this is incorrect, as the output from the compiler shows:
{{{
Configured with: /builds2/sfwnv-gate/usr/src/cmd/gcc/gcc-3.4.3/configure
--prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as
--with-ld=/usr/ccs/bin/ld --without-gnu-ld
--enable-languages=c,c++,f77,objc --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-20050802)
}}}

The error is a result of sending the -soname to the Sun linker, which generates an error - clearly this is nothing like you would expect from a GNU tool, and is the Sun linker:

{{{
usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VW:Y:?]
file(s)
        [-64]           enforce a 64-bit link-edit
        [-a]            create an absolute file
        [-b]            do not do special PIC relocations in a.out
        [-B direct | nodirect]
                        establish direct bindings, or inhibit direct binding
                        to, the object being created
        [-B dynamic | static]
                        search for shared libraries|archives
        [-B eliminate]  eliminate unqualified global symbols from the
                        symbol table
        [-B group]      relocate object from within group
        [-B local]      reduce unqualified global symbols to local

}}}
I've attached the part of the log connected with the building of mpir. 

The configure script was generated using autoconf 2.61, which is about (Nov 2006), so is around two and a half years old. It might be that the old version does not perform too well on OpenSolaris, so I would suggest a later version is used to generate the configure script. 

Dave ",drkirkby
3,6592,minimize_constrained only takes lambda functions as constraints,numerical,sage-5.10,defect,jkantor,new,2009-07-22T08:31:31-07:00,2010-03-16T22:12:48-07:00,"e.g.:
{{{
sage: var('x y')
sage: f = (100 - x) + (1000 - y)
sage: c = x + y - 479 # > 0
sage: minimize_constrained(f,[c],[100,300])
Traceback (most recent call last):
...
UnboundLocalError: local variable 'min' referenced before assignment
}}}",rlm
3,6598,"Change the sage build system to use ""set -e"" so that if any error occurs in spkg-install then the build immediately terminates with an error",build,sage-5.10,defect,tbd,new,2009-07-23T02:46:34-07:00,2009-07-23T02:46:34-07:00,"{{{
> Nonetheless, we should be checking the error code after every line
> executes, one way or another.  Is there a way to automatically do this
> in bash?

""set -e"" should do it.

Google brings up this page, besides lots of others:

http://www.davidpashley.com/articles/writing-robust-shell-scripts.html


Cheers,
Burcin
}}}",was
3,6599,hidden markov models are completely broken on OS X 64-bit,porting,sage-5.10,defect,tbd,new,2009-07-23T03:12:26-07:00,2009-07-23T03:12:26-07:00,"{{{
was@bsd:~/build/64bit/sage-4.1.rc1$ ./sage
----------------------------------------------------------------------
| Sage Version 4.1, Release Date: 2009-07-09                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: A  = [[0.5,0.5],[0.5,0.5]]
sage: B  = [[(0.5,(0.0,1.0)), (0.1,(1,10000))],[(1,(1,1)), (0,(0,0.1))]]
sage: pi = [1,0]
sage: hmm.GaussianMixtureHiddenMarkovModel(A, B, pi)

------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occured in SAGE.
This probably occured because a *compiled* component
of SAGE has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run SAGE under gdb with 'sage -gdb' to debug this.
SAGE will now terminate (sorry).
------------------------------------------------------------

}}}

Note that a long time ago we stupidly turned off doctesting of HMM's so that tests would pass on itanium.  We were lazy and never turned them back on, which is why this never got caught before. ",was
3,6618,Follow up on #6591: make tightpage work even in the notebook,interfaces,sage-5.10,defect,nthiery,needs_work,2009-07-25T07:52:25-07:00,2013-01-03T12:04:01-08:00,,nthiery
3,6623,Memory leak when calling binomial,symbolics,sage-5.10,defect,,new,2009-07-25T18:41:23-07:00,2011-12-13T16:18:30-08:00,"There appears to be a memory leak when repeatedly calling binomial with different parameters.  This sometimes also appears when the parameters to binomial are not varied, but is not consistent.  This is a problem for the Combinations rank code, which makes many repeated calls to binomial.

{{{
sage: import random
print get_memory_usage()
for i in xrange(100000):
    x=random.randint(10,100)
    y=random.randint(0,x)
    r=binomial(x,y)
print get_memory_usage()

730.6328125
736.5625
}}}

The output is from running the code in Sage 4.1 on sagenb.org.  I think the same problem may involve the symbolic backend and GiNaC, since the same problem also occurs with log. See this [http://groups.google.com/group/sage-support/browse_thread/thread/5d202080e85ab1b8/2d71601ce86d7645 sage-support] thread for some background discussion.",hartke
3,6629,"Implement the abstract ring of multivariate polynomials, with several bases (Schur schubert, ...)",combinatorics,sage-5.10,defect,VivianePons,new,2009-07-26T12:55:34-07:00,2013-05-16T00:51:19-07:00,"We build an implantation of polynomials as formal sum of exponents. This allows to work on any number of variables with some easy morphism. We use some actions of Weyl group on the exponents to create operators (especially divided difference operators). 

These operators allow us to build different bases that comes from geometry and have nice combinatorial description.",nthiery
3,6635,"[with patch; not ready for review] implement more critical Hecke algebra functionality: index in saturation, discriminant",modular forms,sage-5.10,defect,craigcitro,needs_work,2009-07-26T22:12:47-07:00,2009-07-29T11:18:28-07:00,"Implement functions for computing saturations and discriminants.  

I'll do this since it's needed for a paper I'm publishing very soon with Ken Ribet and Amod Agashe.",was
3,6682,Support non-ASCII characters in Sage sources,build,sage-5.10,defect,tbd,new,2009-08-07T00:03:17-07:00,2012-10-02T14:56:33-07:00,"This involves at least fixing the documentation build process and trac to support utf-8. Possibly other components as well. 

Discussion in [http://groups.google.com/group/sage-devel/browse_thread/thread/ff129ae1c62d5a78 August 2009].

More recent discussion [http://groups.google.com/group/sage-devel/browse_thread/thread/4b408b6e240f40a here].
",robertwb
3,6702,Sage will not build in 64-bit mode on Solaris,porting: Solaris,sage-5.10,defect,tbd,new,2009-08-09T02:19:59-07:00,2009-12-02T20:10:14-08:00,"Well known issue, but I thought I'd raise a trac ticket for it. 

I don't see this being fixed any time soon. ",drkirkby
3,6703,Sage will not build with Sun compilers on Solaris,porting: Solaris,sage-5.10,defect,tbd,new,2009-08-09T02:22:34-07:00,2009-08-09T02:22:34-07:00,"A well known issue and one I think may be fixable without a huge effort. The Sun compilers give better performance on Solaris than GNU.

Note, Sun Studio which contains the latest Solaris compilers is now free from Sun - it used to cost a lot of money. 

",drkirkby
3,6705,ATLAS has no tuning parameters for sun4v machines,porting: Solaris,sage-5.10,defect,tbd,new,2009-08-09T02:48:52-07:00,2010-09-01T18:23:01-07:00,"Code in ATLAS can not detect the processor type on machines like the Sun T5240 ('t2') as it 

This has been passed upstream

https://sourceforge.net/tracker/?func=detail&aid=2825994&group_id=23725&atid=379483

but there is no fix yet. I probably have enough information to fix this, but have not done so yet. 

",drkirkby
3,6709,There are many doctest failues on Solaris 32-bit builds.,porting: Solaris,sage-5.10,defect,drkirkby,new,2009-08-09T03:24:07-07:00,2011-04-02T05:37:16-07:00,"I'll post a couple of logs later, but thought I'd create a ticket for this. ",drkirkby
3,6710,Numerous build issues on Solaris.,porting: Solaris,sage-5.10,defect,drkirkby,new,2009-08-09T03:44:26-07:00,2011-08-19T06:51:47-07:00,"Sage can build on both SPARC and x86, but some issues remain. Some of these problems can affect other operating systems too. I added this as a trac ticket, mainly so I can keep a record of what what bugs remain and what get fixed. 

I've split the issues into two sections. Issues 1-7 will prevent Sage building on Solaris in some or all cases. Workarounds, hacks and updated .spkg files will get around these but have negative side effects. 

Issues 8 onwards are less serious and do not prevent Sage building on Solaris in any case at all. 

'''CRITICAL BUGS - Stop Sage building in some/all cases'''

1) The version of ECL in Sage will not build on Solaris SPARC. 
#6564

The latest ECL 9.8.1 fixes this. 

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.8.1/

2) An update to Maxima is needed to allow the new ECL to be installed, as the old Maxima in Sage has a bug which the new ECL detects and rejects. 

#6699 

A new maxima SPKG can be found here. 
http://sage.math.washington.edu/home/kirkby/Solaris-fixes/maxima-5.19.0

3) There's an 'Error building 'modified sage library code' when including paripriv.h'

#6579

A hack of manually commenting out lines 258, 259 and 428 of 

$SAGE_HOME/local/include/pari/paripriv.h

will bypass  this. 

5) MPIR determines linker is GNU when it's Sun on some versions of Solaris x86.

#6539

6) MPIR tries to link in gmp on some versions of Solaris x86. 

#6706

7) Sage will not build if the Sun compiler suite is installed. Some code finds the Sun C++ compiler in /opt/SUNWspro/bin/CC and uses that. Temporarily renaming /opt/SUNWspro to something else will fix this, but needs root access. #6595

'''LESS SERIOUS - which don't prevent Sage building on Solaris. '''

8) There is a bug in Solaris 10 on sun4v machines which means memset() is broken. A patch to MPFR has been included, and will allow it to MPFR to build, but it will impact performance. 

I'm told by Sun this will be addressed in the next release of Solaris 
10, though I should personally have a patch earlier. 

9) ATLAS will not tune properly on a Sun T5240 ('t2') but will on my own sun4u machines. 

#6705

10) ATLAS dumps core on a Sun T5240 sun4v machine ('t2'). This does not appear to be a gcc 4.4.0 specific bug, as it works fine on my home machine. I added a patch to ATLAS 

#6276

to fix this, but the fix will impact performance, as some tuning data will be computed incorrect, as a 'reasonable' rather than 'optimal' value for one of the tuning parameters is returns. 

I added a second patch, which means the fix can be bypassed on machines where it is not an issue.

#6558

11) There's a potential issue in polybori - 0.5rc.p8 and/or 0.5rc.p9 which will cause problems if the Sun compilers were used. 

#6582

(There are other issues too with Sun compilers, but this is one I know of). 

12) No support for Sun compilers
#6703

Any attempt to use the Sun compiler suite will fail miserably at a very early stage, due to the configure script in prereq-0.3.tar 

It would be sensible to allow the use of the Sun compilers, but issue a warning that it is very likely to fail. Once we know where the problems lie, we can report these upstream. 

After I hacked the configure script to allow the Sun compilers to be used, I noticed the GNU ones were being used by some code, despite CC, CXX and SAGE_FORTRAN all being set to the Sun compilers. This indicates several packages are ignoring settings of CC, CXX and SAGE_FORTRAN. 

I intend creating a new configure.ac which address this and many other issues with the configure script. 

13) No support for 64-bit on Solaris
#6702

14) Several doctests fail. 
#6709

15) lcalc-20080205.p2 tries to suppress warnings from the assembler, but fails to do this on Solaris if gcc uses the Sun assembler, as the option passed to the assembler is invalid on with Sun's assembler. (Of course, its not sensible to bypass warnings). 

#6609

16) ATLAS has no tuning parameters for sun4v machines

#6705

17) Sage will try to build on compilers known to be too old.

#6707

This is related to #6701 and it not Solaris specific, though some things in #6701 are.

18) Top level README.txt is wrong regarding Solaris (in fact, also all operating systems). More serious errors regarding Solaris in README.txt

#6055

19) elliptic_e() is giving the wrong result #6716 This is known to be a bug in ECL and the buggy code has been identified and corrected. So this will be fixed soon. 

20) elliptic_eu() is giving the wrong result #6719 This is known to be a bug in ECL and the buggy code has been identified and corrected. So this will be fixed soon. 
",drkirkby
3,6729,notebook -- bug when input contains uniform leading space,notebook,sage-5.10,defect,boothby,needs_work,2009-08-10T09:07:47-07:00,2010-01-19T23:37:32-08:00,"{{{


On Mon, Aug 10, 2009 at 8:43 AM, Kiran Kedlaya <kskedl@gmail.com> wrote:


    What would you expect from the following input into the notebook?

    CELL 1:
       u = 2+2
       u = 2+3

    CELL 2:
    print u

    If you try something like this at a command line, the first line gives
    an error due to the spaces in front. 


No it doesn't, at least not for me.

flat wstein$ sage
----------------------------------------------------------------------
| Sage Version 4.1, Release Date: 2009-07-09                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Loading Sage library. Current Mercurial branch is: heckeindex
sage:    u = 2+2
sage:    u = 2+3
sage: print u
5

I know it won't give an error, because on the command line all spaces and sage: and >>> prompts are stripped from the left for non-continuation lines.

However, you might have meant the pure python command line, which does give an error:

flat:kamienny wstein$ sage -python
Python 2.6.2 (r262:71600, Jul  8 2009, 17:42:25)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>>    u = 2 + 2
  File ""<stdin>"", line 1
    u = 2 + 2
    ^
IndentationError: unexpected indent
>>>

 

    But on my notebook server
    (running 4.1), the first cell evaluates without an error, and the
    second one returns 4, not 5. ?!

    Kiran


This must be a bug in the notebook, related to exec compile, which the notebook uses to evaluate cells.   Here's the code that actually gets executed:

----------------------------------------------------------------

flat:code wstein$ pwd
/Users/wstein/.sage/sage_notebook/worksheets/admin/222/code
flat:code wstein$ more 16.py
# -*- coding: utf_8 -*-
from __future__ import with_statement
print ""^Ab14""
os.chdir(""/Users/wstein/.sage/sage_notebook/worksheets/admin/222/cells/5"")
sage.server.notebook.interact.SAGE_CELL_ID=5
_sage_const_3 = Integer(3); _sage_const_2 = Integer(2)
exec compile(ur'u = _sage_const_2 +_sage_const_2\u000a   u = _sage_const_2 +_sage_const_3' + '\n',
 '', 'single')

print ""^Ae14""
----------------------------------------------------------------

The code if you get rid of the spaces to the left we get:

flat:code wstein$ more 23.py
...
_sage_const_3 = Integer(3); _sage_const_2 = Integer(2)
u = _sage_const_2 +_sage_const_2
exec compile(ur'u = _sage_const_2 +_sage_const_3' + '\n', '', 'single')

-------------------------

Notice that ""exec compile"" is supposed to only be used on the *last* line of input.    The reason for this is so that the display print hook is called, e.g., so if you type

  a = 5
  a + 1
  b = 7
  a + b

in a notebook cell, at least you'll see 12 (=a+b) come out.  You will not see 6 from ""a+1"" though.  So the problem you're seeing is because the code in the notebook to determine ""the last line of code"" takes account special cases when the last line is indented, so e.g., the following would work:

   for z in range(10):
        z

and print out each of the z's (just like ""for z in range(10): z"").  In fact, the above is turned into:

_sage_const_5 = Integer(5)
exec compile(ur'for z in range(_sage_const_5 ):\u000a    z' + '\n', '', 'single')

The problem is that when we input
     u = 2 +2
     u = 2 + 3
both indented, then everything is combined into one single exec compile, and surprisingly we have in pure python:

>>> _sage_const_3 =3; _sage_const_2 = 2>>> exec compile(ur'u = _sage_const_2 +_sage_const_2\u000a   u = _sage_const_2 +_sage_const_3' + '\n',
...  '', 'single')>>>
>>> u
4
 
I'm surprised this doesn't set u to 5.  It might have something to do with the ""\u000a"" which is the unicode character for linefeed.    Basically, I find the following behavior of Python's exec command really weird/broken/surprising.  I would expect an error in the latter two cases:

>>> exec compile(ur'for z in range(5):\u000a   z', '','single')0
1
2
3
4
>>> exec compile(ur'u=2+2\u000a  u=3+3', '','single')
>>> print u
4
>>> exec compile(ur'u=10\u000a  u=3+*fr%Acn @#!^2n2azzz3', '','single')
>>> print u
10
 
I hope a Python interpreter expert such as Robert Bradshaw can comment on this.  In the meantime, if I were to spend more time on this now (which I won't), I would read the docs for exec and compile carefully, then probably just find a way to program around this surprising (to me) case in server/notebook/worksheet.py (which generates the exec compile code that is run above).

-- William
}}}",was
3,6739,warning when importing sage within the sage build directory,user interface,sage-5.10,defect,was,new,2009-08-12T07:02:49-07:00,2009-08-12T07:02:49-07:00,"In numpy one has:
{{{
bash-3.2$ python
Python 2.6.2 (r262:71600, Aug 11 2009, 10:59:28) 
[GCC 4.3.2 20080827 (beta) 2] on cygwin
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>> import numpy
Traceback (most recent call last):
  File ""<stdin>"", line 1, in <module>
  File ""numpy/__init__.py"", line 121, in <module>
    raise ImportError(msg)
ImportError: Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python intepreter from there.
>>> 
}}}

We should have the same with sage.  Instead we get a confusing error:
{{{

GOOD:

flat:sage wstein$ cd
flat:~ wstein$ sage -python
Python 2.6.2 (r262:71600, Jul  8 2009, 17:42:25) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>> import sage.all
>>> 

BAD:

flat:sage wstein$ sage -python
Python 2.6.2 (r262:71600, Jul  8 2009, 17:42:25) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>> import sage.all
Traceback (most recent call last):
  File ""<stdin>"", line 1, in <module>
  File ""/Users/wstein/sage/build/64bit/sage/local/lib/python2.6/site-packages/sage/all.py"", line 64, in <module>
    from sage.misc.all       import *         # takes a while
  File ""/Users/wstein/sage/build/64bit/sage/local/lib/python2.6/site-packages/sage/misc/all.py"", line 16, in <module>
    from sage_timeit_class import timeit
  File ""sage_timeit_class.pyx"", line 3, in sage.misc.sage_timeit_class (sage/misc/sage_timeit_class.c:764)
  File ""/Users/wstein/sage/build/64bit/sage/local/lib/python2.6/site-packages/sage/misc/sage_timeit.py"", line 12, in <module>
    import timeit as timeit_, time, math, preparser, interpreter
  File ""/Users/wstein/sage/build/64bit/sage/local/lib/python2.6/site-packages/sage/misc/interpreter.py"", line 95, in <module>
    import IPython.ipapi
  File ""/Users/wstein/sage/build/64bit/sage/local/lib/python2.6/site-packages/IPython/__init__.py"", line 58, in <module>
    __import__(name,glob,loc,[])
  File ""/Users/wstein/sage/build/64bit/sage/local/lib/python2.6/site-packages/IPython/Shell.py"", line 45, in <module>
    from IPython.iplib import InteractiveShell
  File ""/Users/wstein/sage/build/64bit/sage/local/lib/python2.6/site-packages/IPython/iplib.py"", line 59, in <module>
    from sets import Set
ImportError: cannot import name Set
}}}",was
3,6793,fix doctest timeout in schemes/elliptic_curves/ell_point.py due to upgrade to Maxima 5.19.0,porting: Solaris,sage-5.10,defect,,new,2009-08-20T16:03:45-07:00,2009-11-27T20:37:42-08:00,"On Solaris 10 update 7 (SPARC), the following tests failed. Both ECL and Maxima were updated - ECL version 9.8.4, Maxima version 5.19.1. Sage was built with gcc 4.4.1
{{{
----------------------------------------------------------------------
| Sage Version 4.1.1, Release Date: 2009-08-14                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Thu Aug 20 20:02:37 BST 2009
dsage-trial tmp directory doesn't exist - creating ...
This script will run the unit tests for DSage
}}}
<SNIP>
{{{
sage -t  ""devel/sage/sage/schemes/elliptic_curves/ell_point.py""
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***
*** *** Error: TIMED OUT! *** ***
*** *** Error: TIMED OUT! *** ***
         [361.6 s]
}}}
",drkirkby
3,6797,doctest failure in sage/sage/groups/perm_gps/cubegroup.py due to upgrade to Maxima 5.19.1,porting: Solaris,sage-5.10,defect,tbd,new,2009-08-21T01:02:41-07:00,2009-11-15T05:04:12-08:00,"On Solaris 10 update 7 (SPARC), the following tests failed. Both ECL and Maxima were updated - ECL version 9.8.4 (see trac #6564); Maxima version 5.19.1 (see trac #6699). Updated spkgs can be found here. 

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.8.4/ecl-9.8.4.spkg

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/maxima-5.19.1/

{{{

----------------------------------------------------------------------
| Sage Version 4.1.1, Release Date: 2009-08-14                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Thu Aug 20 20:02:37 BST 2009
dsage-trial tmp directory doesn't exist - creating ...
This script will run the unit tests for DSage
}}}

<SNIP>
{{{
sage -t  ""devel/sage/sage/groups/perm_gps/cubegroup.py""
**********************************************************************
File ""/export/home/drkirkby/sage/sage-4.1.1/devel/sage/sage/groups/perm_gps/cubegroup.py"", line 892:
    sage: rubik.solve(state)
Exception raised:
    Traceback (most recent call last):
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_16[4]>"", line 1, in <module>
        rubik.solve(state)###line 892:
    sage: rubik.solve(state)
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/lib/python/site-packages/sage/groups/perm_gps/cubegroup.py"", line 913, in solve
        return C.solve(algorithm)
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/lib/python/site-packages/sage/groups/perm_gps/cubegroup.py"", line 1106, in solve
        return solver.solve(self.facets(), timeout=timeout)
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/lib/python/site-packages/sage/interfaces/rubik.py"", line 254, in solve
        child.expect('Initialization done!')
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/lib/python/site-packages/pexpect.py"", line 912, in expect
        return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
      File ""/export/home/drkirkby/sage/sage-4.1.1/local/lib/python/site-packages/pexpect.py"", line 989, in expect_list
        raise TIMEOUT (str(e) + '\n' + str(self))
    TIMEOUT: Timeout exceeded in read_nonblocking().
    <pexpect.spawn instance at 0x3958c10>
    version: 2.0 ($Revision: 1.151 $)
    command: /export/home/drkirkby/sage/sage-4.1.1/local/bin/dikcube
    args: ['/export/home/drkirkby/sage/sage-4.1.1/local/bin/dikcube', '-p']
    patterns:
        Initialization done!
    buffer (last 100 chars):
    before (last 100 chars): ice orders...
            Initialized = 24
            Maxpath = 4
        Done!
        Initializing mixed...

    after: <class 'pexpect.TIMEOUT'>
    match: None
    match_index: None
    exitstatus: None
    flag_eof: 0
    pid: 17118
    child_fd: 4
    timeout: 30
    delimiter: <class 'pexpect.EOF'>
    logfile: None
    maxread: 2000
    searchwindowsize: None
    delaybeforesend: 0.1
**********************************************************************
1 items had failures:
   1 of   6 in __main__.example_16
***Test Failed*** 1 failures.
For whitespace errors, see the file /export/home/drkirkby/sage/sage-4.1.1/tmp/.doctest_cubegroup.py
         [173.9 s]

}}}",drkirkby
3,6798,fix doctest timeout in modules/vector_double_dense.pyx,porting: Solaris,sage-5.10,defect,tbd,new,2009-08-21T01:16:12-07:00,2009-11-09T06:05:41-08:00,"On Solaris 10 update 7 (SPARC), the following tests timed out. Both ECL and Maxima were updated - ECL version 9.8.4 (see trac #6564); Maxima version 5.19.1 (see trac #6699). Updated spkgs can be found here. I'm not sure if this is new or not since updating Maxima + ECL, so it may or may not be related to that. 

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.8.4/

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/maxima-5.19.1/

{{{

----------------------------------------------------------------------
| Sage Version 4.1.1, Release Date: 2009-08-14                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Thu Aug 20 20:02:37 BST 2009
dsage-trial tmp directory doesn't exist - creating ...
This script will run the unit tests for DSage
}}}

<SNIP>
{{{
sage -t  ""devel/sage/sage/modules/vector_double_dense.pyx""
         [71.4 s]

sage -t  ""devel/sage/sage/lfunctions/sympow.py""
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***
*** *** Error: TIMED OUT! *** ***
*** *** Error: TIMED OUT! *** ***
         [361.1 s]
sage -t  ""devel/sage/sage/lfunctions/all.py""
         [1.2 s]
}}}
",drkirkby
3,6871,temporary passwords aren't temporary,notebook,sage-5.10,defect,boothby,new,2009-09-02T20:19:25-07:00,2012-10-19T00:25:10-07:00,"As described in comment:27:ticket:4135, when #4135 is applied, the ""temporary"" password you get when resetting a user's password isn't temporary -- you can log in, log out, and then log in again with it.

Also, the page that tells you the new password has a title of ""Error"" even though no error has occurred.",ddrake
3,6882,"bug in conversion of ""i"" from Maxima to Sage",calculus,sage-5.10,defect,burcin,new,2009-09-03T15:58:43-07:00,2012-07-26T08:04:53-07:00,"{{{
-----------
sage: from sage.calculus.calculus import symbolic_expression_from_maxima_string
sage: symbolic_expression_from_maxima_string('%i')
I
sage: symbolic_expression_from_maxima_string('i')
I
-----------

So as you see, we are converting both '%i' and 'i' to  imaginary 'I' !!!!
}}}

See the sage-devel thread about this on Sept 3 for some discussion and motivation.",was
3,6923,Matrix numerical approximation converts complex to real,linear algebra,sage-5.10,defect,tbd,new,2009-09-10T23:40:08-07:00,2009-11-15T05:09:31-08:00,"{{{
sage: A = Matrix(CC,3); A.parent()
Full MatrixSpace of 3 by 3 dense matrices over Complex Field with 53 bits of precision
sage: B = A.n(20); B.parent()
Full MatrixSpace of 3 by 3 dense matrices over Real Field with 20 bits of precision
}}}

IMHO .n() only should change the precision, no other conversion.

This is also the behaviour of .n() on ComplexField.
",Henryk.Trappmann
3,7016,Bizarre results when taking the mod of a p-adic number,padics,sage-5.10,defect,tbd,new,2009-09-25T18:54:51-07:00,2010-12-26T13:33:06-08:00,"The operation x % n for p-adic numbers x and integers n currently depends on the creation method of the p-adic number (not just it's equality).  It also does not seem to return meaningful results!  
",jonhanke
3,7024,Flint ignores CC and CXX.,build,sage-5.10,defect,tbd,needs_work,2009-09-27T03:57:28-07:00,2012-06-21T05:55:28-07:00,"Flitn 1.3.0.p2 is one of several programs which ignores the settings of CC and CXX and users a gcc and g++ that it finds. 


{{{

flint-1.3.0.p2/src/profiler.h
flint-1.3.0.p2/src/mpn_extras-test.c
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
Found gcc 4 or later
Turning off loop unrolling on Solaris/Sparc
make[2]: Entering directory `/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/build/flint-1.3.0.p2/src'
gcc -std=c99 -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/ -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include  -fPIC  -O2  -DNDEBUG -o zn_mod.o -c zn_poly/src/zn_mod.c
}}}

This needs fixing to add support for the Sun Studio compilers.

'''spkg''':
[http://wstein.org/home/ohanar/clang-port/sage-5.0.beta1-src/spkg/standard/flint-1.5.0.p11.spkg]
",drkirkby
3,7025,"givaro 3.2.13rc2 says GMP is not installed, even though MPIR is.",build,sage-5.10,defect,tbd,new,2009-09-27T04:11:06-07:00,2009-09-27T04:11:06-07:00,"MPIR is supposed to be a substitute for GMP. When using the Sun compiler with sage-4.1.2.alpha2, givaro-3.2.13rc2 seems to think GMP is not installed, even though the substitute mpir is installed. See below. 

It works on Solaris if gcc is used, which is a bit odd. I checked to see if the mpir had created the header files and libraries, and see that local/include/gmp.h and local/lib/libgmp.* do in fact exist, so mpir really has been installed. 


{{{
givaro-3.2.13rc2/src/examples/Polynomial/pol_eval.C
givaro-3.2.13rc2/src/examples/Polynomial/pol_factor.C
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
Copying updated gmp++.h
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
<SNIP>
checking for GMP >= 3.1.1... not found
*******************************************************************************
 ERROR: GMP not found!

 GMP version 3.1.1 or greater is required for this library to compile. Please
 make sure GMP is installed and specify its location with the option
 --with-gmp=<prefix> when running configure.
*******************************************************************************
Error configuring givaro

real    0m22.266s
user    0m7.925s
sys     0m13.148s
}}}",drkirkby
3,7028,matplotlib 0.99.0 tries to use C compiler for C++ code.,build,sage-5.10,defect,tbd,new,2009-09-27T05:05:58-07:00,2009-11-24T08:21:07-08:00,"Using

     * Solaris 10 update 7 on SPARC
     * sage-4.1.2.alpha2
     * Sun Studio 12.1
     * An updated configure script to allow the Sun compiler to be used, I found that matplotlib-0.99.0 will not build. 

CC was set to the Sun C compler, and CXX to the Sun C++ compiler, What appears to be happening is that matplotlib-0.99.0 is taking the CC variable but using that to try to build C++ code. Note the extension on the file the C compiler is trying to compile is '.cc', suggesting to me that it is really C++ code. 

{{{
/opt/xxxsunstudio12.1/bin/cc -DNDEBUG -O -xcode=pic32 -DPY_ARRAYAUNIQUE_SYMBOL=MPL_ARRAY_API -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/lib/python2.6/site-packages/numpy/core/include -I/usr/sfw/include -I/usr/sfw/include/freetype2 -I/usr/local/include -I. -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/ -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/python2.6 -c src/ft2font.cpp -o build/temp.solaris-2.10-sun4u-2.6/src/ft2font.o
cc: No valid input files specified, no output generated
error: command '/opt/xxxsunstudio12.1/bin/cc' failed with exit status 1
Error building matplotlib package.

real    0m3.752s
user    0m1.227s
sys     0m1.034s

}}}

",drkirkby
3,7029,Sun C++ compiler does not accept  pynac C++ code,porting: Solaris,sage-5.10,defect,tbd,new,2009-09-27T06:35:58-07:00,2009-09-27T06:35:58-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used

I found that pynac-0.1.8.p2 will not build. It appears the Sun C++ compiler simply does not like the C++ code in 

{{{
 /opt/xxxsunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I.. -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/python2.6 -g -c add.cpp  -KPIC -DPIC -o .libs/add.o
""/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/python2.6/pyconfig.h"", line 1004: Warning (Anachronism): Attempt to redefine _FILE_OFFSET_BITS without using #undef.
""numeric.h"", line 328: Warning: GiNaC::numeric::compare hides the virtual function GiNaC::basic::compare(const GiNaC::basic&) const.
""container.h"", line 692: Error: Could not find a match for std::list<GiNaC::ex>::unique(GiNaC::ex_is_equal) needed in GiNaC::container<std::list<std::_T, std::_Allocator>>::unique_().
""matrix.h"", line 108: Error: Operand for operator ""++"" must be an lvalue.
""matrix.h"", line 108: Error: Cannot cast from int to GiNaC::matrix_init<GiNaC::ex, GiNaC::ex*>.
""symbol.h"", line 108: Warning: GiNaC::symbol::evalf hides the virtual function GiNaC::basic::evalf(int, int) const.
""add.cpp"", line 46: Error: Could not find a match for GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T, GiNaC::registered_class_options::C>(void(GiNaC::add::*)(const GiNaC::print_context&,unsigned)const) needed in<no tag>.
""add.cpp"", line 46: Error: Unexpected type name ""GiNaC::print_latex"" encountered.
""add.cpp"", line 46: Error: Unexpected type name ""GiNaC::print_csrc"" encountered.
""add.cpp"", line 46: Error: Unexpected type name ""GiNaC::print_tree"" encountered.
""add.cpp"", line 46: Error: Unexpected type name ""GiNaC::print_python_repr"" encountered.
""add.cpp"", line 46: Error: Could not find a match for GiNaC::registered_class_options::print_func<GiNaC::registered_class_options::Ctx, GiNaC::registered_class_options::T, GiNaC::registered_class_options::C>(void(GiNaC::add::*)(const GiNaC::print_context&,unsigned)const) needed in<no tag>.
""add.cpp"", line 46: Error: void(GiNaC::add::*)(const GiNaC::print_latex&,unsigned)const is not a structure type.
""add.cpp"", line 46: Error: void(GiNaC::add::*)(const GiNaC::print_csrc&,unsigned)const is not a structure type.
""add.cpp"", line 46: Error: void(GiNaC::expairseq::*)(const GiNaC::print_tree&,unsigned)const is not a structure type.
""add.cpp"", line 46: Error: Cannot cast from int to GiNaC::class_info<GiNaC::registered_class_options>.
13 Error(s) and 3 Warning(s) detected.
make[4]: *** [add.lo] Error 1
make[4]: Leaving directory `/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/build/pynac-0.1.8.p2/src/ginac'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/build/pynac-0.1.8.p2/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/build/pynac-0.1.8.p2/src'
Error building pynac.

real    0m39.101s
user    0m20.604s
sys     0m17.258s
sage: An error occurred while installing pynac-0.1.8.p2
}}}

I do not know C++ myself. 

",drkirkby
3,7031,singular believes the Sun C++ compiler is broken.,porting: Solaris,sage-5.10,defect,tbd,new,2009-09-27T07:14:02-07:00,2009-09-27T07:14:02-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used  (#7021)

CC was set to the Sun C compler, and CXX to the Sun C++ compiler. The singular configure script does not believe the Sun C++ compiler can create executables. This is the same sort of error as seen in quaddouble-2.2.p9 #7030. 

This time the problem is easy to diagnose. The test is used adds the option -fPIC when trying to test the C++ compiler. But -fPIC is a GNU-specific option - it is not acceptable to the Sun C++ compiler. Instead  -xcode=pic32, -KPIC or -PIC would work, but not -fPIC. 

It's clearly dumb to send a GNU specific option to test a C++ compiler unless you are 100% sure the C++ compiler is the GNU C++ compiler. 

{{{
checking for c++... /opt/xxxsunstudio12.1/bin/CC
checking whether the C++ compiler (/opt/xxxsunstudio12.1/bin/CC  -O3 -g -fPIC ) works... no
}}}

",drkirkby
3,7033,libfplll can't find _gmpz_init in -lgmp,build,sage-5.10,defect,tbd,new,2009-09-27T07:51:48-07:00,2011-05-24T12:34:44-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021

CC was set to the Sun C compiler, and CXX to the Sun C++ compiler, 

{{{
checking whether we are using the GNU C++ compiler... (cached) no
checking whether /opt/xxxsunstudio12.1/bin/CC accepts -g... (cached) yes
checking dependency style of /opt/xxxsunstudio12.1/bin/CC... (cached) none
checking for gcc... (cached) /opt/xxxsunstudio12.1/bin/cc
checking whether we are using the GNU C compiler... (cached) no
checking whether /opt/xxxsunstudio12.1/bin/cc accepts -g... (cached) yes
checking for /opt/xxxsunstudio12.1/bin/cc option to accept ISO C89... (cached) none needed
checking dependency style of /opt/xxxsunstudio12.1/bin/cc... (cached) none
checking whether make sets $(MAKE)... (cached) yes
checking for __gmpz_init in -lgmp... no
configure: error: GNU MP not found, see http://gmplib.org
Error configuring libfplll

real    0m45.568s
user    0m10.239s
sys     0m25.294s
}}}

mpir is insalled ok - all the gmp headers and libraries have been built. I suspect some programs not to accept mpir as being the same as gmp when the compiler is not gcc. 

",drkirkby
3,7034,PolyBoRi pass GNU specific options to the Sun compiler,porting: Solaris,sage-5.10,defect,tbd,needs_info,2009-09-27T08:00:15-07:00,2012-06-01T12:38:29-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

CC was set to the Sun C compiler, and CXX to the Sun C++ compiler, 


It would appear that Using PolyBoRi correctly uses the value of CXX as the C++ compiler, but will pass GNU specific options to that compiler. 

{{{
polybori-0.6.3-20090827/.hgignore
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
mkdir: Failed to make directory ""src/boost_1_34_1.cropped""; File exists
Starting build...
Removing old PolyBoRi install...
Done removing old PolyBoRi install.
Running build_polybori...
scons: Reading SConscript files ...
Sun linker detected.
Checking for C header file gd.h... no
Checking for C++ header file unordered_map... no
Checking for C++ header file tr1/unordered_map... no
Checking for C++ header file ext/hash_map... no
Warning: No LaTeX to html converter found, Tutorial will not be installed
Checking for C library m4ri... no
Checking for C header file gd.h... no
Symlinking to M4RI/m4ri ...
no python extension
scons: done reading SConscript files.
scons: Building targets ...
/opt/xxxsunstudio12.1/bin/CC -o polybori/src/BoolePolyRing.o -c -O3 -Wno-long-long -Wreturn-type -g -fPIC -ftemplate-depth-100 -g -fPIC -O3 -Wno-long-long -Wreturn-type -g -fPIC -DNDEBUG -DPACKED -DHAVE_M4RI -DHAVE_IEEE_754 -DBSD -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/build/polybori-0.6.3-20090827/src/boost_1_34_1.cropped -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/python2.6 -Ipolybori/include -IM4RI -ICudd/obj -ICudd/util -ICudd/cudd -ICudd/mtr -ICudd/st -ICudd/epd polybori/src/BoolePolyRing.cc
CC: Warning: Option -Wno-long-long passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -Wreturn-type passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -ftemplate-depth-100 passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -Wno-long-long passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -Wreturn-type passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
""polybori/include/CDDManager.h"", line 103: Warning: Last line in file ""polybori/include/cacheopts.h"" is not terminated with a newline.
""polybori/include/CCuddZDD.h"", line 308: Warning (Anachronism): Formal argument func of type DdNode*(*)(DdManager*,DdNode*,int) in call to polybori::CCuddDDBase<polybori::CCuddZDD>::apply(DdNode*(*)(DdManager*,DdNode*,int), int) const is being passed extern ""C"" DdNode*(*)(DdManager*,DdNode*,int).
""polybori/include/CCuddZDD.h"", line 308: Warning (Anachronism): Formal argument func of type DdNode*(*)(DdManager*,DdNode*,int) in call to polybori::CCuddDDBase<polybori::CCuddZDD>::apply(DdNode*(*)(DdManager*,DdNode*,int), int) const is being passed extern ""C"" DdNode*(*)(DdManager*,DdNode*,int).
""polybori/include/CCuddZDD.h"", line 308: Warning (Anachronism): Formal argument func of type DdNode*(*)(DdManager*,DdNode*,int) in call to polybori::CCuddDDBase<polybori::CCuddZDD>::apply(DdNode*(*)(DdManager*,DdNode*,int), int) const is being passed extern ""C"" DdNode*(*)(DdManager*,DdNode*,int).
}}}

PolyBoRi uses SCons, and the use of SCons in Sage seems to cause countless problems. 


",drkirkby
3,7039,"zn_poly-0.9 uses gcc, irrespective of setting of CC",build,sage-5.10,defect,tbd,new,2009-09-27T09:01:04-07:00,2012-06-16T13:12:58-07:00,"Some time ago I sorted out the fact that znpoly failed to build if the linker used was the Sun linker, as znpoly used GNU specific flags. 

I'm using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

Well it seems there was another defect too, as the setting of CC is ignored too. 

{{{
zn_poly-0.9.p1/src/src/ks_support.c
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
make[2]: Entering directory `/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/build/zn_poly-0.9.p1/src'
gcc -fPIC -O3 -L. -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include -I./include -DNDEBUG -o src/array.o -c src/array.c

}}}",drkirkby
3,7040,Code actually in Sage (not other project) ignores CC and uses gcc.,build,sage-5.10,defect,tbd,new,2009-09-27T09:15:31-07:00,2011-05-24T12:18:57-07:00,"Using

     * Solaris 10 update 7 on SPARC
     * sage-4.1.2.alpha2
     * Sun Studio 12.1
     * An updated configure script to allow the Sun compiler to be used #7021

CC was set to the Sun C compiler. The code in the Sage (probably {{{./spkg/standard/sage-4.1.2.alpha2.spkg}}}) is using gcc and ignoring CC. 

{{{
make[1]: Entering directory `/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg'
sage-spkg sage-4.1.2.alpha2
You must set the SAGE_ROOT environment variable or
run this script from the SAGE_ROOT or
SAGE_ROOT/local/bin/ directory.
sage-4.1.2.alpha2
Machine:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
Deleting directories from past builds of previous/current versions of sage-4.1.2.alpha2
Extracting package /export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/standard/sage-4.1.2.alpha2.spkg ...
-rw-r--r--   1 drkirkby other    39522776 Sep 21 23:28 /export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/standard/sage-4.1.2.alpha2.spkg
sage-4.1.2.alpha2/
sage-4.1.2.alpha2/doc/
<SNIP>
sage-4.1.2.alpha2/sage/symbolic/callable.py
sage-4.1.2.alpha2/spkg-install
sage-4.1.2.alpha2/README.txt
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v


usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
mv: cannot access /export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/devel/sage-main
gcc -o src/convert.pic.o -c -fPIC -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/python2.6 -I/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/local/include/NTL -Iinclude src/convert.c
}}}",drkirkby
3,7043,ntl 5.4.2.p9 passes -fPIC to Sun linker with SunStudio,build,sage-5.10,defect,tbd,new,2009-09-27T17:43:35-07:00,2011-05-24T12:02:11-07:00,"I'm using
    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha4
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 
{{{
C: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
/opt/xxxsunstudio12.1/bin/CC -I../include -I.  -O2 -g   -fPIC -c G_LLL_RR.c
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
/opt/xxxsunstudio12.1/bin/CC -I../include -I.  -O2 -g   -fPIC -c vec_ulong.c
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
/opt/xxxsunstudio12.1/bin/CC -I../include -I.  -O2 -g   -fPIC -c vec_vec_ulong.c
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
make[3]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/ntl-5.4.2.p9/src/src'
/opt/xxxsunstudio12.1/bin/CC -I../include -I.  -O2 -g    -fPIC -shared -o lib`cat DIRNAME`.so FFT.o FacVec.o GF2.o GF2E.o GF2EX.o GF2EXFactoring.o GF2X.o GF2X1.o GF2XFactoring.o GF2XVec.o GetTime.o HNF.o ctools.o LLL.o LLL_FP.o LLL_QP.o LLL_RR.o LLL_XD.o RR.o WordVector.o ZZ.o ZZVec.o ZZX.o ZZX1.o ZZXCharPoly.o ZZXFactoring.o ZZ_p.o ZZ_pE.o ZZ_pEX.o ZZ_pEXFactoring.o ZZ_pX.o ZZ_pX1.o ZZ_pXCharPoly.o ZZ_pXFactoring.o fileio.o lip.o lzz_p.o lzz_pE.o lzz_pEX.o lzz_pEXFactoring.o lzz_pX.o lzz_pX1.o lzz_pXCharPoly.o lzz_pXFactoring.o mat_GF2.o mat_GF2E.o mat_RR.o mat_ZZ.o mat_ZZ_p.o mat_ZZ_pE.o mat_lzz_p.o mat_lzz_pE.o mat_poly_ZZ.o mat_poly_ZZ_p.o mat_poly_lzz_p.o pair_GF2EX_long.o pair_GF2X_long.o pair_ZZX_long.o pair_ZZ_pEX_long.o pair_ZZ_pX_long.o pair_lzz_pEX_long.o pair_lzz_pX_long.o quad_float.o tools.o vec_GF2.o vec_GF2E.o vec_GF2XVec.o vec_RR.o vec_ZZ.o vec_ZZVec.o vec_ZZ_p.o vec_ZZ_pE.o vec_double.o vec_long.o vec_lzz_p.o vec_lzz_pE.o vec_quad_float.o vec_vec_GF2.o vec_vec_GF2E.o vec_vec_RR.o vec_vec_ZZ.o vec_vec_ZZ_p.o vec_vec_ZZ_pE.o vec_vec_long.o vec_vec_lzz_p.o vec_vec_lzz_pE.o vec_xdouble.o xdouble.o G_LLL_FP.o G_LLL_QP.o G_LLL_XD.o G_LLL_RR.o vec_ulong.o vec_vec_ulong.o -L/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/lib -lgmp
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -shared passed to ld, if ld is invoked, ignored otherwise
ld: fatal: option -h and building a dynamic executable are incompatible
ld: fatal: option -f and building a dynamic executable are incompatible
ld: fatal: Flags processing errors
make[2]: *** [libntl.so] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/ntl-5.4.2.p9/src/src'
Error creating ntl shared library.

}}}",drkirkby
3,7044,eclib 20080310.p7 has code Sun's C++ compiler does not understand.,porting: Solaris,sage-5.10,defect,drkirkby,new,2009-09-27T17:48:03-07:00,2011-05-24T14:19:56-07:00,"I'm using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha4
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021

{{{
eclib-20080310.p7/.hg/branch
eclib-20080310.p7/.hg/undo.branch
eclib-20080310.p7/spkg-install
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
Disabling parallel make for now
Deleting old versions of cremona libraries, which
would interfere with new builds.
libcurvesntl.*: No such file or directory
libg0nntl.*: No such file or directory
libjcntl.*: No such file or directory
librankntl.*: No such file or directory
libmwrank.*: No such file or directory
Deleting old include directory
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/eclib-20080310.p7/src'
mkdir -p include
mkdir -p lib
cd procs && make lib install
make[3]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/eclib-20080310.p7/src/procs'
Makefile:93: warning: overriding commands for target `clean'
../Makefile:76: warning: ignoring old commands for target `clean'
Makefile:96: warning: overriding commands for target `veryclean'
../Makefile:84: warning: ignoring old commands for target `veryclean'
Makefile:109: warning: overriding commands for target `check'
../Makefile:95: warning: ignoring old commands for target `check'
/opt/xxxsunstudio12.1/bin/CC -c -fPIC -g -O2 -DNEW_OP_ORDER -DUSE_PARI_FACTORING -DNTL_ALL -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include interface.cc -o interface_n.o
CC: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
""interface.h"", line 54: Error: Could not open include file<ext/numeric>.
""interface.h"", line 122: Error: Could not open include file<NTL/ZZ.h>.
""interface.h"", line 123: Error: Could not open include file<NTL/ZZXFactoring.h>.
""interface.h"", line 124: Error: NTL is not defined.
""interface.h"", line 130: Error: ZZ is not defined.
""interface.h"", line 130: Error: The function ""to_ZZ"" must have a prototype.
""interface.h"", line 137: Error: "")"" expected instead of ""&"".
""interface.h"", line 137: Error: x is not defined.
""interface.h"", line 138: Error: "")"" expected instead of ""&"".
""interface.h"", line 138: Error: x is not defined.
""interface.h"", line 139: Error: "")"" expected instead of ""&"".
""interface.h"", line 139: Error: x is not defined.
""interface.h"", line 140: Error: "")"" expected instead of ""&"".
""interface.h"", line 140: Error: x is not defined.
""interface.h"", line 141: Error: "")"" expected instead of ""&"".
""interface.h"", line 141: Error: a is not defined.
""interface.h"", line 142: Error: "")"" expected instead of ""&"".
""interface.h"", line 142: Error: a is not defined.
""interface.h"", line 143: Error: "")"" expected instead of ""&"".
""interface.h"", line 143: Error: c is not defined.
""interface.h"", line 143: Error: a is not defined.
""interface.h"", line 143: Error: i is not defined.
""interface.h"", line 144: Error: "")"" expected instead of ""&"".
""interface.h"", line 144: Error: c is not defined.
""interface.h"", line 144: Error: a is not defined.
Compilation aborted, too many Error messages.
make[3]: *** [interface_n.o] Error 1
make[3]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/eclib-20080310.p7/src/procs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/eclib-20080310.p7/src'
Error building cremona

real    0m1.043s
user    0m0.779s
sys     0m0.156s
sage: An error occurred while installing eclib-20080310.p7
Please email sage-devel http://groups.google.com/group/sage-devel

}}}",drkirkby
3,7047,lapack sends GNU option -fPIC to Sun fortran compiler.,porting: Solaris,sage-5.10,defect,tbd,new,2009-09-28T02:13:11-07:00,2011-05-25T10:57:46-07:00,"Using
    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha4
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

I tried to build Sage with Sun Studio and see:

{{{
lapack-20071123.p0/spkg-install~
lapack-20071123.p0/spkg-install
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/lapack-20071123.p0/src'
( cd INSTALL; make; ./testlsame; ./testslamch; \
  ./testdlamch; ./testsecond; ./testdsecnd; ./testversion )
make[3]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/lapack-20071123.p0/src/INSTALL'
sage_fortran -fPIC  -c lsame.f -o lsame.o
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
sage_fortran -fPIC  -c lsametst.f -o lsametst.o
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
sage_fortran  -o testlsame lsame.o lsametst.o
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
ld: fatal: option -f and building a dynamic executable are incompatible
ld: fatal: Flags processing errors
make[3]: *** [testlsame] Error 1
make[3]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/lapack-20071123.p0/src/INSTALL'
/bin/sh: ./testlsame: not found
/bin/sh: ./testslamch: not found
/bin/sh: ./testdlamch: not found
/bin/sh: ./testsecond: not found
/bin/sh: ./testdsecnd: not found
/bin/sh: ./testversion: not found
make[2]: *** [lapack_install] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/lapack-20071123.p0/src'
Error compiling lapack.

real    0m0.415s
user    0m0.150s
sys     0m0.215s
}}}",drkirkby
3,7048,"ATLAS ignores CC variable, then dumps core when trying to build with Sun Studio on  Solaris",build,sage-5.10,defect,tbd,new,2009-09-28T02:18:16-07:00,2011-05-24T11:57:19-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha4
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

I tried to build Sage with Sun Studio and see: 
{{{
atlas-3.8.3.p9/src/src/auxil/ATL_hescal.c
atlas-3.8.3.p9/src/src/auxil/ATL_axpy.c
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
Platform detected to be 32 bits
system_atlas.py:6: DeprecationWarning: os.popen2 is deprecated.  Use the subprocess module.
  fortran = os.popen2(os.environ['SAGE_LOCAL']+'/bin/'+'which_fortran')[1].read()
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
f95: Warning: Option --version passed to ld, if ld is invoked, ignored otherwise
Usage: f95 [ options ] files.  Use 'f95 -flags' for details
/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9
Deal with PPC4 7447 model and Itanium 2
Updating archinfo_x86.c
Updating probe_comp.c
Updating Make.top
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
gcc -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/include  -g -w -c /export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/src/atlconf_misc.c
gcc -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/include  -g -w -o xconfig /export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/src/config.c atlconf_misc.o
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
./xconfig -d s /export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src/ -d b /export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build  -Ss flapack /export/home/drkirkby/sage/sage-4.1.2.alpha4/local/lib/liblapack.a -Si cputhrchk 0 -Fa alg -fPIC -t 0 -C if /export/home/drkirkby/sage/sage-4.1.2.alpha4/local/bin/sage_fortran -b 32
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
gcc -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/include  -g -w -c /export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/src/probe_comp.c
gcc -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/include  -g -w -o xprobe_comp probe_comp.o atlconf_misc.o
rm -f config1.out
make atlas_run atldir=/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build exe=xprobe_comp args=""-v 0 -o atlconf.txt -O 2 -A 28 -Si nof77 0  -Fa ic '-fPIC' -Fa sm '-fPIC' -Fa dm '-fPIC' -Fa sk '-fPIC' -Fa dk '-fPIC' -Fa xc '-fPIC' -C if '/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/bin/sage_fortran' -Fa if '-fPIC'  -b 32"" \
                redir=config1.out
make[3]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
cd /export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build ; ./xprobe_comp -v 0 -o atlconf.txt -O 2 -A 28 -Si nof77 0  -Fa ic '-fPIC' -Fa sm '-fPIC' -Fa dm '-fPIC' -Fa sk '-fPIC' -Fa dk '-fPIC' -Fa xc '-fPIC' -C if '/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/bin/sage_fortran' -Fa if '-fPIC'  -b 32 > config1.out
UNKNOWN COMPILER '/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/bin/sage_fortran' for F77: you must also supply flags!
make[3]: *** [atlas_run] Error 7
make[3]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
make[2]: *** [IRun_comp] Error 2
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
Assertion failed: !system(ln), file /export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build/../src//CONFIG/src/config.c, line 125

OS configured as SunOS (2)

Assembly configured as GAS_SPARC (3)

Bad VECFLAG value=0, ierr=0, ln2='VECFLAG=0
'

Vector ISA Extension configured as   (0,0)

Architecture configured as  USIII (28)

Clock rate configured as 1200Mhz
Cannot detect CPU throttling.
Abort - core dumped
xconfig exited with 134
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
make -f Make.top build
make[3]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
make[3]: Make.top: No such file or directory
make[3]: *** No rule to make target `Make.top'.  Stop.
make[3]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
make[2]: *** [build] Error 2
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/atlas-3.8.3.p9/ATLAS-build'
Failed to build ATLAS.
Failed to build ATLAS.

real    0m11.364s
user    0m5.163s
sys     0m4.042s
}}}
",drkirkby
3,7056,Fix build issues so Sage builds with the Sun Studio Compiler suite.,porting: Solaris,sage-5.10,defect,tbd,new,2009-09-28T13:23:10-07:00,2009-11-19T07:49:05-08:00,"'''Introduction'''

Sun's compiler on Solaris produces faster code than gcc, and is more reliable with 64-bit code than gcc. This ticket outlines the issues that need to be resolved to get Sage to build on Sun Studio, and are specific to Sun Studio. As more are discovered, I'll add them to the description, so it's easy to them all, rather than find them buried well down the page. 

In many cases, the bugs can potentially affect all compilers, but are only observed on Sun Studio. 

'''Hardware used for testing'''

Attempts were made to build Sage on the following two Solaris machines. Where a problem is detected on only one, or is suspect it might occur on only one machine, then the hostname is stated.  

||'''Hostname'''||'''Hardware'''||'''Processor'''||'''CPUs'''||'''Cores'''||'''Speed'''||'''Architecture'''||'''OS version'''||Compiler||
||swan||Sun Blade 2000||UltraSPARC-III+||2||2||1200 MHz||sun4u||Solaris 10 update 7||Sun Studio 12.1||
||t2||Sun T5240||SPARC T2+||2||16||1167 MHz||sun4v||Solaris 10 update 7||Sun Studio 12||


'''Bugs'''

The actual bugs found, along with the trac number are listed below. The hostname is stated it if might be relevant. 

If the description is in italics, and marked with note number 11, then the problem in itself would not prevent Sage being built with Sun Studio, but would impact performance adversely. 

||'''Description'''||'''hostname'''||'''Trac #'''||'''Note(s)'''||

||Update prereq from 0.3 to 0.4||||#7021||1,7||
||zn_poly-0.9 uses gcc, irrespective of setting of CC||||#7039||2||
||symmetrica ignores CC||||#7032||2||
||ATLAS ignores CC variable, then dumps core when trying to build with Sun Studio on Solaris||swan||#7048||2,3||
||Flint ignores CC and CXX||||#7024||2||
||lapack sends GNU option -fPIC to Sun fortran compiler||||#7047||||
||eclib 20080310.p7 has code Sun's C++ compiler does not understand||||#7044||||
||Code actually in Sage (not other project) ignores CC and uses gcc||||#7040||2||
||ntl 5.4.2.p9 passes -fPIC to Sun linker with Sun Studio||||#7043||||
||givaro 3.2.13rc2 says GMP is not installed, even though MPIR is||swan||#7025||4,5||
||linbox 1.1.6.p0 says GMP is not installed, even though MPIR is||swan||#7026||4,5||
||R sends the correct Sun flags to C and C++ compilers, but not Fortran||||#7035||||
||GAP purposely unsets CC which screws up Sun Studio build||||#7041||6||
||libm4ri thinks the C compiler is broken||swan||#7037||||
||rubiks ignores CXX and uses g++ even if CXX is Sun compiler||||#7036||7||
||ratpoints 2.1.2.p2 ignores CC and uses gcc whatever||||#7038||2||
||libfplll can't find _gmpz_init in -lgmp||||#7033||5||
||update libgcrypt to the latest version 1.4.4||||#7045||7||
||f2c ignores CC and uses gcc anyway||||#7027||2||
||PolyBoRi pass GNU specific options to the Sun compiler||||#7034||8||
||quaddouble-2.2.p9 believe Sun's C++ compiler is broken||||#7030||9||
||singular believe Sun's C++ compiler is broken||||#7031||9||
||Sun C++ compiler does not accept pynac C++ code||||#7029||||
||matplotlib 0.99.0 tries to use C compiler for C++ code.||||#7028||||
||cliquer-1.2 ignores CC and uses gcc instead of Sun compiler.||swan||#7057||10||
||''linbox reports ""using frickin' slow GSL C-blas"" if building with Sun Studio compiler''||||#7058||11||
||update libgcrypt to the latest version 1.4.4||||#7045||7||
||ECL snapshot of 13th Sept 2009 fails with Sun Studio 12.1||||#7062||
||lcalc fails - Sun Studio compiler does not accept code. (I'm not surprised)||||#7065||12||
||sympow ignores CC and uses gcc even when CC is set to Sun's compiler||||#7066||||
||cddlib 094f fails to build with Sun Studio - fabs() unresolved. Probably needs -lm||||#7067||13||
||gfan 0.3.p4 Shows numerous missing header files with Sun compiler.||||#7068||||
||tachyon-0.98beta.p9 ignores CC and uses gcc, so can't build with Sun Studio. Also uses -O6 which might be dangerous.||||#7069||||
||palp-1.1.p1 ignores CC variable and uses gcc, so fails with Sun Studio.||||#7071||||
||scipy 0.7.p2 has a GNUism, sending GNU flags to the Sun compiler.||||#7072||||
||scipy_sandbox 20071020.p4 has a GNUism, sending GNU flags to the Sun compiler.||||#7073||||
||cvxopt-0.9.p8 sends GNU options to Sun Fortran compiler and has bad C code.||||#7074||||
||Update sqlite to latest release - needed for Sun's compiler||||#6759||7||
||Error building 'modified sage library code' when including paripriv.h||||#6579||14||
||libm4ri thinks the C compiler is broken||||#7037||||

'''Notes'''

1) This update should have benefits to Sage on any platform, with any compiler. It is however '''absolutely essential''' this is fixed for Sun Studio. 

2) Although discovered when testing with Sun Studio, the bug relates to the failure of a program to properly observe CC, CXX or SAGE_FORTRAN, so it can be expected to exist with any compiler.

3) The core dump was observed on hostname 'swan'. The failure to observe CC can be expected on any platform, but dumping core may be only on this machine. 

4) Checked only on the hostname. This may or may not be specific to that machine.

5) Tickets #7025, #7026 and #7033 are very closely related, as they all relate to a failure of a program to reconsise GMP being installed. Of course, it is not installed, but MPIR is, which is a substitute. 

6) Although easy to fix, to do some introduces a major impact on the time to build Sage. 

7) A fix is available, but either awaiting review, needing work, or reviewed and awaiting to be in the next release. 

8) This uses SCons, and in general anything using SCons appears to be a problem on Solaris. 

9) #7030 and #7031 are closely related, as both believe the Sun C++ compiler is broken, which it is not.

10) cliquer is seriously messed up, sometimes using gcc when you want it to use cc, and other times trying to use cc when you want it to use gcc! I believe it is incorrect use of SCons, so CC and CXX are not set properly. 

11) This does not actually prevent linbox building, but is just an indication performance will sufffer. Later ticket #7026 will cause the build to fail when using Sun Studio. 

12) gcc gives tons of warnings with this code, so I'm not at all surprised the Sun compiler rejects it. The author should be encouraged to sort out why his/her code should generate so many warnings/errors. 

13) The fix looks quite easy. 

14) This stops Sage building with gcc too, though one can circumvent this by commenting out 3 lines. The effect of commenting these out is not known. ",drkirkby
3,7065,lcalc fails - Sun Studio compiler does not accept code. (I'm not surprised),porting: Solaris,sage-5.10,defect,tbd,new,2009-09-29T05:33:30-07:00,2009-09-29T05:33:30-07:00,"lcalc fails with Sun Studio as below. 

Having looked at lcalc in the past, I am at all surprised. The code previously had tried to suppress assembler warnings with a GNU-specific flag. Once I removed that, and added -Wall with gcc, then gcc reported a huge number of warnings. The Sun compiler considers at least some errors, so lcalc does not build. 

I think the developer of lcalc should look over his code, as it clearly has many problems. 


{{{
lcalc-20080205.p3/src/src/Lriemannsiegel.cc
lcalc-20080205.p3/src/src/._.DS_Store
lcalc-20080205.p3/src/src/cmdline.c
lcalc-20080205.p3/src/src/Lglobals.cc
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
Building a 32-bit version of lcalc
Code will be built with debugging information present. Set 'SAGE_DEBUG' to 'no' if you don't want that.
Using CC=/opt/xxxsunstudio12.1/bin/cc
Using CXX=/opt/xxxsunstudio12.1/bin/CC
Using FC=
Using F77=
Using SAGE_FORTRAN=/opt/xxxsunstudio12.1/bin/f95
Using SAGE_FORTRAN_LIB=/usr/local/gcc-4.4.1-sun-linker/lib/libgfortran.so
The following environment variables will be exported
Using CFLAGS= -O2  -g
Using CXXFLAGS= -O2  -g
Using FCFLAGS= -O2  -g
Using F77FLAGS= -O2  -g
Using CPPFLAGS= -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include
Using LDFLAGS= -L/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/lib
Using ABI=
configure scripts and/or makefiles might override these later

Using LCALC_LIBS=-lpari -lmpfr -lgmpxx -lgmp -liberty
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/lcalc-20080205.p3/src/src'
/opt/xxxsunstudio12.1/bin/CC  -O2  -g  -DINCLUDE_PARI   \
      -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include/pari -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include\
      -I ../include/ -L/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/lib \
      cmdline.c \
      Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc \
      Lcommandline_misc.cc Lcommandline_numbertheory.cc \
      Lcommandline_twist.cc Lcommandline_values_zeros.cc \
      Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc \
            -o lcalc -lpari -lmpfr -lgmpxx -lgmp -liberty
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
""../include/Lcomplex.h"", line 48: Error: Could not open include file<bits/c++config.h>.
""../include/Lcomplex.h"", line 767: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 768: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 770: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 778: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 778: Error: Badly formed expression.
""../include/Lcomplex.h"", line 782: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 782: Error: Badly formed expression.
""../include/Lcomplex.h"", line 787: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 787: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 788: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 788: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 788: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 794: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 794: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 795: Error: __imag__ is not defined.
""../include/Lcomplex.h"", line 795: Error: Multiple declaration for _M_value.
""../include/Lcomplex.h"", line 795: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 802: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 802: Error: "","" expected instead of ""+="".
""../include/Lcomplex.h"", line 809: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 809: Warning: _M_value hides std::complex<float>::_M_value.
""../include/Lcomplex.h"", line 809: Error: "","" expected instead of ""-="".
""../include/Lcomplex.h"", line 913: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Use "";"" to terminate declarations.
""../include/Lcomplex.h"", line 914: Error: Type name expected instead of ""_ComplexT"".
""../include/Lcomplex.h"", line 916: Error: _ComplexT is not defined.
""../include/Lcomplex.h"", line 924: Error: __real__ is not defined.
""../include/Lcomplex.h"", line 924: Error: Badly formed expression.
Compilation aborted, too many Error messages.
cmdline.c:
Lcommandline.cc:
Lcommandline_elliptic.cc:
Lcommandline_globals.cc:
Lcommandline_misc.cc:
Lcommandline_numbertheory.cc:
Lcommandline_twist.cc:
Lcommandline_values_zeros.cc:
Lgamma.cc:
Lglobals.cc:
Lmisc.cc:
Lriemannsiegel.cc:
make[2]: *** [lcalc] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/lcalc-20080205.p3/src/src'
Now copying over lcalc binary
cp: cannot access lcalc

real    0m11.295s
user    0m8.269s
sys     0m1.135s
sage: An error occurred while installing lcalc-20080205.p3

}}}
",drkirkby
3,7068,gfan 0.3.p4 Shows numerous missing header files with Sun compiler,porting: Solaris,sage-5.10,defect,tbd,new,2009-09-29T06:02:21-07:00,2010-01-06T17:03:49-08:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021

{{{
gfan-0.3.p4/src/wallideal.h
gfan-0.3.p4/src/xfig.cpp
gfan-0.3.p4/src/xfig.h
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/gfan-0.3.p4/src'
g++ -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include -O2 -DGMPRATIONAL    -c lp_cdd.cpp
lp_cdd.cpp:2:21: error: setoper.h: No such file or directory
lp_cdd.cpp:3:17: error: cdd.h: No such file or directory
lp_cdd.cpp:4:19: error: cdd_f.h: No such file or directory
lp_cdd.cpp:12: error: 'ddf_MatrixPtr' does not name a type
lp_cdd.cpp: In function 'void cddinit()':
lp_cdd.cpp:54: error: 'ddf_set_global_constants' was not declared in this scope
lp_cdd.cpp: In member function 'virtual bool LpSolverCdd::isFacet(const IntegerVectorList&, std::_List_const_iterator<Vektor<int> >)':
lp_cdd.cpp:63: error: 'ddf_MatrixPtr' was not declared in this scope
lp_cdd.cpp:63: error: expected ';' before 'M'
lp_cdd.cpp:64: error: 'ddf_colrange' was not declared in this scope
lp_cdd.cpp:64: error: expected ';' before 'd'
lp_cdd.cpp:65: error: 'ddf_ErrorType' was not declared in this scope
lp_cdd.cpp:65: error: expected ';' before 'err'
lp_cdd.cpp:66: error: 'ddf_rowset' was not declared in this scope
lp_cdd.cpp:66: error: expected ';' before 'redrows'
lp_cdd.cpp:67: error: 'ddf_colset' was not declared in this scope
lp_cdd.cpp:67: error: expected ';' before 'ignoredcols'
lp_cdd.cpp:69: error: 'mytype' was not declared in this scope
lp_cdd.cpp:69: error: expected ';' before 'val'
lp_cdd.cpp:70: error: 'ddf_DataFileType' was not declared in this scope
lp_cdd.cpp:70: error: expected ';' before 'inputfile'
lp_cdd.cpp:78: error: 'M' was not declared in this scope
lp_cdd.cpp:78: error: 'err' was not declared in this scope
lp_cdd.cpp:78: error: 'vectorList2Matrix' was not declared in this scope
lp_cdd.cpp:80: error: 'ddf_NoError' was not declared in this scope
lp_cdd.cpp:82: error: 'd' was not declared in this scope
lp_cdd.cpp:93: error: 'ddf_Arow' does not name a type
lp_cdd.cpp:95: error: 'temp' was not declared in this scope
lp_cdd.cpp:95: error: 'ddf_InitializeArow' was not declared in this scope
lp_cdd.cpp:97: error: 'ddf_Redundant' was not declared in this scope
lp_cdd.cpp:99: error: 'ddf_FreeMatrix' was not declared in this scope
lp_cdd.cpp:100: error: 'ddf_FreeArow' was not declared in this scope
lp_cdd.cpp:103: error: 'ddf_NoError' was not declared in this scope
lp_cdd.cpp: In function 'void cddinitGmp()':
lp_cdd.cpp:124: error: 'dd_set_global_constants' was not declared in this scope
lp_cdd.cpp: At global scope:
lp_cdd.cpp:130: error: 'dd_MatrixPtr' does not name a type
lp_cdd.cpp:178: error: 'dd_MatrixPtr' does not name a type
lp_cdd.cpp: In member function 'virtual bool LpSolverCddGmp::hasHomogeneousSolution(int, const IntegerVectorList&, const IntegerVectorList&)':
lp_cdd.cpp:229: error: 'dd_LPSolverType' was not declared in this scope
lp_cdd.cpp:229: error: expected ';' before 'solver'
lp_cdd.cpp:230: error: 'dd_MatrixPtr' was not declared in this scope
lp_cdd.cpp:230: error: expected ';' before 'A'
lp_cdd.cpp:231: error: 'dd_LPSolutionPtr' was not declared in this scope
lp_cdd.cpp:231: error: expected ';' before 'lps1'
lp_cdd.cpp:232: error: 'dd_ErrorType' was not declared in this scope
lp_cdd.cpp:232: error: expected ';' before 'err'
lp_cdd.cpp:236: error: 'dd_LPPtr' was not declared in this scope
lp_cdd.cpp:236: error: expected ';' before 'lp'
lp_cdd.cpp:238: error: 'A' was not declared in this scope
lp_cdd.cpp:238: error: 'err' was not declared in this scope
lp_cdd.cpp:238: error: 'vectorList2MatrixIncludingFirstColumnGmp' was not declared in this scope
lp_cdd.cpp:240: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:242: error: 'dd_LPmax' was not declared in this scope
lp_cdd.cpp:243: error: 'lp' was not declared in this scope
lp_cdd.cpp:243: error: 'dd_Matrix2LP' was not declared in this scope
lp_cdd.cpp:244: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:251: error: 'lp1' was not declared in this scope
lp_cdd.cpp:251: error: 'dd_MakeLPforInteriorFinding' was not declared in this scope
lp_cdd.cpp:252: error: 'solver' was not declared in this scope
lp_cdd.cpp:252: error: 'dd_LPSolve' was not declared in this scope
lp_cdd.cpp:253: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:260: error: 'lps1' was not declared in this scope
lp_cdd.cpp:260: error: 'dd_CopyLPSolution' was not declared in this scope
lp_cdd.cpp:273: error: 'dd_Positive' was not declared in this scope
lp_cdd.cpp:274: error: 'dd_Negative' was not declared in this scope
lp_cdd.cpp:278: error: 'dd_FreeLPData' was not declared in this scope
lp_cdd.cpp:279: error: 'dd_FreeLPSolution' was not declared in this scope
lp_cdd.cpp:281: error: 'dd_FreeMatrix' was not declared in this scope
lp_cdd.cpp: In member function 'virtual bool LpSolverCddGmp::isFacet(const IntegerVectorList&, std::_List_const_iterator<Vektor<int> >)':
lp_cdd.cpp:294: error: 'dd_MatrixPtr' was not declared in this scope
lp_cdd.cpp:294: error: expected ';' before 'M'
lp_cdd.cpp:295: error: 'dd_colrange' was not declared in this scope
lp_cdd.cpp:295: error: expected ';' before 'd'
lp_cdd.cpp:296: error: 'dd_ErrorType' was not declared in this scope
lp_cdd.cpp:296: error: expected ';' before 'err'
lp_cdd.cpp:297: error: 'dd_rowset' was not declared in this scope
lp_cdd.cpp:297: error: expected ';' before 'redrows'
lp_cdd.cpp:298: error: 'dd_colset' was not declared in this scope
lp_cdd.cpp:298: error: expected ';' before 'ignoredcols'
lp_cdd.cpp:300: error: 'mytype' was not declared in this scope
lp_cdd.cpp:300: error: expected ';' before 'val'
lp_cdd.cpp:301: error: 'dd_DataFileType' was not declared in this scope
lp_cdd.cpp:301: error: expected ';' before 'inputfile'
lp_cdd.cpp:310: error: 'M' was not declared in this scope
lp_cdd.cpp:310: error: 'err' was not declared in this scope
lp_cdd.cpp:310: error: 'vectorList2MatrixGmp' was not declared in this scope
lp_cdd.cpp:312: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:314: error: 'd' was not declared in this scope
lp_cdd.cpp:325: error: 'dd_Arow' does not name a type
lp_cdd.cpp:327: error: 'temp' was not declared in this scope
lp_cdd.cpp:327: error: 'dd_InitializeArow' was not declared in this scope
lp_cdd.cpp:329: error: 'dd_Redundant' was not declared in this scope
lp_cdd.cpp:332: error: 'dd_FreeMatrix' was not declared in this scope
lp_cdd.cpp:333: error: 'dd_FreeArow' was not declared in this scope
lp_cdd.cpp:335: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp: In function 'int staticInteriorPoint(__mpq_struct (*)[1], const IntegerVectorList&, bool, const IntegerVector*)':
lp_cdd.cpp:349: error: 'dd_LPSolverType' was not declared in this scope
lp_cdd.cpp:349: error: expected ';' before 'solver'
lp_cdd.cpp:350: error: 'dd_MatrixPtr' was not declared in this scope
lp_cdd.cpp:350: error: expected ';' before 'A'
lp_cdd.cpp:351: error: 'dd_LPSolutionPtr' was not declared in this scope
lp_cdd.cpp:351: error: expected ';' before 'lps1'
lp_cdd.cpp:352: error: 'dd_ErrorType' was not declared in this scope
lp_cdd.cpp:352: error: expected ';' before 'err'
lp_cdd.cpp:356: error: 'dd_LPPtr' was not declared in this scope
lp_cdd.cpp:356: error: expected ';' before 'lp'
lp_cdd.cpp:365: error: 'A' was not declared in this scope
lp_cdd.cpp:365: error: 'err' was not declared in this scope
lp_cdd.cpp:365: error: 'vectorList2MatrixGmp' was not declared in this scope
lp_cdd.cpp:368: error: 'A' was not declared in this scope
lp_cdd.cpp:368: error: 'err' was not declared in this scope
lp_cdd.cpp:368: error: 'vectorList2MatrixGmp' was not declared in this scope
lp_cdd.cpp:369: error: 'err' was not declared in this scope
lp_cdd.cpp:369: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:375: error: 'A' was not declared in this scope
lp_cdd.cpp:375: error: 'dd_set_si' was not declared in this scope
lp_cdd.cpp:380: error: 'A' was not declared in this scope
lp_cdd.cpp:380: error: 'set_addelem' was not declared in this scope
lp_cdd.cpp:383: error: 'A' was not declared in this scope
lp_cdd.cpp:383: error: 'dd_LPmax' was not declared in this scope
lp_cdd.cpp:384: error: 'lp' was not declared in this scope
lp_cdd.cpp:384: error: 'err' was not declared in this scope
lp_cdd.cpp:384: error: 'dd_Matrix2LP' was not declared in this scope
lp_cdd.cpp:385: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:392: error: 'lp1' was not declared in this scope
lp_cdd.cpp:392: error: 'dd_MakeLPforInteriorFinding' was not declared in this scope
lp_cdd.cpp:393: error: 'solver' was not declared in this scope
lp_cdd.cpp:393: error: 'dd_LPSolve' was not declared in this scope
lp_cdd.cpp:394: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:400: error: 'lps1' was not declared in this scope
lp_cdd.cpp:400: error: 'dd_CopyLPSolution' was not declared in this scope
lp_cdd.cpp:402: error: 'dd_Positive' was not declared in this scope
lp_cdd.cpp:403: error: 'dd_Negative' was not declared in this scope
lp_cdd.cpp:412: error: 'dd_FreeLPData' was not declared in this scope
lp_cdd.cpp:413: error: 'dd_FreeLPSolution' was not declared in this scope
lp_cdd.cpp:415: error: 'dd_FreeMatrix' was not declared in this scope
lp_cdd.cpp: In function 'int staticRelativeInteriorPoint(__mpq_struct (*)[1], const IntegerVectorList&, bool, const IntegerVector*)':
lp_cdd.cpp:428: error: 'dd_LPSolverType' was not declared in this scope
lp_cdd.cpp:428: error: expected ';' before 'solver'
lp_cdd.cpp:429: error: 'dd_MatrixPtr' was not declared in this scope
lp_cdd.cpp:429: error: expected ';' before 'A'
lp_cdd.cpp:430: error: 'dd_LPSolutionPtr' was not declared in this scope
lp_cdd.cpp:430: error: expected ';' before 'lps1'
lp_cdd.cpp:431: error: 'dd_ErrorType' was not declared in this scope
lp_cdd.cpp:431: error: expected ';' before 'err'
lp_cdd.cpp:435: error: 'dd_LPPtr' was not declared in this scope
lp_cdd.cpp:435: error: expected ';' before 'lp'
lp_cdd.cpp:444: error: 'A' was not declared in this scope
lp_cdd.cpp:444: error: 'err' was not declared in this scope
lp_cdd.cpp:444: error: 'vectorList2MatrixGmp' was not declared in this scope
lp_cdd.cpp:447: error: 'A' was not declared in this scope
lp_cdd.cpp:447: error: 'err' was not declared in this scope
lp_cdd.cpp:447: error: 'vectorList2MatrixGmp' was not declared in this scope
lp_cdd.cpp:448: error: 'err' was not declared in this scope
lp_cdd.cpp:448: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:454: error: 'A' was not declared in this scope
lp_cdd.cpp:454: error: 'dd_set_si' was not declared in this scope
lp_cdd.cpp:459: error: 'A' was not declared in this scope
lp_cdd.cpp:459: error: 'set_addelem' was not declared in this scope
lp_cdd.cpp:462: error: 'A' was not declared in this scope
lp_cdd.cpp:462: error: 'dd_LPmax' was not declared in this scope
lp_cdd.cpp:463: error: 'lp' was not declared in this scope
lp_cdd.cpp:463: error: 'err' was not declared in this scope
lp_cdd.cpp:463: error: 'dd_Matrix2LP' was not declared in this scope
lp_cdd.cpp:464: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:471: error: 'lp1' was not declared in this scope
lp_cdd.cpp:471: error: 'dd_MakeLPforInteriorFinding' was not declared in this scope
lp_cdd.cpp:472: error: 'solver' was not declared in this scope
lp_cdd.cpp:472: error: 'dd_LPSolve' was not declared in this scope
lp_cdd.cpp:473: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:479: error: 'lps1' was not declared in this scope
lp_cdd.cpp:479: error: 'dd_CopyLPSolution' was not declared in this scope
lp_cdd.cpp:481: error: 'dd_Positive' was not declared in this scope
lp_cdd.cpp:482: error: 'dd_Negative' was not declared in this scope
lp_cdd.cpp:491: error: 'dd_FreeLPData' was not declared in this scope
lp_cdd.cpp:492: error: 'dd_FreeLPSolution' was not declared in this scope
lp_cdd.cpp:494: error: 'dd_FreeMatrix' was not declared in this scope
lp_cdd.cpp: In member function 'virtual bool LpSolverCddGmp::positiveVectorInKernel(const IntegerVectorList&, IntegerVector*)':
lp_cdd.cpp:762: error: 'dd_LPSolverType' was not declared in this scope
lp_cdd.cpp:762: error: expected ';' before 'solver'
lp_cdd.cpp:763: error: 'dd_MatrixPtr' was not declared in this scope
lp_cdd.cpp:763: error: expected ';' before 'A'
lp_cdd.cpp:764: error: 'dd_LPSolutionPtr' was not declared in this scope
lp_cdd.cpp:764: error: expected ';' before 'lps1'
lp_cdd.cpp:765: error: 'dd_ErrorType' was not declared in this scope
lp_cdd.cpp:765: error: expected ';' before 'err'
lp_cdd.cpp:769: error: 'dd_LPPtr' was not declared in this scope
lp_cdd.cpp:769: error: expected ';' before 'lp'
lp_cdd.cpp:771: error: 'A' was not declared in this scope
lp_cdd.cpp:771: error: 'err' was not declared in this scope
lp_cdd.cpp:771: error: 'vectorList2MatrixGmp' was not declared in this scope
lp_cdd.cpp:773: error: 'set_addelem' was not declared in this scope
lp_cdd.cpp:776: error: 'dd_set_si' was not declared in this scope
lp_cdd.cpp:781: error: 'dd_set_si' was not declared in this scope
lp_cdd.cpp:784: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:785: error: 'dd_LPmax' was not declared in this scope
lp_cdd.cpp:800: error: 'lp' was not declared in this scope
lp_cdd.cpp:800: error: 'dd_Matrix2LP' was not declared in this scope
lp_cdd.cpp:801: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:805: error: 'solver' was not declared in this scope
lp_cdd.cpp:805: error: 'dd_LPSolve' was not declared in this scope
lp_cdd.cpp:806: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:809: error: 'dd_WriteLPResult' was not declared in this scope
lp_cdd.cpp:812: error: 'lps1' was not declared in this scope
lp_cdd.cpp:812: error: 'dd_CopyLPSolution' was not declared in this scope
lp_cdd.cpp:814: error: 'dd_Positive' was not declared in this scope
lp_cdd.cpp:827: error: 'dd_WriteNumber' was not declared in this scope
lp_cdd.cpp:835: error: 'dd_Arow' was not declared in this scope
lp_cdd.cpp:835: error: expected ';' before 'point'
lp_cdd.cpp:844: error: 'point' was not declared in this scope
lp_cdd.cpp:854: error: 'point' was not declared in this scope
lp_cdd.cpp:867: error: 'dd_WriteNumber' was not declared in this scope
lp_cdd.cpp:890: error: 'dd_FreeLPData' was not declared in this scope
lp_cdd.cpp:891: error: 'dd_FreeLPSolution' was not declared in this scope
lp_cdd.cpp:892: error: 'dd_FreeMatrix' was not declared in this scope
lp_cdd.cpp: In member function 'virtual int LpSolverCddGmp::rankOfMatrix(const IntegerVectorList&)':
lp_cdd.cpp:907: error: 'dd_rowset' was not declared in this scope
lp_cdd.cpp:907: error: expected ';' before 'r'
lp_cdd.cpp:919: error: 'dd_LPSolverType' was not declared in this scope
lp_cdd.cpp:919: error: expected ';' before 'solver'
lp_cdd.cpp:920: error: 'dd_MatrixPtr' was not declared in this scope
lp_cdd.cpp:920: error: expected ';' before 'A'
lp_cdd.cpp:921: error: 'dd_ErrorType' was not declared in this scope
lp_cdd.cpp:921: error: expected ';' before 'err'
lp_cdd.cpp:926: error: 'A' was not declared in this scope
lp_cdd.cpp:926: error: 'err' was not declared in this scope
lp_cdd.cpp:926: error: 'vectorList2MatrixGmp' was not declared in this scope
lp_cdd.cpp:931: error: 'set_addelem' was not declared in this scope
lp_cdd.cpp:935: error: 'dd_set_si' was not declared in this scope
lp_cdd.cpp:943: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:944: error: 'dd_LPmax' was not declared in this scope
lp_cdd.cpp:950: error: 'r' was not declared in this scope
lp_cdd.cpp:950: error: 'dd_RedundantRows' was not declared in this scope
lp_cdd.cpp:951: error: 'dd_NoError' was not declared in this scope
lp_cdd.cpp:953: error: 'set_card' was not declared in this scope
lp_cdd.cpp:957: error: 'set_free' was not declared in this scope
lp_cdd.cpp:959: error: 'dd_FreeMatrix' was not declared in this scope
lp_cdd.cpp: At global scope:
lp_cdd.cpp:971: error: variable or field 'dd_ComputeAinc' declared void
lp_cdd.cpp:971: error: 'dd_PolyhedraPtr' was not declared in this scope
make[2]: *** [lp_cdd.o] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/gfan-0.3.p4/src'
Error building gfan

real    0m2.359s
user    0m1.011s
sys     0m0.174s
sage: An error occurred while installing gfan-0.3.p4
}}}",drkirkby
3,7069,"tachyon-0.98beta.p9 ignores CC and uses gcc, so can't build with Sun Studio.",porting: Solaris,sage-5.10,defect,tbd,new,2009-09-29T06:06:53-07:00,2012-02-25T14:43:33-08:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

{{{
tachyon-0.98beta.p9/patches/
tachyon-0.98beta.p9/patches/Make-arch.patch
tachyon-0.98beta.p9/patches/Make-arch
tachyon-0.98beta.p9/spkg-install
tachyon-0.98beta.p9/.hgignore
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
make[2]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/tachyon-0.98beta.p9/src/unix'
make all \
""ARCH = solaris-pthreads-gcc"" \
""CC = gcc"" \
""CFLAGS = -Wall -O6 -fomit-frame-pointer -ffast-math -D_REENTRANT -DSunOS  -DUSEPNG    -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include  -DTHR -DUSEPOSIXTHREADS"" \
""AR = ar"" \
""ARFLAGS = r"" \
""STRIP = strip"" \
""LIBS = -L. -ltachyon  -L/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/lib -lpng12 -lz  -lm -lpthread""
make[3]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/tachyon-0.98beta.p9/src/unix'
Building Tachyon Parallel Ray Tracing library
Copyright 1994-2007, John E. Stone
All Rights Reserveed
Making architecture directory ../compile/solaris-pthreads-gcc
Making library directory ../compile/solaris-pthreads-gcc/libtachyon
make ../compile ../compile/solaris-pthreads-gcc ../compile/solaris-pthreads-gcc/libtachyon  ../compile/solaris-pthreads-gcc/libtachyon.a  ../compile/solaris-pthreads-gcc/tachyon
make[4]: Entering directory `/export/home/drkirkby/sage/sage-4.1.2.alpha4/spkg/build/tachyon-0.98beta.p9/src/unix'
make[4]: Nothing to be done for `../compile'.
make[4]: Nothing to be done for `../compile/solaris-pthreads-gcc'.
make[4]: Nothing to be done for `../compile/solaris-pthreads-gcc/libtachyon'.
gcc -Wall -O6 -fomit-frame-pointer -ffast-math -D_REENTRANT -DSunOS  -DUSEPNG    -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include  -DTHR -DUSEPOSIXTHREADS -c ../src/api.c -o ../compile/solaris-pthreads-gcc/libtachyon/api.o
gcc -Wall -O6 -fomit-frame-pointer -ffast-math -D_REENTRANT -DSunOS  -DUSEPNG    -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include  -DTHR -DUSEPOSIXTHREADS -c ../src/apigeom.c -o ../compile/solaris-pthreads-gcc/libtachyon/apigeom.o
gcc -Wall -O6 -fomit-frame-pointer -ffast-math -D_REENTRANT -DSunOS  -DUSEPNG    -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include  -DTHR -DUSEPOSIXTHREADS -c ../src/box.c -o ../compile/solaris-pthreads-gcc/libtachyon/box.o
}}}",drkirkby
3,7072,"scipy 0.7.p2 has a GNUism, sending GNU flags to the Sun compiler.",porting: Solaris,sage-5.10,defect,tbd,new,2009-09-29T06:40:09-07:00,2009-11-09T06:03:27-08:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha2
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

{{{
scipy-0.7.p2/patches/setup.py.integrate
scipy-0.7.p2/patches/optimize.py
scipy-0.7.p2/spkg-check
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
f95: Warning: Option --version passed to ld, if ld is invoked, ignored otherwise
Usage: f95 [ options ] files.  Use 'f95 -flags' for details
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
f95: Warning: Option --version passed to ld, if ld is invoked, ignored otherwise
Usage: f95 [ options ] files.  Use 'f95 -flags' for details

}}}
",drkirkby
3,7073,"scipy_sandbox 20071020.p4 has a GNUism, sending GNU flags to the Sun compiler.",build,sage-5.10,defect,tbd,new,2009-09-29T06:44:33-07:00,2009-09-29T06:44:33-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha4
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

{{{
scipy_sandbox-20071020.p4/patches/setup.py.arpack
scipy_sandbox-20071020.p4/patches/setup.py~
scipy_sandbox-20071020.p4/patches/setup.py.spline
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
f95: Warning: Option --version passed to ld, if ld is invoked, ignored otherwise
Usage: f95 [ options ] files.  Use 'f95 -flags' for details
}}}
",drkirkby
3,7074,cvxopt-0.9.p8 sends GNU options to Sun Fortran compiler and has bad C code.,porting: Solaris,sage-5.10,defect,tbd,new,2009-09-29T06:51:32-07:00,2009-09-29T06:51:32-07:00,"Using

    * Solaris 10 update 7 on SPARC
    * sage-4.1.2.alpha4
    * Sun Studio 12.1
    * An updated configure script to allow the Sun compiler to be used #7021 

{{{
cvxopt-0.9.p8/spkg-install
cvxopt-0.9.p8/.hgignore
Finished extraction
****************************************************
Host system
uname -a:
SunOS swan 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
/opt/xxxsunstudio12.1/bin/cc -v
usage: cc [ options] files.  Use 'cc -flags' for details
****************************************************
f95: Warning: Option -fPIC passed to ld, if ld is invoked, ignored otherwise
f95: Warning: Option --version passed to ld, if ld is invoked, ignored otherwise
Usage: f95 [ options ] files.  Use 'f95 -flags' for details
Using gfortran
running install
running build
running build_py
creating build
creating build/lib.solaris-2.10-sun4u-2.6
creating build/lib.solaris-2.10-sun4u-2.6/cvxopt
copying python/__init__.py -> build/lib.solaris-2.10-sun4u-2.6/cvxopt
copying python/misc.py -> build/lib.solaris-2.10-sun4u-2.6/cvxopt
copying python/cvxprog.py -> build/lib.solaris-2.10-sun4u-2.6/cvxopt
copying python/modeling.py -> build/lib.solaris-2.10-sun4u-2.6/cvxopt
copying python/info.py -> build/lib.solaris-2.10-sun4u-2.6/cvxopt
copying python/coneprog.py -> build/lib.solaris-2.10-sun4u-2.6/cvxopt
copying python/solvers.py -> build/lib.solaris-2.10-sun4u-2.6/cvxopt
running build_ext
building 'base' extension
creating build/temp.solaris-2.10-sun4u-2.6
creating build/temp.solaris-2.10-sun4u-2.6/C
/opt/xxxsunstudio12.1/bin/cc -DNDEBUG -O -xcode=pic32 -I/export/home/drkirkby/sage/sage-4.1.2.alpha4/local/include/python2.6 -c C/base.c -o build/temp.solaris-2.10-sun4u-2.6/C/base.o
""C/sun_complex.h"", line 30: invalid type combination
""C/sun_complex.h"", line 30: incomplete _Imaginary type specifier
""C/sun_complex.h"", line 30: warning: useless declaration
""C/sun_complex.h"", line 30: warning: typedef declares no type name
""C/misc.h"", line 29: incomplete _Complex type specifier
}}}",drkirkby
3,7085,fix this laurent series coercion bug,basic arithmetic,sage-5.10,defect,somebody,needs_work,2009-09-30T16:10:18-07:00,2011-01-11T11:39:39-08:00,"{{{
> Ok, I am completely baffled by the following situation:
>
> sage: A.<z>=LaurentSeriesRing(QQ)
> sage: B.<w>=LaurentSeriesRing(A)
> sage: z/w
>  1
> Maybe you will agree this is a bug?

That's definitely a coercion bug.   You can workaround it like this:


sage: sage: A.<z>=LaurentSeriesRing(QQ)
sage: sage: B.<w>=LaurentSeriesRing(A)
sage: z/w
1
sage: (1/w) * z
z*w^-1
}}}",was
3,7099,serious incomplete gamma function precision bugs,numerical,sage-5.10,defect,jkantor,new,2009-10-02T11:58:08-07:00,2011-08-19T07:11:33-07:00,"{{{
sage: C = ComplexField(1000)
sage: C(2+I).gamma_inc(C(3+I))
0.1215156446645086956511068454478419198494520969688892364501953125000000\
000000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000000\
00000000000000 +
0.1015339090798260332775427433604775728781532961875200271606445312500000\
000000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000000\
00000000000000*I
}}}

What's with all the zeros?   Same bad behavior for higher precision and any other random input.  This is undoubtedly the typical mistake of not setting the pari precision correctly, etc., etc. ",was
3,7132,mpir-1.2.p7 fails to build as CXXFLAGS has no 64-bit option on Solaris,porting: Solaris,sage-5.10,defect,tbd,new,2009-10-05T17:04:42-07:00,2009-10-05T17:04:42-07:00,"I'm using the following hardware and software now.
    * A Sun Blade 2000 running Solaris 10 update 7
    * Sage 4.1.2.rc0
    * gcc 4.4.1
    * SAGE64 exported to ""yes"" 

mpir-1.2.p7 consists of both C and C++ code, but although the spkg-install is adding -m64 to CFLAGS, it is not doing this to CXXFLAGS on Solaris. Hence it attempts to build with a mix of 32 and 64-bit binaries, which gives the usual error:

ld: fatal: file .libs/dummy.o: wrong ELF class: ELFCLASS32
quired

A look at the object files, clearly shows some are built 32-bit, whilst others are 64-bit. 


{{{
./cxx/.libs/ismpf.o:    ELF 32-bit MSB relocatable SPARC32PLUS Version 1, V8+ Required
./cxx/.libs/ismpq.o:    ELF 32-bit MSB relocatable SPARC32PLUS Version 1, V8+ Required
./cxx/.libs/osfuns.o:   ELF 32-bit MSB relocatable SPARC32PLUS Version 1, V8+ Required
./cxx/.libs/ismpz.o:    ELF 32-bit MSB relocatable SPARC32PLUS Version 1, V8+ Required
}}}

though others (not shown) are 64-bit as they are supposed to be. 

There are a number of packages in Sage building as 32-bit on Solaris, despite SAGE64 being set to ""yes"" This include, but are almost certainly not limited to:

 * zlib #7128
 * libgpg_error #7129
 * libpng #7130
 * libcliquer #7131

mpir fails to build at all, since it is trying to mix 32 and 64-bit objects. 

The fix to this will be quite easy, but I will wait until I've written a better sage-env, which will mean the correct flags for 64-bit will be generated on all platforms and compilers we can possibly envisage. Whilst -m64 works with Sun and GNU compilers, it will not work with native compilers on AIX or HP-UX. 
",drkirkby
3,7135,python always building 32-bit on Solaris,porting: Solaris,sage-5.10,defect,tbd,new,2009-10-05T17:48:50-07:00,2009-10-05T17:48:50-07:00,"Using

    * A Sun Blade 2000 running Solaris 10 update 7
    * Sage 4.1.2.rc0
    * gcc 4.4.1
    * SAGE64 exported to ""yes"" 

looking at the directory $SAGE_HOME/local/bin, we can see that python is being built as 32-bit, despite the fact that SAGE64 was set to ""yes""

{{{
python:         ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped
python2.6:      ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped
}}}

This is '''far''' from the only package building 32-bit when SAGE64 is set to ""yes"" on Solaris. All of the following do, and I suspect there are many others too. 

    * zlib #7128
    * libgpg_error #7129
    * libpng #7130
    * libcliquer #7131
    * pari #7133 
    * ntl #7134

mpir currently mixes 32 and 64-bit objects, so do not build at all #7132.

I will sort this package out after creating a new sage-env, which exports all the variables properly, including the flag for building 64-bit code, which is not always -m64.

Although there is no support for AIX or HP-UX in Sage yet, we could potentially add it - I personally own machines running AIX and HP-UX.

IBM's compiler on AIX uses -q64, and HP's on HP-UX uses +DD64.

The sensible way to resolve this is to add the correct flag on every platform. ",drkirkby
3,7136,gp always building 32-bit on Solaris,porting: Solaris,sage-5.10,defect,tbd,new,2009-10-05T17:53:01-07:00,2009-10-05T17:53:01-07:00,"Using

    * A Sun Blade 2000 running Solaris 10 update 7
    * Sage 4.1.2.rc0
    * gcc 4.4.1
    * SAGE64 exported to ""yes"" 

Looking at the directory $SAGE_HOME/local/bin, we can see that ''pg'' is being built as 32-bit binary, despite the fact that SAGE64 was set to ""yes""
{{{
drkirkby@swan:[~/sage/gcc64-sage-4.1.2.rc0/local/bin] $ file gp
gp:             ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped, no debugging information available
}}}

This is '''far''' from the only package building 32-bit when SAGE64 is set to ""yes"" on Solaris. All of the following do, and I suspect there are many others too.

    * zlib #7128
    * libgpg_error #7129
    * libpng #7130
    * libcliquer #7131
    * pari #7133
    * ntl #7134 
    * python #7135
    

mpir currently mixes 32 and 64-bit objects, so do not build at all #7132.

I will sort this package out after creating a new sage-env, which exports all the variables properly, including the flag for building 64-bit code, which is not always -m64.

Although there is no support for AIX or HP-UX in Sage yet, we could potentially add it - I personally own machines running AIX and HP-UX.

IBM's compiler on AIX uses -q64, and HP's on HP-UX uses +DD64.

The sensible way to resolve this is to add the correct flag on every platform.
",drkirkby
3,7160,comparison with quadratic number field elements needs work,number fields,sage-5.10,defect,davidloeffler,needs_review,2009-10-08T11:38:28-07:00,2013-05-15T13:40:56-07:00,"{{{
sage: I^2
-1
sage: bool(I^2 < 0)
True
sage: bool(I^2 > 0)
True
}}}

Apply:

- trac_7160-doctest.patch",mhansen
3,7163,right kernel does not respect sparse=True,linear algebra,sage-5.10,defect,tbd,new,2009-10-08T14:05:55-07:00,2009-11-15T05:11:19-08:00,"{{{
<Submarine> hi
<Submarine> sage: ker=m.right_kernel(sparse=True)
<Submarine> sage: type(ker.basis_matrix())
<Submarine> <type 'sage.matrix.matrix_rational_dense.Matrix_rational_dense'>
<Submarine> Is it normal I'm getting a dense matrix?
}}}",mhansen
3,7165,sage fails to plot a quarter circle when it should,graphics,sage-5.10,defect,was,new,2009-10-09T10:33:18-07:00,2011-02-16T14:15:11-08:00,"I use sage 4.1.2alpha4. This plot is right with this version :

{{{parametric_plot([real(exp(i*m)),imaginary(exp(i*m))],m,0,7)}}}

I apply the patch 7122 by copy/paste in emacs and run sage -br.
Now this plot is also right, it draw a half-circle :

{{{parametric_plot([real(m+sqrt(m^2-1)),imaginary(m+sqrt(m^2-1))],m,-5,5)}}} 

I also get it by this function :
{{{
def solve2pplot (eq) : return [real(eq.rhs()),imaginary(eq.rhs())]
res = solve(z^2+2*m*z+1,z)
parametric_plot (solve2pplot (res[0]), m, -5,5)
}}}

Now I solve this 4 degree equation. The solve is right with sqrt at 2 levels.

But I get an error in the parametric_plot :

{{{
res = solve(z^4+2*m*z^2+1,z)
parametric_plot (solve2pplot (res[0]), m, -5,5)
}}}

The local {{{solve2pplot(res[0])}}} generates a long formula.

real axe and imaginary axe are right. 

But sage doesn't plot the quarter-circle between axes at position 1=(1,0) and i=(0,1) and claims {{{failed to evaluate function at 40 points}}}. So the plot is a line between the 2 axes.



",fmaltey
3,7178,HP-UX  lcalc does not build. Also fails on Solaris with Sun compiler,build,sage-5.10,defect,tbd,new,2009-10-10T02:06:02-07:00,2009-10-10T02:06:02-07:00,"I think lcalc needs an overhall. Warnings were purposly ignored until I recently fixed that. It does not build with the Sun compiler - see #7056. It can't even appear to find the 'cp' command on HP-UX. 

 

{{{
                 from Lcommandline_values_zeros.cc:25:
../include/Lgamma.h: In function 'Complex gamma_sum(Complex, int, ttype*, int, Double, Complex, Double, Long, Complex, const char*) [with ttype = std::complex<double>]':
../include/Lvalue.h:510:   instantiated from 'Complex L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype = std::complex<double>]'
../include/Lvalue.h:590:   instantiated from 'Complex L_function<ttype>::value(Complex, int, const char*) [with ttype = std::complex<double>]'
$ ta(Complex, Double) [with ttype = int]':                                   <
Lcommandline_values_zeros.cc:68:   instantiated from here
../include/Lgamma.h:622: warning: unused variable 'y'
../include/Lgamma.h:622: warning: unused variable 'y2'
../include/Lgamma.h:622: warning: unused variable 'y3'
sh: ../include/Lvalue.h::  not found.
$ ue_via_gamma_sum(Complex, const char*) [with ttype = int]'                 <
../include/Lvalue.h:473: warning: control reaches end of non-void function

../include/Lvalue.h: In member function 'Complex L_function<ttype>::value_via_Riemann_sum(Complex, const char*) [with ttype = int]':
../include/Lvalue.h:473: warning: control reaches end of non-void function
In file included from ../include/L.h:520,
sh: ../include/Lvalue.h:501::  not found.
                 from ../include/Lcommandline_values_zeros.h:27,
                 from Lcommandline_values_zer$ ../include/Lvalue.h:590:   instan$ ue(Complex, int, const char*) [with ttype = int]'                          <
os.cc:25:
../include/Lfind_zeros.h: In member function 'Double L_function<ttype>::zeros_zoom_brent(Double, Double, Double, Double) sh: ../include/Lvalue.h:590::  not found.
$ Lcommandline_values_zeros.cc:57:   instantiated from here
[with ttype = double]':
../include/Lfind_zeros.h:31: warning: 'd' may be used uninitialized in this function
.sh: Lcommandline_values_zeros.cc:57::  not found.
$ ../include/Lvalue.h:37: warning: unused variable 'f2'
sh: ../include/Lvalue.h:37::  not found.
$ In file included from ../include/L.h:37,
./include/Lfind_zeros.h: In member function 'Double L_function<ttype>::zeros_zoom_brent(Double, Double, Double, Double) [with ttype = std::complex<double>]':
../include/Lfind_zeros.h:31: warning: 'd' may be used uninitialized in this function
../include/Lfind_zeros.h: In function 'Double L_function<ttype>::zeros_zoom_brent(Double, Double, Double, Double) [with ttype = int]':
../include/Lfind_zeros.h:31: warning: 'd' may be used uninitialized in this function
../include/Lfind_zeros.h: In function 'void L_function<ttype>::find_zeros_via_N(Long, bool, Double, int, const char*, const char*) [with ttype = std::complex<double>]':
../include/Lfind_zeros.h:433: warning: 'tmp2' may be used uninitialized in this function
../include/Lfind_zeros.h:433: warning: 'tL_function<ttype>::find_zeros_via_N(Long, bool, Double, int, const char*, const char*) [with ttype = double]':
../include/Lfind_zeros.h:646: warning: 'tmp3' may be used uninitialized in this function
../include/Lfind_zeros.h:433: warning: 'tmp2' may be used uninitialized in this function
Lgamma.cc: In function 'Complex erfc2(Complex)':
Lgamma.cc:158: warning: unused variable 'n'
*** Error exit code 1

Stop.
Now copying over lcalc binary
cp: cannot access lcalc: No such file or directory

real    1m49.990s
user    1m46.620s
sys     0m1.890s
sage: An error occurred while installing lcalc-20080205.p3
sh: In:  not found.
$                  from ../include/Lcommandline_values_zeros.h:27,
$                  from Lcommandline_values_zeros.cc:25:
$ lex, const char*) [with ttype = int]':                                     <
sh: ../include/Lgamma.h::  not found.
$ ue_via_gamma_sum(Complex, const char*) [with ttype = int]'                 <
sh: ../include/Lvalue.h:510::  not found.
$ ue(Complex, int, const char*) [with ttype = int]'                          <
sh: ../include/Lvalue.h:590::  not found.
$ Lcommandline_values_zeros.cc:57:   instantiated from here
sh: Lcommandline_values_zeros.cc:57::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y'
sh: ../include/Lgamma.h:622::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y2'
sh: ../include/Lgamma.h:622::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y3'
sh: ../include/Lgamma.h:622::  not found.
$ In file included from ../include/L.h:519,
sh: In:  not found.
$                  from ../include/Lcommandline_values_zeros.h:27,
$                  from Lcommandline_values_zeros.cc:25:
$ ta(Complex, Double) [with ttype = double]':                                <
sh: ../include/Lvalue.h::  not found.
$ ue_via_gamma_sum(Complex, const char*) [with ttype = double]'              <
sh: ../include/Lvalue.h:501::  not found.
$ ue(Complex, int, const char*) [with ttype = double]'                       <
sh: ../include/Lvalue.h:590::  not found.
$ Lcommandline_values_zeros.cc:64:   instantiated from here
sh: Lcommandline_values_zeros.cc:64::  not found.
$ ../include/Lvalue.h:37: warning: unused variable 'f2'
sh: ../include/Lvalue.h:37::  not found.
$ In file included from ../include/L.h:37,
sh: In:  not found.
$                  from ../include/Lcommandline_values_zeros.h:27,
$                  from Lcommandline_values_zeros.cc:25:
$ lex, const char*) [with ttype = double]':                                  <
sh: ../include/Lgamma.h::  not found.
$ ue_via_gamma_sum(Complex, const char*) [with ttype = double]'              <
sh: ../include/Lvalue.h:510::  not found.
$ ue(Complex, int, const char*) [with ttype = double]'                       <
sh: ../include/Lvalue.h:590::  not found.
$ Lcommandline_values_zeros.cc:64:   instantiated from here
sh: Lcommandline_values_zeros.cc:64::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y'
sh: ../include/Lgamma.h:622::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y2'
sh: ../include/Lgamma.h:622::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y3'
sh: ../include/Lgamma.h:622::  not found.
$ In file included from ../include/L.h:519,
sh: In:  not found.
$                  from ../include/Lcommandline_values_zeros.h:27,
$                  from Lcommandline_values_zeros.cc:25:
$ ta(Complex, Double) [with ttype = std::complex<double>]':                  <
sh: ../include/Lvalue.h::  not found.
$ ue_via_gamma_sum(Complex, const char*) [with ttype = std::complex<double>]'<
sh: ../include/Lvalue.h:501::  not found.
$ ue(Complex, int, const char*) [with ttype = std::complex<double>]'         <
sh: ../include/Lvalue.h:590::  not found.
$ Lcommandline_values_zeros.cc:68:   instantiated from here
sh: Lcommandline_values_zeros.cc:68::  not found.
$ ../include/Lvalue.h:37: warning: unused variable 'f2'
sh: ../include/Lvalue.h:37::  not found.
$ In file included from ../include/L.h:37,
sh: In:  not found.
$                  from ../include/Lcommandline_values_zeros.h:27,
$                  from Lcommandline_values_zeros.cc:25:
$ lex, const char*) [with ttype = std::complex<double>]':                    <
sh: ../include/Lgamma.h::  not found.
$ ue_via_gamma_sum(Complex, const char*) [with ttype = std::complex<double>]'<
sh: ../include/Lvalue.h:510::  not found.
$ ue(Complex, int, const char*) [with ttype = std::complex<double>]'         <
sh: ../include/Lvalue.h:590::  not found.
$ Lcommandline_values_zeros.cc:68:   instantiated from here
sh: Lcommandline_values_zeros.cc:68::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y'
sh: ../include/Lgamma.h:622::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y2'
sh: ../include/Lgamma.h:622::  not found.
$ ../include/Lgamma.h:622: warning: unused variable 'y3'
sh: ../include/Lgamma.h:622::  not found.
$ a_Riemann_sum(Complex, const char*) [with ttype = double]':                <
sh: ../include/Lvalue.h::  not found.
$ ../include/Lvalue.h:473: warning: control reaches end of non-void function
sh: ../include/Lvalue.h:473::  not found.
$ a_Riemann_sum(Complex, const char*) [with ttype = std::complex<double>]':  <
sh: ../include/Lvalue.h::  not found.
$ ../include/Lvalue.h:473: warning: control reaches end of non-void function
sh: ../include/Lvalue.h:473::  not found.
$ a_Riemann_sum(Complex, const char*) [with ttype = int]':                   <
sh: ../include/Lvalue.h::  not found.
$ ../include/Lvalue.h:473: warning: control reaches end of non-void function
sh: ../include/Lvalue.h:473::  not found.
$ In file included from ../include/L.h:520,
sh: In:  not found.
$                  from ../include/Lcommandline_values_zeros.h:27,
$                  from Lcommandline_values_zeros.cc:25:
$ s_zoom_brent(Double, Double, Double, Double) [with ttype = double]':       <
sh: ../include/Lfind_zeros.h::  not found.
$ 'd' may be used uninitialized in this function                             <
sh: ../include/Lfind_zeros.h:31::  not found.
$ ouble) [with ttype = std::complex<double>]':                               <
sh: ../include/Lfind_zeros.h::  not found.
$ 'd' may be used uninitialized in this function                             <
sh: ../include/Lfind_zeros.h:31::  not found.
$ brent(Double, Double, Double, Double) [with ttype = int]':                 <
sh: ../include/Lfind_zeros.h::  not found.
$ 'd' may be used uninitialized in this function                             <
sh: ../include/Lfind_zeros.h:31::  not found.
$ r*, const char*) [with ttype = std::complex<double>]':                     <
sh: ../include/Lfind_zeros.h::  not found.
$  'tmp2' may be used uninitialized in this function                         <
sh: ../include/Lfind_zeros.h:433::  not found.
$  'tmp3' may be used uninitialized in this function                         <
sh: ../include/Lfind_zeros.h:433::  not found.
$  'x3' may be used uninitialized in this function                           <
sh: ../include/Lfind_zeros.h:434::  not found.
$  'x3_c' may be used uninitialized in this function                         <
sh: ../include/Lfind_zeros.h:434::  not found.
$  'u3' may be used uninitialized in this function                           <
sh: ../include/Lfind_zeros.h:434::  not found.
$ a_N(Long, bool, Double, int, const char*, const char*) [with ttype = int]':<
sh: ../include/Lfind_zeros.h::  not found.
$  'tmp3' may be used uninitialized in this function                         <
sh: ../include/Lfind_zeros.h:646::  not found.
$  'tmp2' may be used uninitialized in this function                         <
sh: ../include/Lfind_zeros.h:433::  not found.
$ r*, const char*) [with ttype = double]':                                   <
sh: ../include/Lfind_zeros.h::  not found.
$  'tmp3' may be used uninitialized in this function                         <
sh: ../include/Lfind_zeros.h:646::  not found.
$  'tmp2' may be used uninitialized in this function                         <
sh: ../include/Lfind_zeros.h:433::  not found.
$ Lgamma.cc: In function 'Complex erfc2(Complex)':
sh: Lgamma.cc::  not found.
$ Lgamma.cc:158: warning: unused variable 'n'
sh: Lgamma.cc:158::  not found.
$ *** Error exit code 1
sh: 2016698240: Execute permission denied.
$
$ Stop.
sh: Stop.:  not found.
$ Now copying over lcalc binary
sh: Now:  not found.
$ cp: cannot access lcalc: No such file or directory
sh: cp::  not found.
$
$ real    1m49.990s
sh: real:  not found.
$ user    1m46.620s
sh: user:  not found.
$ sys     0m1.890s
sh: sys:  not found.
$ sage: An error occurred while installing lcalc-20080205.p3

}}}",drkirkby
3,7188,GNUism in $SAGE_ROOT/spkg/install,porting,sage-5.10,defect,tbd,needs_work,2009-10-11T03:40:13-07:00,2009-10-17T04:20:08-07:00,"Once one runs make it runs the script $SAGE_ROOT/spkg/install. 

Unfortunately, the very first command in there, the result of ticket #6744 has a GNUism. 

{{{
 echo `date -u ""+%s""` > .BUILDSTART
}}}

The '%s is '''not''' part of the current POSIX standard and fails to work on both the latest version of Solaris (which is a supported operating system), and with HP-UX 11i, which is not supported 
by Sage, but I think we should try to build Sage in such a way 
that is should run on any decent operating system. 

There are at least two ways around this issue of find the number of seconds since 1//1/1970:

http://shell.cfajohnson.com/cus-faq.html#Q6

One requires 'perl' (which is not tested for at this point), the other relies on 'awk' being POSIX complaint, which we can't assume, but is probably the safer of the two assumptions. A third way would be a way to make it work with any 'date' command using some maths with 'bc' but that looks like a lot of work, for little gain. 


{{{
# The method below looks a bit odd, as one uses a
# random number generator to get the time! However,
# it will work with any 'awk' supporting the
# POSIX spec for srand().

# David Kirkby has tested this on the following operating systems.
# AIX, HP-UX, Linux, OS X and Solaris. (versions as available).

# The trick is to first seed the srand random number generator
# generator with the default value (which is the number
# of seconds since 1/1/1970) then call srand() again, to give the
# first random number, which will be the seed. Neat I think!

# See  http://shell.cfajohnson.com/cus-faq.html#Q6

if [ `uname` = ""SunOS"" ] ; then
  # The standard awk in Solaris is not POSIX complaint, and so will not be
  # acceptable. But Sun ship a POSIX complient version at nawk (new awk)
  nawk 'BEGIN {srand(); printf(""%d\n"", srand())}' > .BUILDSTART
else
  awk 'BEGIN {srand(); printf(""%d\n"", srand())}' > .BUILDSTART
fi

}}}

The updated install script, can be found at 

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/top-level-install-script/

I've tested this on

 * AIX 6.1, compliments of http://www.metamodul.com/10.html
 * HP-UX 11i (my own HP C3600)
 * Linux (sage.math)
 * Solaris 10 update 7 SPARC (t2.math)
 * OpenSolaris 2008.11 (disk.math)
 * OS X (bsd.math)

 
According to #6744 this needs to be manually integrated into Sage. Note I stuck a readme file in the directory highlighting the fact this needs to have execute permissions too.
 

Dave ",drkirkby
3,7191,Make Dirichlet characters work when base ring is CC,number theory,sage-5.10,defect,bober,needs_work,2009-10-11T19:58:56-07:00,2011-11-14T10:01:16-08:00,"See the following example:

{{{
sage: G = DirichletGroup(500, base_ring=CC)
sage: G[0].is_primitive()
False
sage: G[1].is_primitive()
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)

/home/bober/.sage/temp/bober/24617/_home_bober__sage_init_sage_0.py in <module>()

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in is_primitive(self)
   1161             True
   1162         """"""
-> 1163         return (self.conductor() == self.modulus())
   1164 
   1165     @cached_method

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in conductor(self)
    624         F = arith.factor(self.modulus())
    625         if len(F) > 1:
--> 626             return misc.mul([d.conductor() for d in self.decomposition()])
    627         p = F[0][0]
    628         # When p is odd, and x =/= 1, the conductor is the smallest p**r such that

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in conductor(self)
    620             20
    621         """"""
--> 622         if self.modulus() == 1 or self.is_trivial():
    623             return 1
    624         F = arith.factor(self.modulus())

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in is_trivial(self)
   1177             True
   1178         """"""
-> 1179         return (self.element() == 0)
   1180 
   1181     def kernel(self):

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in element(self)
   1531             M    = P._module
   1532             dlog = P._zeta_dlog
-> 1533             v = M([dlog[x] for x in self.values_on_gens()])
   1534             self.__element = v
   1535             return v

KeyError: -1.00000000000000 - 2.63677968348475e-16*I
sage: G[3].is_primitive()
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)

/home/bober/.sage/temp/bober/24617/_home_bober__sage_init_sage_0.py in <module>()

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in is_primitive(self)
   1161             True
   1162         """"""
-> 1163         return (self.conductor() == self.modulus())
   1164 
   1165     @cached_method

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in conductor(self)
    624         F = arith.factor(self.modulus())
    625         if len(F) > 1:
--> 626             return misc.mul([d.conductor() for d in self.decomposition()])
    627         p = F[0][0]
    628         # When p is odd, and x =/= 1, the conductor is the smallest p**r such that

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in conductor(self)
    620             20
    621         """"""
--> 622         if self.modulus() == 1 or self.is_trivial():
    623             return 1
    624         F = arith.factor(self.modulus())

/home/bober/sage/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc in __call__(self, *args, **kwds)
    240             return cache[key]
    241         else:
--> 242             cache[key] = self.f(self._instance, *args, **kwds)
    243             return cache[key]
    244 

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in is_trivial(self)
   1177             True
   1178         """"""
-> 1179         return (self.element() == 0)
   1180 
   1181     def kernel(self):

/home/bober/sage/local/lib/python2.6/site-packages/sage/modular/dirichlet.pyc in element(self)
   1531             M    = P._module
   1532             dlog = P._zeta_dlog
-> 1533             v = M([dlog[x] for x in self.values_on_gens()])
   1534             self.__element = v
   1535             return v

KeyError: -1.00000000000000 - 2.63677968348475e-16*I
sage:
}}}",bober
3,7206,doctest failure in groups/perm_gps/permgroup.py,group theory,sage-5.10,defect,joyner,new,2009-10-13T20:02:20-07:00,2009-10-14T19:13:35-07:00,"With 4.1.2.rc2, I have one doctest failure on Ubuntu 9.04 amd64:
{{{
drake@sagenb:~/s/sage-4.1.2.rc2$ ./sage -t  devel/sage/sage/groups/perm_gps/permgroup.py
  sage -t  ""devel/sage/sage/groups/perm_gps/permgroup.py""    
  **********************************************************************
  File ""/home/drake/s/sage-4.1.2.rc2/devel/sage/sage/groups/perm_gps/permgroup.py"", line 1114:
      sage: G.random_element()
  Expected:
      (1,2)(4,5)
  Got:
      (2,3)(4,5)
  **********************************************************************
  1 items had failures:
     1 of   4 in __main__.example_34
  ***Test Failed*** 1 failures.
  For whitespace errors, see the file /home/drake/.sage//tmp/.doctest_permgroup.py
           [6.7 s]
  exit code: 1024

  ----------------------------------------------------------------------
  The following tests failed:

          sage -t  ""devel/sage/sage/groups/perm_gps/permgroup.py"" 
}}}

This seems like #5884 again. I ran a bisect and it blames #6647.",ddrake
3,7232,fix tachyon segfault introduced by #6542,graphics,sage-5.10,defect,was,new,2009-10-15T20:40:38-07:00,2013-03-14T23:25:25-07:00,"This pretty much says it all:

{{{
sage: a = 1
sage: b = 0
sage: c = 0
sage: 
sage: f = lambda t: ((a*c*cos(t) - b*sin(t))/sqrt(a^2+b^2), (b*c*cos(t) +
....: a*sin(t))/sqrt(a^2+b^2), cos(t)*sqrt(a^2+b^2))
sage: t = Tachyon(camera_center=(0,0,0))
sage: t.texture('t')
sage: t.light((-20,-20,40), 0.2, (1,1,1))
sage: t.parametric_plot(f,0,2*pi,'t',min_depth=6)
sage: 
sage: t.show()
sh: line 1:  2214 Segmentation fault      tachyon /Users/wstein/.sage//temp/flat.local/2161//tmp_2.dat -format PNG -o /Users/wstein/.sage//temp/flat.local/2161//tmp_1.png > /dev/null
}}}

Note, that this was I think caused by #6542.",was
3,7250,cached_function broken for builtin functions,misc,sage-5.10,defect,cwitty,new,2009-10-19T14:43:40-07:00,2013-01-09T13:03:02-08:00,"This used to work before #6937:
{{{
    sage: f = cached_function(sage.structure.element.is_RingElement)
    sage: f(1)
    True
}}}

That's used at one spot in the category code (but we can disable it temporarily)",nthiery
3,7293,Matrix of constraints as an input to MixedIntegerLinearProgram,linear programming,sage-5.10,defect,jkantor,new,2009-10-25T02:24:54-07:00,2012-03-25T16:42:36-07:00,"MixedIntegerLinearProgram should accept a constraint matrix as its input, as it could be produces by other means in Sage.",ncohen
3,7296,set_aspect_ratio fails with a type error for asymptote,graphics,sage-5.10,defect,was,new,2009-10-25T04:27:38-07:00,2009-10-25T04:27:38-07:00,"I test plot for usual functions with set_aspect_ratio(1) to get ""the right plot"".
{{{
res=plot(tan(x),x,0,pi/2-0.01)
res.set_aspect_ratio(1)
res
}}}

This graph isn't pretty but it's the pertinent plot.

Then I plot a new graph closer at x=pi/2 
{{{
res=plot(tan(x),x,0,pi/2-0.0001)
res                          # is right 
res.set_aspect_ratio(1)
res # I get a system error with a trace 
}}}

It seems it's an overflow error with a plot too thin.
height / width = 10000. 
I expect a warning or an standard error, not this break.
",fmaltey
3,7342,installing kash3-2008-07-31 spkg fails on OS X,packages: optional,sage-5.10,defect,tbd,new,2009-10-28T17:39:42-07:00,2009-10-28T17:39:42-07:00,"The kash3 optional spkg doesn't work at all on OS X:

{{{
x kash3-2008-07-31/src/KASH3-Linux-2008-07-31.tar.bz2
x kash3-2008-07-31/src/KASH3-Darwin-2008-07-31.tar.bz2
Finished extraction
****************************************************
Host system
uname -a:
Darwin d-69-91-159-10.dhcp4.washington.edu 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009; root:xnu-1456.1.25~1/RELEASE_I386 i386
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646)
****************************************************
Usage:
  List:    tar -tf <archive-filename>
  Extract: tar -xf <archive-filename>
  Create:  tar -cf <archive-filename> [filenames...]
  Help:    tar --help
Error extracting kash.

real	0m0.050s
user	0m0.037s
sys	0m0.011s
sage: An error occurred while installing kash3-2008-07-31
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /Users/wstein/s/install.log.  Describe your computer, operating system, etc.
If you want to try to fix the problem yourself, *don't* just cd to
/Users/wstein/s/spkg/build/kash3-2008-07-31 and type 'make'.
Instead type ""/Users/wstein/s/sage -sh""
in order to set all environment variables correctly, then cd to
/Users/wstein/s/spkg/build/kash3-2008-07-31
(When you are done debugging, you can type ""exit"" to leave the
subshell.)
}}}",was
3,7382,MonskyWashnitzer segfault,number theory,sage-5.10,defect,robertwb,new,2009-11-03T09:59:21-08:00,2011-11-18T06:04:00-08:00,"So I don't actually *need* matrix_of_frobenius_hyperelliptic of a curve over an extension field, but I inadvertently passed it in during a computation and caused a segfault. It would be nice for this to work (coercion?), since the curve is defined over QQ anyway.

{{{
sage: R.<x> = QQ['x']
sage: H = HyperellipticCurve(x^3-10*x+9)
sage: K = Qp(3,5)
sage: J.<a> = K.extension(x^30-3)
sage: HJ = H.change_ring(J)
sage: import sage.schemes.elliptic_curves.monsky_washnitzer as mw
sage: M_frob, forms = mw.matrix_of_frobenius_hyperelliptic(HJ)


------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occured in SAGE.
This probably occured because a *compiled* component
of SAGE has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run SAGE under gdb with 'sage -gdb' to debug this.
SAGE will now terminate (sorry).
------------------------------------------------------------
}}}",jen
3,7401,Derivative at a point is not translated into Maxima,interfaces,sage-5.10,defect,was,needs_work,2009-11-06T02:53:17-08:00,2009-11-21T23:27:24-08:00,"Alex reported [http://groups.google.cz/group/sage-support/browse_thread/thread/81b96a7731600ec2] this bug (see the link for short discussion related to the problem)
{{{
Hi all:

I found some strange behavior in solve that's related to function
composition.  Check out this short example.

----------------------------------------------------------------------
| Sage Version 4.2, Release Date: 2009-10-24                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: var('x,t')
(x, t)
sage: f= function('f',x)
sage: e= {x:exp(t)}
sage: ft= f.subs(e); ft
f(e^t)
sage: Ft = t^2 + ft^2; Ft
t^2 + f(e^t)^2
sage: a= diff(Ft,t); a
2*e^t*f(e^t)*D[0](f)(e^t) + 2*t
sage: solve(a==0,diff(f,x).subs(e))
[D[0](f)(t) == -t*e^(-t)/f(e^t)]

Did you spot the strangeness?  Somehow diff(f,x).subs(e) became diff
(f,x).subs({x:t}) after solving.  Does anybody know how to fix this?

Alex 

}}}",robert.marik
3,7423,plot3d can't handle log(0),graphics,sage-5.10,defect,was,new,2009-11-10T12:33:44-08:00,2010-11-04T11:59:00-07:00,"In 4.2.1.alpha0:
{{{
sage: f(x,y)=ln(x)
sage: P=plot3d(f,(x,0,1),(y,0,1))
sage: P
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (16, 0))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<snip a lot>
ValueError: math domain error
}}}
Switch to (x,0.1,1), and all is well.  I am pretty sure the problem is that line 404 in plot/plot3d/parametric_surface.pyx doesn't have an exception handler for log(0) or other such nan type values:
{{{
sage: math.log(0)
<snip>
ValueError: math domain error
}}}
But in the plotting context, it's silly not to just ignore this; we check for things like this all the time:
{{{
sage: plot(log,0,1)
<works fine>
}}}
For now it would probably be enough to fix it for the z variable.  ",kcrisman
3,7437,the optional gnuplotpy-1.7.p3 spkg doesn't build at all since with switched to python-2.6,packages: optional,sage-5.10,defect,tbd,new,2009-11-11T21:04:19-08:00,2009-11-11T21:10:24-08:00,"{{{
Traceback (most recent call last):
  File ""setup.py"", line 17, in <module>
    from __init__ import __version__
  File ""/home/sage/sage/spkg/build/gnuplotpy-1.7.p3/src/__init__.py"", line 167, in <module>
    from PlotItems import PlotItem, Func, File, Data, GridData
  File ""/home/sage/sage/spkg/build/gnuplotpy-1.7.p3/src/PlotItems.py"", line 88
    'with' : lambda self, with: self.set_string_option(
                             ^
SyntaxError: invalid syntax
Error installing gnuplotpy.

real    0m0.159s
user    0m0.024s
sys     0m0.124s
sage: An error occurred while installing gnuplotpy-1.7.p3
}}}",was
3,7438,the graphviz experimental spkg fails to warn about needed dependencies,packages: experimental,sage-5.10,defect,tbd,new,2009-11-11T21:24:09-08:00,2013-04-02T09:54:07-07:00,"I installed ubuntu-9.10, sage-4.2.1 and tried to install all optional spkg.  Graphviz fails after a long time with:
{{{
gcc -DHAVE_CONFIG_H -I. -I../..  -I../../lib/common -I../../lib/gvc -I../../lib/pathplan -I../../lib/graph -I../../lib/cdt -I/home/sage/sage/local/include -I/home/sage/sage/local/include  -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -MT no_demand_loading.o -MD -MP -MF .deps/no_demand_loading.Tpo -c -o no_demand_loading.o `test -f '../../lib/gvc/no_demand_loading.c' || echo './'`../../lib/gvc/no_demand_loading.c
mv -f .deps/no_demand_loading.Tpo .deps/no_demand_loading.Po
make[3]: *** No rule to make target `../../plugin/pango/libgvplugin_pango.la', needed by `dot_builtins'.  Stop.
make[3]: Leaving directory `/home/sage/sage/spkg/build/graphviz-2.16.1.p0/src/cmd/dot'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/sage/sage/spkg/build/graphviz-2.16.1.p0/src/cmd'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sage/sage/spkg/build/graphviz-2.16.1.p0/src'
make: *** [all] Error 2
Error building Graphviz

real    14m54.042s
user    3m50.614s
sys     10m25.267s
sage: An error occurred while installing graphviz-2.16.1.p0
}}}

----

It turns out that graphviz needs pango and maybe libperl-dev.  See discussion below.",was
3,7475,bug pickling ZZ.residue_field's,pickling,sage-5.10,defect,was,new,2009-11-16T09:41:54-08:00,2012-02-25T20:49:43-08:00,"{{{
sage: K = ZZ.residue_field(2)
sage: dumps(K)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Users/wstein/.sage/temp/flat.local/44250/_Users_wstein__sage_init_sage_0.py in <module>()

/Users/wstein/s/local/lib/python2.6/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.dumps (sage/structure/sage_object.c:7951)()

/Users/wstein/s/local/lib/python2.6/site-packages/sage/rings/ring.so in sage.rings.ring.FiniteField.__reduce__ (sage/rings/ring.c:12800)()

TypeError: 'NoneType' object is unsubscriptable
sage: K = ZZ.residue_field(3)
sage: dumps(K)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Users/wstein/.sage/temp/flat.local/44250/_Users_wstein__sage_init_sage_0.py in <module>()

/Users/wstein/s/local/lib/python2.6/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.dumps (sage/structure/sage_object.c:7951)()

/Users/wstein/s/local/lib/python2.6/site-packages/sage/rings/ring.so in sage.rings.ring.FiniteField.__reduce__ (sage/rings/ring.c:12800)()

TypeError: 'NoneType' object is unsubscriptable
}}}",was
3,7512,fast_callable should respect the variable order in callable symbolic expressions (treating them like lambda functions rather than like expressions),graphics,sage-5.10,defect,was,needs_info,2009-11-21T19:49:46-08:00,2010-09-06T19:43:25-07:00,"This is a somewhat subtle issue if the function is a pure python function (you'd need to analyze the argument names), but maybe a convention is that if variable names are specified, they must match up to argument names in the function, and then they are slotted into the function using a dictionary, so that no matter where in the variable range list the range for x appears, it always is sent to the function as f(x=value).

See http://sagenb.org/home/jason3/302/

I think that each of these should return the same plot:

{{{
sage: var('x,y')
sage: def f(x,y):
...      return x*sin(y)
...
sage: plot3d(f, (x,0,3),(y,-6,6),viewer='tachyon')
sage: plot3d(f, (y,-6,6),(x,0,3),viewer='tachyon')
sage: g(x,y)= x*sin(y)
sage: plot3d(g, (x,0,3),(y,-6,6),viewer='tachyon')
sage: plot3d(g, (y,-6,6),(x,0,3),viewer='tachyon')
}}}",jason
3,7516,bug in pickling quotient module over pid,linear algebra,sage-5.10,defect,was,needs_info,2009-11-22T20:56:05-08:00,2010-01-30T15:23:29-08:00,"This is from the ""report a problem"" link in the notebook:

If you have a vector space, that is a quotient of a subspace of
another vector space, then after coercing elements into it, something
goes wrong in (un)pickling it.

{{{
sage: V = VectorSpace(QQ, 2)
sage: W = V.subspace([V([1,1])])
sage: Z = W.subspace([])
sage: WmodZ = W / Z
sage: WmodZ(W(0))
(0)
sage: loads(dumps(WmodZ))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

/home/bosman/sage/<ipython console> in <module>()

/home/bosman/sage-4.2-linux-Ubuntu_9.04-i686-Linux/local/lib/python2.6/site-packages/sage/structure/sage_object.so
in sage.structure.sage_object.loads
(sage/structure/sage_object.c:8769)()

/home/bosman/sage-4.2-linux-Ubuntu_9.04-i686-Linux/local/lib/python2.6/site-packages/sage/modules/free_module.pyc
in __hash__(self)
  4576             True
  4577         """"""
-> 4578         return hash(self.__basis)
  4579
  4580     def construction(self):

AttributeError: 'FreeModule_submodule_field' object has no attribute
'_FreeModule_submodule_with_basis_pid__basis'
}}}

",was
3,7554,bug in multivariate polynomial factorization,commutative algebra,sage-5.10,defect,malb,new,2009-11-29T00:49:16-08:00,2009-11-29T00:49:16-08:00,"This is suspicious:

{{{
sage: # define the coefficient field K and R=K[x,y]
sage: K.<a>=PolynomialRing(QQ,1)
sage: K=FractionField(K)
sage: R.<x,y>=PolynomialRing(K,2)
sage: factor(x^2-y^2)
(x - y) * (x + y)
sage: factor(x)
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)

/Users/wstein/<ipython console> in <module>()

/Users/wstein/s/local/lib/python2.6/site-packages/sage/rings/arith.pyc in factor(n, proof, int_, algorithm, verbose, **kwds)
   2100         # this happens for example if n = x**2 + y**2 + 2*x*y
   2101         try:
-> 2102             return n.factor(proof=proof, **kwds)
   2103         except AttributeError:
   2104             raise TypeError, ""unable to factor n""

/Users/wstein/s/local/lib/python2.6/site-packages/sage/rings/polynomial/multi_polynomial_element.pyc in factor(self, proof)
   1422         # try to use univariate factoring first
   1423         try:
-> 1424             F = self.univariate_polynomial().factor()
   1425             return Factorization([(R(f),m) for f,m in F], unit=F.unit())
   1426         except TypeError:

/Users/wstein/s/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.factor (sage/rings/polynomial/polynomial_element.c:22319)()

NotImplementedError: 
}}}

See emails from Stefan Boettner in sage-support on Nov 28, 2009",was
3,7579,notebook -- autosave needs to save a snapshot,notebook,sage-5.10,defect,was,new,2009-12-01T20:35:40-08:00,2009-12-01T20:35:40-08:00,"{{{
> On both sagenb.org and my personal notebook the revision history for
> any worksheet is blank. Is revision history no longer supported?

There is a bug. Thanks for the report!  A workaround is to *explicitly* click on the Save button -- that will  create a revision.  I should fix this.    However does this (likely me, as soon as Sage Days 18 is over I'll be done with everything and can focus totally on the notebook for the rest of the year), should also implement rolling backups (i.e., daily, weekly monthly only, i.e., smart deleting of old snapshots).  
}}}",was
3,7589,bug in coercion and cyclotomic fields,coercion,sage-5.10,defect,robertwb,new,2009-12-03T01:45:31-08:00,2009-12-03T01:45:31-08:00,"This should work automagically:

{{{
----------------------------------------------------------------------
| Sage Version 4.2.1, Release Date: 2009-11-14                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: a = CyclotomicField(3).random_element()
sage: b = CyclotomicField(4).random_element()
sage: a + b
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/ghitza/.sage/temp/artin/9098/_home_ghitza__sage_init_sage_0.py in <module>()

/home/ghitza/sage-devel/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.ModuleElement.__add__ (sage/structure/element.c:6989)()

/home/ghitza/sage-devel/local/lib/python2.6/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:7021)()

TypeError: unsupported operand parent(s) for '+': 'Cyclotomic Field of order 3 and degree 2' and 'Cyclotomic Field of order 4 and degree 2'
sage: a * b
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/ghitza/.sage/temp/artin/9098/_home_ghitza__sage_init_sage_0.py in <module>()

/home/ghitza/sage-devel/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:10248)()

/home/ghitza/sage-devel/local/lib/python2.6/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:7021)()

TypeError: unsupported operand parent(s) for '*': 'Cyclotomic Field of order 3 and degree 2' and 'Cyclotomic Field of order 4 and degree 2'
}}}

I think it's a coercion problem.  If someone knows better, please change the trac component accordingly.
",AlexGhitza
3,7596,QQ.number_field() does not behave like any other NumberField,number fields,sage-5.10,defect,davidloeffler,new,2009-12-03T12:06:43-08:00,2011-02-16T01:35:31-08:00,"Several examples:

{{{
sage: K.<a> = NumberField(x)
sage: K.ideal(5)
Fractional ideal (5)
sage: QQ.ideal(5)
Principal ideal (1) of Rational Field
sage: QQ.number_field().ideal(5)
Principal ideal (1) of Rational Field
}}}

{{{
K = QQ
I = K.ideal(7)
}}}

This creates ideal that does not have the functions I.denominator, I.numerator, I.prime_ideals() ... which a fractional ideal in a number field should have

{{{
K.<a> = NumberField(x^2+2)
I = K.ideal(7)
}}}

Similarly, QQ.places() is not implemented; it should return the one infinite place for Q. Although there seems to be QQ.embeddings().

{{{
QQ.places()
}}}",rlm
3,7632,add to Developer's Guide information how to write portable code,porting,sage-5.10,defect,drkirkby,new,2009-12-08T16:12:00-08:00,2009-12-08T17:04:47-08:00,"As discussed on [http://groups.google.com/group/sage-devel/browse_thread/thread/bc1ea5faa96eea13 sage-devel], we need to document how to write portable POSIX conforming code, using best-practices. One such example, which started the discussion, was using 
 
{{{
test ""$1"" && test ""$2"" 
}}}
 
and NOT 
 
{{{
test ""$1"" -a 	""$2""
}}}
 
 
It would be wise to cite the URL for the 2004 POSIX standard (IEEE Std 1003.1, 2004 Edition), in the developers guide. The URL is:  
 
 http://www.opengroup.org/onlinepubs/009695399/
 
(There is a later 2008 POSIX standard, but some of changes in this may not be implemented in everyone's operating system, whereas most operating systems will implement the 2004 standard). 
 
Unfortunately, due to what I believe is probably the use of frames, all URLs on this site appear to be the same. As such, if directing people to a URL, right-click on the item required, and copy the URL. E.g for the 'test' tool, it is:
 
 http://www.opengroup.org/onlinepubs/009695399/utilities/test.html
 
For 'cp' it is
 
 http://www.opengroup.org/onlinepubs/009695399/utilities/cp.html
",drkirkby
3,7646,preparsing file should start *after* the module docstring (factoring constants out messed things up),user interface,sage-5.10,defect,was,new,2009-12-09T17:04:03-08:00,2009-12-09T17:04:03-08:00,"{{{
Hello William,
I've done some more snooping
into this, and the preparse_file function is messing up the file by adding
lines of the form

 _sage_const_2 = Integer(2); _sage_const_3 = Integer(3)

to the {top} of the file. Thus, in most cases, the function

 find_position_right_after_docstring

never really gets to do its thing properly. I've temporarily fixed this by
setting the default value of numeric_literals to False in sage-preparse.
This problem still seems to be around in version 4.2....

Best,

---
Subject: SAGE: is the preparser really supposed to be messing up my module docstrings?

Hello William,

I poked around a bit in the sage source code, for the preparser, and it seems
that the intention is not to mess up module docstrings:

 file: $SAGE_ROOT/local/bin/sage-preparse, lines: 125ff
 -----------------------------------------------------
   ...
   # Put the Sage library include along with a autogen message in the file.
   # It is ** critical ** that we put this after the mdoule docstring, since
   # otherwise the module docstring will disappear.
   insert = '%s%s.\nfrom sage.all_cmdline import *   # import sage library\n'%(AUTOGEN_MSG, f)
   i = find_position_right_after_module_docstring(G)
   ...

however, with regard to the subject line, see the sage session below.

$ ./sage-4.0.2/sage
----------------------------------------------------------------------
| Sage Version 4.0.2, Release Date: 2009-06-18                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: cat my_mod.sage
""""""
This is the module docstring for my_mod.sage. There is one function

 my_func()

and one variable

 my_var
""""""

def my_func():
   return 7

my_var = 8
sage: !./sage-4.0.2/sage -preparse my_mod.sage
sage: cat my_mod.py
# This file was *autogenerated* from the file my_mod.sage.
from sage.all_cmdline import *   # import sage library
_sage_const_8 = Integer(8); _sage_const_7 = Integer(7)
""""""
This is the module docstring for my_mod.sage. There is one function

 my_func()

and one variable

 my_var
""""""

def my_func():
   return _sage_const_7

my_var = _sage_const_8
sage: import my_mod
sage: my_mod?
Type:           module
Base Class:     <type 'module'>
String Form:    <module 'my_mod' from 'my_mod.py'>
Namespace:      Interactive
File:           /home/defu/my_mod.py
Docstring:
   x.__init__(...) initializes x; see x.__class__.__doc__ for signature

sage:
}}}",was
3,7657,"notebook -- traceback involving ""_before_preparse"" in sagenb.org log",notebook,sage-5.10,defect,was,new,2009-12-10T21:04:23-08:00,2010-01-19T01:06:08-08:00,"The sagenb.org log has this error in it a bunch:
{{{
2009-12-10 13:58:06-0800 [HTTPChannel,203984,127.0.0.1] Exception rendering:2009-12-10 13:58:06-0800 [HTTPChannel,203984,127.0.0.1] Unhandled Error
        Traceback (most recent call last):
          File ""/usr/local/sage/local/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py"", line 630, in gotResult
            _deferGenerator(g, deferred)
          File ""/usr/local/sage/local/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py"", line 607, in _deferGenerator
            deferred.callback(result)
          File ""/usr/local/sage/local/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py"", line 243, in callback
            self._startRunCallbacks(result)
          File ""/usr/local/sage/local/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py"", line 312, in _startRunCallbacks
            self._runCallbacks()
        --- <exception caught here> ---
          File ""/usr/local/sage/local/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.eg
g/twisted/internet/defer.py"", line 328, in _runCallbacks
            self.result = callback(self.result, *args, **kw)
          File ""/usr/local/sage/local/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.eg
g/twisted/web2/resource.py"", line 230, in <lambda>            ).addCallback(lambda res: self.render(request))
          File ""/usr/local/sage/local/lib/python2.6/site-packages/sagenb/notebook/twist.py"", line 113
1, in render            worksheet.check_comp()
          File ""/usr/local/sage/local/lib/python2.6/site-packages/sagenb/notebook/worksheet.py"", line
 3133, in check_comp            out = self.postprocess_output(output_status.output, C)
          File ""/usr/local/sage/local/lib/python2.6/site-packages/sagenb/notebook/worksheet.py"", line
 3619, in postprocess_output            I = C._before_preparse.split('\n')
        exceptions.AttributeError: Cell instance has no attribute '_before_preparse'
}}}

Fix this.",was
3,7660,arithmetic with inequalities confusing,symbolics,sage-5.10,defect,burcin,new,2009-12-11T05:55:02-08:00,2013-01-09T03:09:14-08:00,"From the following sage-devel thread: 


http://groups.google.com/group/sage-devel/t/951d510c814f894f 


 
Arithmetic with inequalities can be confusing, since Sage does nothing to keep the inequality ``correct``. For example: 


{{{ 
On Thu, 10 Dec 2009 00:37:10 -0800 (PST) 
 	""marik@mendelu.cz"" <marik@mendelu.cz> wrote: 
 	 
 	> sage: f = x + 3 < y - 2 
 	> sage: f*(-1) 
 	> -x - 3 < -y + 2 
 	}}} 
 	 
 	It seems MMA doesn't apply any automatic simplification in this case: 
 	 
 	{{{ 
 	On Thu, 10 Dec 2009 09:54:36 -0800 
 	William Stein <wstein@gmail.com> wrote: 
 	 
 	> Mathematica does something weird and formal: 
 	>  
 	> In[1]:= f := x+3 < y-2; 
 	> In[3]:= f*(-1) 
 	> Out[3]= -(3 + x < -2 + y) 
 	}}} 
 	 
 	Maple acts more intuitively, though the way ``formal products`` are printed leaves something to be desired, IMHO: 
 	 
 	{{{ 
 	On Thu, 10 Dec 2009 14:15:53 -0800 
 	William Stein <wstein@gmail.com> wrote: 
 	 
 	> Here is what Maple does: 
 	>  
 	> flat:release_notes wstein$ maple 
 	>     |\^/|     Maple 13 (APPLE UNIVERSAL OSX) 
 	> ._|\|   |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple 
 	> Inc. 2009 \  MAPLE  /  All rights reserved. Maple is a trademark of 
 	>  <____ ____>  Waterloo Maple Inc. 
 	>       |       Type ? for help. 
 	> > f := x < y;   
 	>                                   f := x < y 
 	>  
 	> > f*(-3);   
 	>                                   -3 y < -3 x 
 	>  
 	> > f*z;   
 	>                                   *(x < y, z) 
 	>  
 	> > f*a;   
 	>                                   *(x < y, a) 
 	}}} 
 	 
 	 
 	We should multiply both sides of the inequality only if the argument is a real number (as opposed to a symbol with real domain), and invert the relation when the argument is negative. 
 	 
 	Note that GiNaC leaves everything formal, like MMA, by default: 
 	 
 	{{{ 
 	ginsh - GiNaC Interactive Shell (ginac V1.5.3) 
 	  __,  _______  Copyright (C) 1999-2009 Johannes Gutenberg University Mainz, 
 	 (__) *       | Germany.  This is free software with ABSOLUTELY NO WARRANTY. 
 	  ._) i N a C | You are welcome to redistribute it under certain conditions. 
 	<-------------' For details type `warranty;'. 
 	 
 	Type ?? for a list of help topics. 
 	> f= x < y; 
 	x<y 
 	> f*-1; 
 	-(x<y) 
 	> f*-5; 
 	-5*(x<y) 
 	> f*-z; 
 	-z*(x<y) 
 	> f*z; 
 	z*(x<y) 
 	}}}
",burcin
3,7664,Make sure latex doesn't do weird things with R output,packages: standard,sage-5.10,defect,tbd,new,2009-12-11T12:11:23-08:00,2011-11-19T17:19:41-08:00,"jsmath doesn't understand output from R, so you have to turn off typesetting for it to work.  E.g., it doesn't know what to do with this table which results from R output - I guess it's really a latex() problem.
{{{
sage: r.data('Cars93')
[1] ""sage0""
sage: a._latex_()

% latex.default(sage3, file = """") 
%
\begin{table}[!tbp]
 \begin{center}
 \begin{tabular}{l}\hline\hline
\multicolumn{1}{c}{}\tabularnewline
\hline
sage0\tabularnewline
\hline
\end{tabular}

\end{center}

\end{table}
}}}",kcrisman
3,7670,notebook -- evidently only the first 6 characters are significant???,notebook,sage-5.10,defect,was,new,2009-12-11T16:22:38-08:00,2009-12-12T11:19:13-08:00,"{{{
Hi,

There is a password issue with sage notebook account. Please read below:

Sameer

On Fri, Dec 11, 2009 at 1:22 PM, Sameer Regmi <> wrote:
> On Fri, Dec 11, 2009 at 1:16 PM, Ondrej Certik <> wrote:
>> On Fri, Dec 11, 2009 at 1:12 PM, Sameer <> wrote:
>>> Hi I have found a weird issue with FEMhub online lab account. Let's
>>> say my password is ""nevada"". Then whenever I enter any text (in
>>> password field) with nevada as the prefix it will login. That means if
>>> I enter nevada123 (or whatever as the suffix) it will
>>> login.
>>
>> Seems like a bug in the Sage notebook. Could you please try to verify
>> this against sagenb.org and if the problem is in there as well,
>> could you please report it to the sage notebook list?
>
> Exactly! Its the bug in Sage notebook. The issue is there in sagenb.org too.
> I even can login with ""nevad"" if the password is of nevada. I am
> reporting to sage notebook list
>
> Sameer
}}}",was
3,7681,R pexpect interface doesn't handle errors well,interfaces,sage-5.10,defect,was,new,2009-12-14T11:43:23-08:00,2012-05-21T06:15:00-07:00,"For instance:
{{{
sage: r.length([1,2,3,4])
[1] 4
sage: r.vector('c(1,2,3,4,3)')
[1] 4
sage: r.length([1,2,3,4])
[1] 4
sage: r.vector('c(1,2,3,4,3)')
[1] 4
sage: r.vector('c(1,2,3,4,3)')
[1] 2
sage: r.vector('c(1,2,3,4,3)')
[1] 1 2 3 4 3
sage: r.vector('c(1,2,3,4,3)')
[1] 1 2 3 4 3
sage: r.vector('c(1,2,3,4,3)')
Error: object 'sage49' not found
}}}
Somehow the R interface is keeping stuff from previous calls and returning it, and then at some point choking.   Incidentally, in the above session, after trying many other R commands this way and always getting similar errors, all of a sudden 
{{{
[1] 1 2 3 4 3
}}}
showed up - as the answer to something else!  Where it had been hiding, I can only guess.",kcrisman
3,7686,"Remove ""AppleDouble encoded Macintosh files"" from SPKGs",distribution,sage-5.10,defect,tbd,new,2009-12-15T11:14:07-08:00,2012-10-04T18:13:49-07:00,"The spkg's with ._ file crap all over the place are:

   * `flintqs-20070817.p8` (standard)
   * `gap_packages-4.4.12.p1` (optional)
   * `boost_1_34_1` (experimental)
   * `quantlib-0.9.6` (experimental)
   * `quantlib_swig-0.9.6` (experimental)

This can be fixed by extracting the spkg, deleting the crap, and remaking it with ""sage -pkg"".  I think ""sage -pkg"" works correctly on OS X now-a-days, but certainly does on Linux.",was
3,7687,Remove leonconv binary from gap spkg (guava pkg).,distribution,sage-5.10,defect,tbd,new,2009-12-15T11:24:16-08:00,2009-12-15T12:24:47-08:00,"We ship a Linux *binary* {{{leonconv}}} with every copy of Sage.  This is bad and a potential security issue.  Delete this.  

{{{
wstein@sage:~/build/sage-4.3.rc0/spkg/standard/gap-4.4.10.p12/src/pkg/guava3.4/src$ ls -lh
total 36K
drwxr-xr-x 2 wstein wstein 4.0K 2008-03-31 03:55 ctjhai
-rw-r--r-- 1 wstein wstein  147 2008-03-17 14:40 defs.h
drwxr-xr-x 4 wstein wstein 4.0K 2008-03-31 03:55 leon
-rwxr-xr-x 1 wstein wstein  15K 2008-03-17 14:40 leonconv
-rw-r--r-- 1 wstein wstein 4.0K 2008-03-17 14:40 leonconv.c
-rwxr-xr-x 1 wstein wstein  262 2008-03-17 14:44 Makefile
wstein@sage:~/build/sage-4.3.rc0/spkg/standard/gap-4.4.10.p12/src/pkg/guava3.4/src$ ./leonconv
Error, usage: leonconv <switch> <inputfile> <outputfile>
}}}",was
3,7731,knoboo --> codenode optional spkg transition,packages: optional,sage-5.10,defect,tbd,new,2009-12-17T22:07:27-08:00,2009-12-23T23:08:21-08:00,"Right now an old knoboo spkg is available here:

    http://sagemath.org/packages/optional/

It would be much better obviously if the knoboo package were deleted and a new codenode was available here.   
",was
3,7759,Add a 'README.Solaris' file to the root of Sage directory.,porting: Solaris,sage-5.10,defect,drkirkby,new,2009-12-24T02:20:46-08:00,2009-12-25T02:01:50-08:00,"Since sage-4.3.rc0 should build on Solaris, I think we need a README file. But I agree with William's suggestion some time ago, that this is a link to a Wiki. So the attached README.Solaris basically tells people where to get information on building Sage on Solaris. 

I'll update the Wili regularly. ",drkirkby
3,7767,PARI thinks C compiler is broken on Open Solaris.,porting: Solaris,sage-5.10,defect,drkirkby,new,2009-12-25T19:39:14-08:00,2010-09-28T15:23:42-07:00,"On a Sun Ultra 27, running Open Solaris 06/2009 and gcc 4.3.4, I get the following error when trying to build PARI:

I've not looked yet, but the chances are it some GNUism passing inappropriate flags to the compiler. It might be a problem with pari, or it might be a problem in something Sage does, so at this point in time, I've not reported this upstream, despite the fact it might be an upstream bug. 

{{{
pari-2.3.3.p5/src/CHANGES-2.2
Finished extraction
****************************************************
Host system
uname -a:
SunOS hawk 5.11 snv_111b i86pc i386 i86pc
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.3.4/configure --prefix=/usr/local/gcc-4.3.4/ --with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.3.4 (GCC) 
****************************************************
Configuring pari-2.3.3 (STABLE) 
Checking echo to see how to suppress newlines...
...using \c
Looking for some tools first ...
...ld is /usr/ccs/bin/ld
...zcat is /usr/bin/zcat
...gzip is /usr/bin/gzip
...ranlib is /usr/ccs/bin/ranlib
...perl is /usr/bin/perl
...I could not find emacs.
******************************************************************
* C compiler does not work. PARI/GP requires an ANSI C compiler! *
* Aborting.                                                      *
******************************************************************
Compiler was: gcc
ERROR - configure PARI with readline and gmp failed.

real	0m0.145s
user	0m0.047s
sys	0m0.053s
sage: An error occurred while installing pari-2.3.3.p5
}}}

",drkirkby
3,7808,Plots seem to be shifted up and to the left by one pixel or so,graphics,sage-5.10,defect,was,needs_info,2010-01-01T10:39:13-08:00,2010-11-08T17:41:02-08:00,"There was a thread on sage-devel where it seemed like a number of people felt plots (or axes!) were shifted by about one pixel or so.  Here's one manifestation:

{{{
region_plot([x^2+y^2<=1, x<=y], (x,-2,2), (y,-2,2),plot_points=400).show(aspect_ratio=1)
}}}

There are a lot of other examples in a thread on one of the sage mailing lists, but I can't find the thread.",jason
3,7851,libz igoresSAGE64 other than on OS X,porting,sage-5.10,defect,drkirkby,needs_work,2010-01-05T11:04:56-08:00,2012-06-01T10:50:30-07:00,"The spkg-install of libz zlib-1.2.3.p5 has this:

{{{
if [ `uname` = ""Darwin"" -a ""$SAGE64"" = ""yes"" ]; then
   CFLAGS="" -m64 $CFLAGS -fPIC -g -I\""$SAGE_LOCAL/include\""""
   cp ../patches/configure-OSX-64 configure
else
   CFLAGS=""$CFLAGS -fPIC -g -I\""$SAGE_LOCAL/include\""""
fi
export CFLAGS
}}}

so is almost doomed to a 64-bit build unless one sets CFLAGS externally. ",drkirkby
3,7862,singular creates some 32-bit and some 64-bit objects on Open Solaris,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-01-06T15:45:18-08:00,2010-01-06T18:02:39-08:00," == Build environment ==
 * Sun Ultra 27 3.333 GHz Intel Xeon. 12 GB RAM
 * !OpenSolaris 2009.06 snv_111b X86
 * Sage 4.3.1.alpha1 (with a few packages hacked to work on 64-bit)
 * gcc 4.3.4 configured with Sun linker and GNU assembler from binutils version 2.20.
 * 64-bit build. SAGE64 was set to yes, plus various other tricks to get -m64 into packages. 

 == The problem ==
First we see g++ is compiling with the -m64 option, as is should do. 
{{{
g++ -c lgs.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -m64 -O3 -g -fPIC -o lgs.o
g++ -c singext.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -m64 -O3 -g -fPIC -o singext.o
}}}
So far so good. Then a library is created using 'ar'
{{{
ar cr libsingcf.a canonicalform.o cf_algorithm.o cf_binom.o cf_char.o cf_chinese.o cf_eval.o cf_factor.o cf_factory.o cf_gcd.o cf_gcd_charp.o cf_generator.o cf_globals.o cf_inline.o cf_irred.o cf_iter.o cf_iter_inline.o cf_linsys.o cf_map.o cf_ops.o cf_primes.o cf_random.o cf_resultant.o cf_reval.o cf_switches.o cf_util.o debug.o fac_berlekamp.o fac_cantzass.o fac_distrib.o fac_ezgcd.o fac_iterfor.o fac_multihensel.o fac_multivar.o fac_sqrfree.o fac_univar.o fac_util.o fieldGCD.o ffops.o ffreval.o gf_tabutil.o gfops.o imm.o initgmp.o int_cf.o int_int.o int_intdiv.o int_poly.o int_pp.o int_rat.o sm_sparsemod.o sm_util.o variable.o NTLconvert.o abs_fac.o bifac.o lgs.o singext.o
ranlib libsingcf.a
}}}
Again, that looks ok. But now see when further C code is compiled, so the -m64 option does not propogate, so the compiler makes 32-bit code. 
{{{
g++ -g -c canonicalform.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -o canonicalform.og
g++ -g -c cf_algorithm.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -o cf_algorithm.og
g++ -g -c cf_binom.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -o cf_binom.og
g++ -g -c cf_char.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -o cf_char.og
g++ -g -c cf_chinese.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -o cf_chinese.og
g++ -g -c cf_eval.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -o cf_eval.og
g++ -g -c cf_factor.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include  -I/export/home/drkirkby/sage-4.3.1.alpha1/local/include -o cf_factor.og
In file included from /export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/ZZ.h:19,
                 from /export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/vec_ZZ.h:5,
                 from /export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/ZZX.h:5,
                 from /export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/ZZXFactoring.h:5,
                 from NTLconvert.h:23,
                 from cf_factor.cc:33:
/export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/tools.h:201: error: integer constant is too large for ‘long’ type
/export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/tools.h:201: error: integer constant is too large for ‘long’ type
/export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/tools.h:204: error: integer constant is too large for ‘long’ type
/export/home/drkirkby/sage-4.3.1.alpha1/local/include/NTL/tools.h:204: error: integer constant is too large for ‘long’ type
}}}
 == Summary ==
It looks like a makefile is probably broken, and somehow -m64 is  not propagating like it should. ",drkirkby
3,7865,R  - WARNING: cannot run mixed C/Fortran code (then exits),porting: Solaris,sage-5.10,defect,drkirkby,new,2010-01-06T21:47:58-08:00,2011-11-19T17:19:07-08:00,"== Build environment ==
 * Sun Ultra 27 3.333 GHz Intel Xeon. 12 GB RAM
 * !OpenSolaris 2009.06 snv_111b X86
 * Sage 4.3.1.alpha1 (with a few packages hacked to work on 64-bit)
 * gcc 4.3.4 configured with Sun linker and GNU assembler from binutils version 2.20.
 * 64-bit build. SAGE64 was set to yes, plus various other tricks to get -m64 into packages. 
 
== The problem ==
{{{
checking for inline... inline
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 8
checking for long long... yes
checking size of long long... 8
checking for double... yes
checking size of double... 8
checking for long double... yes
checking size of long double... 16
checking for size_t... (cached) yes
checking size of size_t... 8
checking whether we can compute C Make dependencies... yes, using gcc -std=gnu99 -MM
checking whether gcc -std=gnu99 supports -c -o FILE.lo... yes
checking how to get verbose linking output from sage_fortran... -v
checking for Fortran 77 libraries of sage_fortran...  -L/lib/64 -L/usr/lib/64 -L/export/home/drkirkby/sage-4.3.1.alpha1/local/lib/ -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/amd64 -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/../../../amd64 -L/lib/amd64 -L/usr/lib/amd64 -L/export/home/drkirkby/sage-4.3.1.alpha1/local/lib -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4 -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/../../.. -lgfortranbegin -lgfortran -lm
checking how to get verbose linking output from gcc -std=gnu99... -v
checking for C libraries of gcc -std=gnu99...  -L/lib/64 -L/usr/lib/64 -L/export/home/drkirkby/sage-4.3.1.alpha1/local/lib/ -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/amd64 -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/../../../amd64 -L/lib/amd64 -L/usr/lib/amd64 -L/export/home/drkirkby/sage-4.3.1.alpha1/local/lib -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4 -L/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/../../.. -lgcc_eh
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, no extra underscore
checking whether sage_fortran appends underscores to external names... yes
checking whether sage_fortran appends extra underscores to external names... no
checking whether mixed C/Fortran code can be run... configure: WARNING: cannot run mixed C/Fortran code
configure: error: Maybe check LDFLAGS for paths to Fortran libraries?
Error configuring R.

real	0m11.582s
user	0m3.994s
sys	0m4.392s
}}}",drkirkby
3,7905,Sun Studio 12 64-bit mode on Solaris 10 (SPARC).  libgpg-error creates 32-bit binaries.,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-01-12T00:26:27-08:00,2010-01-12T08:24:45-08:00,"== Build environment ==
 * Sun Blade 2000. 2 x UltraSPARC III+ CPUs at 1.2 GHz. 8 GB RAM
 * Solaris 10 update 7 (05/2009)
 * Sage 4.3 with numerous modifications, including updated sage-env to hopefully handle 64-bit builds properly. 
 * Sun Studio 12.1 
 * 64-bit build. SAGE64 was set to yes. 

{{{
CC=/opt/sunstudio12.1/bin/cc
CXX=/opt/sunstudio12.1/bin/CC
SAGE64=yes
SAGE_FORTRAN_LIB=/usr/local/gcc-4.4.1-sun-linker/lib/libgfortran.so
SAGE_FORTRAN=/opt/sunstudio12.1/bin/f95
}}}

I'm not sure why I set SAGE_FORTRAN_LIB there, but I doubt it was doing anything. The build breaks with:

{{{
 /opt/sunstudio12.1/bin/cc -DHAVE_CONFIG_H -I. -I.. -I/export/home/drkirkby/sun-64/sage-4.3/local/include -I/export/home/drkirkby/sun-64/sage-4.3/local/include -g -O2 -m64 -g -c ath.c  -KPIC -DPIC -o .libs/libgcrypt_la-ath.o
 /opt/sunstudio12.1/bin/cc -DHAVE_CONFIG_H -I. -I.. -I/export/home/drkirkby/sun-64/sage-4.3/local/include -I/export/home/drkirkby/sun-64/sage-4.3/local/include -g -O2 -m64 -g -c ath.c -o libgcrypt_la-ath.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=link /opt/sunstudio12.1/bin/cc -I/export/home/drkirkby/sun-64/sage-4.3/local/include -g  -O2  -m64  -g      -version-info 16:2:5 -m64  -o libgcrypt.la -rpath /export/home/drkirkby/sun-64/sage-4.3/local/lib libgcrypt_la-visibility.lo libgcrypt_la-misc.lo libgcrypt_la-global.lo libgcrypt_la-sexp.lo libgcrypt_la-hwfeatures.lo libgcrypt_la-stdmem.lo libgcrypt_la-secmem.lo libgcrypt_la-missing-string.lo libgcrypt_la-module.lo libgcrypt_la-fips.lo libgcrypt_la-hmac256.lo libgcrypt_la-ath.lo ../cipher/libcipher.la ../random/librandom.la ../mpi/libmpi.la -L/export/home/drkirkby/sun-64/sage-4.3/local/lib -lgpg-error -lsocket -lsocket 
ld -G -h libgcrypt.so.11 -o .libs/libgcrypt.so.11.5.2  .libs/libgcrypt_la-visibility.o .libs/libgcrypt_la-misc.o .libs/libgcrypt_la-global.o .libs/libgcrypt_la-sexp.o .libs/libgcrypt_la-hwfeatures.o .libs/libgcrypt_la-stdmem.o .libs/libgcrypt_la-secmem.o .libs/libgcrypt_la-missing-string.o .libs/libgcrypt_la-module.o .libs/libgcrypt_la-fips.o .libs/libgcrypt_la-hmac256.o .libs/libgcrypt_la-ath.o -z allextract ../cipher/.libs/libcipher.a ../random/.libs/librandom.a ../mpi/.libs/libmpi.a -z defaultextract  -R/export/home/drkirkby/sun-64/sage-4.3/local/lib -R/export/home/drkirkby/sun-64/sage-4.3/local/lib -L/export/home/drkirkby/sun-64/sage-4.3/local/lib /export/home/drkirkby/sun-64/sage-4.3/local/lib/libgpg-error.so -lsocket -lc 
ld: fatal: file /export/home/drkirkby/sun-64/sage-4.3/local/lib/libgpg-error.so: wrong ELF class: ELFCLASS32
ld: fatal: File processing errors. No output written to .libs/libgcrypt.so.11.5.2
make[4]: *** [libgcrypt.la] Error 1
make[4]: Leaving directory `/export/home/drkirkby/sun-64/sage-4.3/spkg/build/libgcrypt-1.4.4.p1/src/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/export/home/drkirkby/sun-64/sage-4.3/spkg/build/libgcrypt-1.4.4.p1/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/export/home/drkirkby/sun-64/sage-4.3/spkg/build/libgcrypt-1.4.4.p1/src'
failed to build libgcrypt

real    8m30.831s
user    2m9.479s
sys     1m35.707s
sage: An error occurred while installing libgcrypt-1.4.4.p1
}}}

Hence I need to resolve why 32-bit binaries are being built, when they should be 64-bit. 
",drkirkby
3,7910,mpir.1.2.2 fails to build on Open Solaris 06/2009 in VirtualBox no ABI=64,build,sage-5.10,defect,GeorgSWeber,new,2010-01-12T08:32:08-08:00,2010-01-13T10:59:15-08:00,"From sage-devel:

{{{
In Open Solaris in my VirtualBox running under Fedora 12 64 bit on an Intel i7 860:

Finished extraction
****************************************************
Host system
uname -a:
SunOS opensolaris 5.11 snv_111b i86pc i386 i86pc Solaris
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.3.4/configure --prefix=/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker --with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld --with-gmp=/usr/local --with-mpfr=/usr/local
Thread model: posix
gcc version 4.3.4 (GCC)
****************************************************
Building 64 bit Solaris version
checking build system type... i486-pc-solaris2.11
checking host system type... i486-pc-solaris2.11
checking for a BSD-compatible install... /export/home/jaap/sage-bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: ABI=64 is not among the following valid choices: 32
Failed to configure.

real    0m1.743s
user    0m0.190s
sys     0m0.466s
sage: An error occurred while installing mpir-1.2.2

While building the following SAGE related exports are set:
sage subshell$ env | grep SAGE
SAGE_SERVER=http://www.sagemath.org/
SAGE_ORIG_LD_LIBRARY_PATH_SET=True
SAGE_DATA=/export/home/jaap/Downloads/sage-4.3.1.alpha1/data
DOT_SAGE=/export/home/jaap/.sage/
SAGE_LOCAL=/export/home/jaap/Downloads/sage-4.3.1.alpha1/local
SAGE_STARTUP_FILE=/export/home/jaap/.sage//init.sage
LC_MESSAGES=en_US.UTF-8
SAGE_ROOT=/export/home/jaap/Downloads/sage-4.3.1.alpha1
SAGE_PACKAGES=/export/home/jaap/Downloads/sage-4.3.1.alpha1/spkg
SAGE_ORIG_LD_LIBRARY_PATH=
SAGE_DOC=/export/home/jaap/Downloads/sage-4.3.1.alpha1/devel/sage/doc
SAGE_TESTDIR=/export/home/jaap/.sage//tmp
SAGE64=yes
/export/home/jaap/Downloads/sage-4.3.1.alpha1
sage subshell$ env | grep FLAG
LDFLAGS=
FCFLAG64=-m64
SHARED_FLAG=-shared
CXXFLAGS= -Wall -g -m64
FCFLAGS= -Wall -g -m64
SONAME_FLAG=-soname
CFLAGS= -Wall -g -m64
WHOLE_ARCHIVE_FLAG=--whole-archive
NO_WHOLE_ARCHIVE_FLAG=--no-whole-archive
CXXFLAG64=-m64
FPIC_FLAG=-fPIC
CFLAG64=-m64

I understand that FLAGS are not so relevant while building mpir.


The same Open Solaris on Dave Kirkby's box:

Finished extraction
****************************************************
Host system
uname -a:
SunOS hawk 5.11 snv_111b i86pc i386 i86pc Solaris
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.3.4/configure --prefix=/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker --with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld --with-gmp=/usr/local --with-mpfr=/usr/local
Thread model: posix
gcc version 4.3.4 (GCC)
****************************************************
Building 64 bit Solaris version
checking build system type... nehalem-pc-solaris2.11
checking host system type... nehalem-pc-solaris2.11
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking ABI=64
checking compiler gcc  -Wall -g -m64 -Wall -g -m64 ... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out

The build seems to work.

Help needed! Bill? 
}}}

Jaap
",jsp
3,7946,Spec(...) does not specify its category,algebraic geometry,sage-5.10,defect,AlexGhitza,new,2010-01-16T04:37:52-08:00,2012-02-19T16:36:39-08:00,"Spec(...) does not specify its category:

{{{
sage: C = Spec(ZZ)
sage: C.category()
Category of sets
sage: isinstance(C, C.category().element_class)
False
}}}

Caught with #7921; please write patch on top of it to avoid conflicts.

Here is the complete TestSuite report, which also complains about
an_element, ...::

{{{
sage: TestSuite(Spec(ZZ)).run()
running ._test_an_element() . . . fail
Traceback (most recent call last):
...
AssertionError: self.an_element() is not in self
------------------------------------------------------------
running ._test_category() . . . fail
Traceback (most recent call last):
...
AssertionError: category of self improperly initialized
------------------------------------------------------------
running ._test_elements() . . . 
  Failure in _test_category:
  Traceback (most recent call last):
  ...
  AssertionError
  ------------------------------------------------------------
  running ._test_not_implemented_methods() . . . pass
  running ._test_pickling() . . . fail
  Traceback (most recent call last):
  ...
  RuntimeError: ...BUG in map, returned None Point on Spectrum of Integer Ring defined by the Principal ideal (2) of Integer Ring <type 'sage.categories.morphism.CallMorphism'> Call morphism:
  ------------------------------------------------------------
  The following tests failed: _test_category, _test_pickling
running ._test_not_implemented_methods() . . . pass
running ._test_pickling() . . . pass
running ._test_some_elements() . . . fail
Traceback (most recent call last):
...
AssertionError: the object Point on Spectrum of Integer Ring defined by the Principal ideal (2) of Integer Ring in self.some_elements() is not in self
------------------------------------------------------------
The following tests failed: _test_an_element, _test_category, _test_elements, _test_some_elements
}}}
",nthiery
3,7954,Defining affine curves in 3D space,algebraic geometry,sage-5.10,defect,AlexGhitza,needs_work,2010-01-16T10:15:19-08:00,2010-01-17T01:42:43-08:00,"Reported by Ronald van Luijk:

because the Curve constructor automatically interprets a homogeneous polynomial in 3 variables as a projective curve, the following doesn't work:

{{{
A.<x,y,z>=AffineSpace(QQ,3)
C=Curve([x-y,x-z])
}}}",wjp
3,7986,notebook: _sage_ worksheets used by docbrowser never get deleted,notebook,sage-5.10,defect,timdumol,new,2010-01-18T17:35:20-08:00,2010-01-18T17:35:20-08:00,,was
3,7987,Most extensions don't need to be listed in module_list,build,sage-5.10,defect,GeorgSWeber,needs_info,2010-01-18T17:49:00-08:00,2013-03-15T02:33:59-07:00,"Unless special libraries or C flags are needed, we can auto-generate almost this whole list, which simplifies the making of new .pyx files in the standard library. 

I am sure this needs rebasing WRT any new modules that have been added. ",robertwb
3,7989,Minpoly doesn't work for all matrices,linear algebra,sage-5.10,defect,was,needs_work,2010-01-18T18:42:47-08:00,2011-07-17T11:31:46-07:00,"Right now, not all matrices can compute minpolys.  This patch exposes these matrices.

Depends on #6936
",jason
3,7991,Generic matrix testing -- left and right kernel,linear algebra,sage-5.10,defect,was,needs_work,2010-01-18T19:39:28-08:00,2010-01-18T19:44:39-08:00,This patch implements generic testing for left and right kernels.  It exposes lots of bugs.,jason
3,8011,Add sagenb.notebook.tutorial into the ReST documentation,notebook,sage-5.10,defect,was,new,2010-01-20T00:33:48-08:00,2010-01-20T00:33:48-08:00,It has a nice guide that can be updated.,timdumol
3,8065,irreducible_characters() and word_problem() should sort their output,group theory,sage-5.10,defect,joyner,needs_work,2010-01-25T14:19:53-08:00,2010-01-26T01:46:06-08:00,"These group functions use the GAP interface and return unsorted lists.  This makes them prone to doctest breakage when GAP is upgraded (and the order of things changes) or when GAP uses non-deterministic algorithms (and the order of things is ill-defined).

The patch fixes {{{irreducible_characters}}} and {{{word_problem}}}.  There might be more functions in {{{sage/groups}}} that require the same treatment, but that can go on a different ticket.
",AlexGhitza
3,8074,corner cases in RealField and real numbers,numerical,sage-5.10,defect,jkantor,needs_info,2010-01-26T00:37:57-08:00,2010-09-28T13:52:55-07:00,"What should these return?

{{{

sage: RR('inf').is_real()
True
sage: RR('nan').is_real()
True
sage: RR('inf').is_unit()
True
sage: RR('nan')==RR('nan')
True
sage: RR('nan').__nonzero__()
False
sage: RR('nan').__pow(0.5)
Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in <type 'exceptions.RuntimeError'> ignored
^CERROR: Internal Python error in the inspect module.
Below is the traceback from this internal error.

Traceback (most recent call last):
  File ""/home/grout/sage/local/lib/python2.6/site-packages/IPython/ultraTB.py"", line 614, in text
    records = _fixed_getinnerframes(etb, context,self.tb_offset)
  File ""/home/grout/sage/local/lib/python2.6/site-packages/IPython/ultraTB.py"", line 230, in _fixed_getinnerframes
    records  = fix_frame_records_filenames(inspect.getinnerframes(etb, context))
  File ""/home/grout/sage/local/lib/python/inspect.py"", line 942, in getinnerframes
    framelist.append((tb.tb_frame,) + getframeinfo(tb, context))
  File ""/home/grout/sage/local/lib/python/inspect.py"", line 902, in getframeinfo
    filename = getsourcefile(frame) or getfile(frame)
  File ""/home/grout/sage/local/lib/python/inspect.py"", line 451, in getsourcefile
    if hasattr(getmodule(object, filename), '__loader__'):
  File ""/home/grout/sage/local/lib/python/inspect.py"", line 485, in getmodule
    if ismodule(module) and hasattr(module, '__file__'):
  File ""/home/grout/sage/local/lib/python2.6/site-packages/sage/interfaces/get_sigs.py"", line 9, in my_sigint
    raise KeyboardInterrupt
KeyboardInterrupt

Unfortunately, your original traceback can not be constructed.
sage: RR('-inf').__pow(0.5)
+infinity
sage: sqrt(RR('-inf'))     
+infinity*I
}}}
",jason
3,8111,gcd of rationals is trouble,basic arithmetic,sage-5.10,defect,AlexGhitza,new,2010-01-28T07:04:16-08:00,2011-02-16T23:43:21-08:00,"The GCD of rationals is still unclear (see trac 3214), and leads to definite problems with reduce(). 

{{{
K.<k>= QQ[];
print gcd(64,256)
print gcd(K(64),K(256))
print gcd(64*k^2+128,64*k^3+256)
frac = (64*k^2+128)/(64*k^3+256)
frac.reduce()
print frac
}}}
gives
{{{
64
1
1
(64*k^2 + 128)/(64*k^3 + 256)
}}}
The last line in particular is false, according to me.",pdehaye
3,8121,"preparsing of ""time"" special command inconsistent in company of parenthesis",notebook,sage-5.10,defect,was,new,2010-01-29T08:29:52-08:00,2010-01-29T08:29:52-08:00,"On the Sage (=IPython) command line:
{{{
sage: time (2+2)/3
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00 s
4/3
sage: time(2+2)/3
...
NameError: name 'time' is not defined
}}}

In the notebook
{{{
sage: time     (2+2)/3
...
NameError: name 'time' is not defined
}}}

This is happening because in some cases Sage treats ""time <foo>"" as a function call, and sometimes not.  In the notebook it is always a function, when <foo> starts with a paren, but on the command line it is a function only if there is no space between time and (.   

FIX: Make the notebook work exactly the same was as the command line, in this instance.  That seems like a reasonable solution or compromise. 

",was
3,8122,Sage patches added directly to symmetica source,build,sage-5.10,defect,GeorgSWeber,needs_info,2010-01-29T10:51:48-08:00,2012-10-02T15:07:22-07:00,"The symmerica package says in SPKG.txt

{{{
== Special Update/Build Instructions ==

Against common policy the patches in the patches directory have been applied to 
the src directory:

 * de.patch (Turn off banner)
 * macro.h.patch (Change some return types, this can be avoided)
 * makefile.patch (Fix compiler, inject CFLAGS)
 * sort_sum_rename.patch (rename sort tp sym_sort, sum to sym_sum) 
}}}

It would appear various patches have been made to the source code. 


http://boxen.math.washington.edu/home/kirkby/portability/symmetrica-2.0.p5/

has an updated version of symmetica, which will build with any compiler, and in 64-bit mode. However, it does not resolve the issue of patching the source directly. I modified the makefile, which had already been modified before. A patch was left, so I have tried to recreate the original makefile. But other files have been changed too. The packages is basically a bit of a mess",drkirkby
3,8139,Can not compute (very) high power of WordMorphism,combinatorics,sage-5.10,defect,sage-combinat,new,2010-01-31T11:49:56-08:00,2012-01-08T19:41:59-08:00,"When taking a power greater than 30 of a WordMorphism I (we?) get a ugly backtrace of a ValueError


{{{
sage: m = WordMorphism('a->ab,b->ba')
sage: m^30
Morphism from Words over Ordered Alphabet ['a', 'b'] to Words over Ordered Alphabet ['a', 'b']
sage: m^31
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/usr/local/sage-4.3.1/devel/sage-test/<ipython console> in <module>()

/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/morphism.pyc in __pow__(self, exp)
    698             res = (self * self) ** nexp
    699             if over == 1:
--> 700                 res *= self
    701             return res
    702             

/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/morphism.pyc in __mul__(self, other)
    642         #TODO : Est-ce que c'est le comportement que l'on veut pour le produit 
    643         #par le morphisme vide? Voir lignes ci-haut.
--> 644         return WordMorphism(dict((key, self(w)) for (key, w) in other._morph.iteritems()), codomain=self.codomain())
    645     
    646     def __pow__(self, exp):

/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/morphism.pyc in <genexpr>((key, w))
    642         #TODO : Est-ce que c'est le comportement que l'on veut pour le produit 
    643         #par le morphisme vide? Voir lignes ci-haut.
--> 644         return WordMorphism(dict((key, self(w)) for (key, w) in other._morph.iteritems()), codomain=self.codomain())
    645     
    646     def __pow__(self, exp):

/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/morphism.pyc in __call__(self, w, order, datatype)
    580             if isinstance(w, FiniteWord_class):
    581                 length = sum(self._morph[a].length() * b for (a,b) in w.evaluation_dict().iteritems())
--> 582                 return self.codomain()((x for y in w for x in self._morph[y]), length=length, datatype=datatype)
    583             else:
    584                 return self.codomain()((x for y in w for x in self._morph[y]), length=Infinity, datatype='iter')

/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/words.pyc in __call__(self, data, length, datatype, **kwds)
    269 
    270         # The function _construct_word handles the construction of the words.
--> 271         w = self._construct_word(**kwds)
    272         self._check(w)
    273         return w

/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/words.pyc in _construct_word(self, data, length, datatype, caching)
    471                 else:
    472                     raise ValueError, ""not a correct value for length (%s)"" % length
--> 473             w = cls(parent=self,iter=data,length=length)
    474         else:
    475             raise ValueError, ""Not known datatype""

/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/word_infinite_datatypes.pyc in __init__(self, parent, iter, length)
    857             8
    858         """"""
--> 859         super(WordDatatype_iter_with_caching,self).__init__(parent,iter,length)
    860         # we use self._data for returning an iterator through __iter__;
    861         # we use self._gen for caching
/usr/local/sage-4.3.1/local/lib/python2.6/site-packages/sage/combinat/words/word_infinite_datatypes.pyc in __init__(self, parent, iter, length)
    558         else:
    559             self._len = length
--> 560             self._data = itertools.islice(iter, length)
    561 
    562         self._parent = parent

ValueError: Stop argument for islice() must be a non-negative integer or None.
}}}",vdelecroix
3,8142,Unexpected notebook behavior when readline init file is non empty,user interface,sage-5.10,defect,was,new,2010-02-01T00:01:43-08:00,2010-02-01T00:01:43-08:00,"To reproduce the problem[[BR]]
===============[[BR]]
1. Create the file ~/.inputrc with the following content:[[BR]]


$if Python[[BR]]
# Pair insertion[[BR]]
""\("": ""\C-q()\C-b""[[BR]]
$endif[[BR]]


This will automaticaly insert a closing brace after the cursor when an opening brace is inserted when the application name is Python.


2. Start Sage


3. In command line, everything seems ok; closing braces get inserted automaticaly.


4. In notebook, closing braces aren't inserted automaticaly AND computations never end!


Possible workarounds[[BR]]
=============[[BR]]
From Bash documentation (Command Line Editing>Readline Init File>Conditional Init Constructs), ""Each program using the Readline library sets the APPLICATION NAME"". The ""$if"" constructs in the .inputrc file uses this variable for application-specific settings.


Sage should set that variable to its own value. Better it should change its value when the notebook is started/stopped.",mmeulien
3,8152,Python needs to search /usr/sfw/lib on Solaris for OpenSSL libraries.,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-02-02T03:15:01-08:00,2012-06-01T10:50:46-07:00,"Sage currently depends on OpenSSL to build the haslib module in Python. OpenSSL is not distributed with Sage due to license issues. However, the GPL allows us to link to the libraries if they are part of the core operating system, such as the kernel or compilers. (Someone could argue OpenSSL is not part of the core operating system, so even if it comes with the operating system, we can't use it. However, that is another issue.)

The OpenSSL libraries are installed on Solaris 10 in /usr/sfw/lib.  The problem is, python does not currently look there for the libraries. I've submitted an enhancement request to the Python bug database. 

http://bugs.python.org/issue7836

that they add that directory to the list of directories searched. 

Until this gets fixed, I believe we should add the directory /usr/sfw/lib to the top-level setup.py. Then Sage should build on Solaris 10 (but not Open Solaris) without installation of any OpenSSL libraries. 

There is no point making this patch operating system specific, as the code in python is only a search path: 

{{{
       ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
                                     ['/usr/local/ssl/lib',
                                      '/usr/contrib/ssl/lib/'
                                     ] )

}}}

I'm not sure if we need to know the location of the include directories, but they are in /usr/src/include/openssl. There is again similar code in setup.py to search for the include files:

{{{
        # Detect SSL support for the socket module (via _ssl)
        search_for_ssl_incs_in = [
                              '/usr/local/ssl/include',
                              '/usr/contrib/ssl/include/'
                             ]

}}}

Any comments, before I go to the trouble of making a patch, which just appends the search path for the OpenSSL directories?  Does this seem a reasonable thing to do? 

Dave 

",drkirkby
3,8158,efficiency problem with polynomials (SymbolicRing vs PolynomialRing),commutative algebra,sage-5.10,defect,malb,new,2010-02-02T14:18:45-08:00,2010-02-02T14:18:45-08:00,"Consider the following example:
{{{
sage: var('a,b,c')
(a, b, c)
sage: time d=expand((a+b+c+1)^100)
CPU times: user 2.45 s, sys: 0.07 s, total: 2.52 s
Wall time: 2.53 s
}}}
I thought it would be more efficient to use PolynomialRing(),
but it is not:
{{{
sage: P.<a,b,c> = PolynomialRing(QQ)
sage: time d=(a+b+c+1)^100
CPU times: user 10.28 s, sys: 0.07 s, total: 10.35 s
Wall time: 12.59 s
}}}
However if one wants to factor d, then PolynomialRing is faster
(SymbolicRing seems to loop forever):
{{{
sage: time e = d.factor()
CPU times: user 28.87 s, sys: 0.36 s, total: 29.23 s
Wall time: 34.20 s
}}}",zimmerma
3,8177,"Breaking Integer's invariant can lead to a segfault in Sage 4.3.2.alpha1, Mac OS X 10.6.2",documentation,sage-5.10,defect,tbd,needs_work,2010-02-03T10:45:01-08:00,2013-03-28T16:00:39-07:00,"Integer assumes the following invariant:

    x.parent() == ZZ     <==>    x.__class__ == Integer

Breaking this invariant (which is easy to do using plain Python) can lead to a segfault.

See the following discussion for how it was detected:

From [http://groups.google.com/group/sage-devel/browse_thread/thread/7754a347b837fad6 sage-devel] and also [http://groups.google.com/group/sage-devel/browse_thread/thread/7c920d26ddad3345 reported here]:
{{{
> built fine on mac 10.6.2 but one failure for sage -testall :

> The following tests failed:

>        sage -t  ""devel/sage/sage/structure/element_wrapper.py"" # Segfault

I get the same result on bsd.math (Mac OS X 10.6.2). Doing a verbose
long doctest, I get:

Trying:
    Integer(1) < l11###line 213:_sage_    >>> 1 < l11
Expecting:
    False

------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occured in SAGE.
This probably occured because a *compiled* component
of SAGE has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run SAGE under gdb with 'sage -gdb' to debug this.
SAGE will now terminate (sorry).
------------------------------------------------------------ 
}}}

See #8200 which improves the doctests of ElementWrapper to not trigger this bug anymore. #8200 does not resolve the issue though!",mvngu
3,8197,Documenting check=True/False parameters,algebraic geometry,sage-5.10,defect,AlexGhitza,new,2010-02-05T12:20:21-08:00,2010-02-06T03:45:18-08:00,"Many functions have a check=True (or check=False) parameter where the caller can avoid come costly checking of the input if they know exactly what they are doing.  That is a Good Thing, but unfortunately it is not always documented well.

For example,
{{{
age: P2 = ProjectiveSpace(GF(2),2)
sage: P = P2.point((0,0,1))
sage: Q = P2.point([0,0,1])
sage: P
(0 : 0 : 1)
sage: Q
(0 : 0 : 1)
sage: P==Q
True
sage: P._coords
[0, 0, 1]
sage: Q._coords
[0, 0, 1]
}}}

Now the same but with ""check=False"":

{{{
sage: P = P2.point((0,0,1),check=False)
sage: Q = P2.point([0,0,1],check=False)
sage: P
(0 : 0 : 1)
sage: Q
(0 : 0 : 1)
sage: P==Q
False
sage: P._coords
(0, 0, 1)
sage: Q._coords
[0, 0, 1]
}}}
The point is that on creation of the point, valid tuple input is
converted to a list, unless check=False in which case tuples are left as tuples.  This can result in wrong results.

In this example, the point-creation function should document the check= parameter by stating that the coordinates should be given as a list, not a tuple, with entries in the right parent, of the roght length, and (for curves or other schemes where there are polynomial equations to be satisfied) satisfying the defining equations.

There are surely many places in the source code where these remarks apply, but I have tagged this ticket ""algebraic geometry"" since that's where I ran into it.",cremona
3,8198,p-adic precision in vector multiplication,padics,sage-5.10,defect,roed,new,2010-02-05T14:52:30-08:00,2011-01-27T03:32:36-08:00,"Trying to resolve #4656, I found the following unpleasant bug.

this looks good :
{{{
sage: R = Qp(5,5)
sage: x = R(5).add_bigoh(1)
sage: x
O(5)
sage: x*R(1)
O(5)
}}}

But when multiplied with the identity matrix the precision is lost
{{{
sage: I = matrix(R, [[1,0],[0,1]])
sage: v = vector([R(1),x])
sage: v
(1 + O(5^5), O(5))
sage: v*I
(1 + O(5^5), 0)
sage: v[0]*I[1,0] + v[1]*I[1,1]
O(5)
}}}

This causes things like
{{{
sage: M = matrix(R,[[1,2],[3,4]])
sage: M*v
(1 + O(5^5), 3 + O(5^5))
sage: v[0]*M[0,0] + v[1]*M[0,1]
1 + O(5)
sage: v[0]*M[1,0] + v[1]*M[1,1]
3 + O(5)
}}}

This is an even worse example, which could be a different bug
{{{
sage: vv = vector(x)
sage: vv
(0)
sage: vv[0]
0
sage: x
O(5)
}}}",wuthrich
3,8205,Document ProxyPreserveHost (was: fix the base URL for published worksheet),notebook,sage-5.10,defect,was,new,2010-02-06T21:19:27-08:00,2010-02-08T19:14:02-08:00,"I upgraded sagenb.org to sagenb-0.7.4, and excitedly hoped that when I click publish to publish a worksheet it would give me the correct URL.    Now it says:

""Worksheet is publicly viewable at http://localhost:8888/home/pub/1153""

This is wrong.  This might even be considered worse than before, since before it did ""... http://:8888/home/pub/1153"" which was obviously wrong.  The above looks less obviously wrong. ",was
3,8214,Remove callable symbolic expressions,symbolics,sage-5.10,defect,burcin,new,2010-02-08T05:36:24-08:00,2011-11-07T14:04:40-08:00,"From sage-devel:

{{{
On Sun, 7 Feb 2010 10:36:29 -0800 (PST)
Gustav Delius <gustav.delius@gmail.com> wrote:

> I wonder whether it would be possible to give a better error message
> when a user leaves out the multiplication operator in something like
> x(x+1). Perhaps somthing like: ""Warning: you may have forgotten a
> multiplication operator.""
> 
> Currently one gets the error message: ""DeprecationWarning:
> Substitution using function-call syntax and unnamed arguments is
> deprecated and will be removed from a future release of Sage; you can
> use named arguments instead, like EXPR(x=...,y=...)"". This error
> message is meaningful only to people who know the history of sage and
> know that there used to be a confusing shorthand notation that allowed
> something like x=a^2 to be interpreted as x(a)=a^2. I am glad that was
> deprecated, but I think that the deprecation warning should be
> preceeded by the warning about the possibility of a missing *.
}}}
Here is the thread:

http://groups.google.com/group/sage-devel/t/de97f91d548cc0ec

Incidentally, it's almost a year since this was deprecated, #5413. Maybe we can remove the deprecation message for good. :)",burcin
3,8254,Use lazy imports to speed up sage startup time,misc,sage-5.10,defect,,needs_work,2010-02-12T16:27:52-08:00,2011-08-24T16:29:58-07:00,"Sage still takes too long.  20 seconds, 30 seconds, 5 seconds, on various places... and it is all so painful.  This patch attempts to speed up the startup time using lazy imports.

Specific patches at 

 * #11040 - sage.schemes
 * #11043 - sage.plot",was
3,8256,The documentation of Misc is a mess,documentation,sage-5.10,defect,mvngu,new,2010-02-13T08:51:49-08:00,2013-01-25T07:40:30-08:00,The documentation of the misc directory is a mess. We should sort and organize the file {{{misc.rst}}}.,hivert
3,8277,Using matrix() to convert between sparse and dense.,linear algebra,sage-5.10,defect,hivert,new,2010-02-15T14:01:08-08:00,2010-09-02T03:50:43-07:00,"A call to {{{matrix}}} does not change the sparsity:
{{{
    sage: mat = matrix(ZZ, [[1,1],[1,1]], sparse=False)
    sage: type(mat)
    <type 'sage.matrix.matrix_integer_dense.Matrix_integer_dense'>
    sage: mat2 = matrix(ZZ, mat, sparse=True)
    sage: type(mat2)
    <type 'sage.matrix.matrix_integer_dense.Matrix_integer_dense'>
}}}",hivert
3,8305,Improve documentation of Monsky-Washnitzer code,elliptic curves,sage-5.10,defect,kedlaya,new,2010-02-18T19:34:22-08:00,2010-02-20T06:57:44-08:00,"The code in schemes/elliptic_curves/monsky_washnitzer.py largely dates from a time (early 2007) before Sage documentation and doctesting standards had been codified. As a result, its coverage is terrible (26 of 107).

It may also be worth a mild refactor: since it now applies more generally to hyperelliptic curves, it probably should be under schemes/hyperelliptic_curves.",kedlaya
3,8321,numerical integration with arbitrary precision,symbolics,sage-5.10,defect,,needs_work,2010-02-21T13:26:32-08:00,2012-04-19T10:39:09-07:00,"From the sage-devel:

{{{
On Feb 20, 2010, at 12:40 PM, John H Palmieri wrote:
...
> I was curious about this, so I tried specifying the number of digits:
>
> sage: h = integral(sin(x)/x^2, (x, 1, pi/2)); h
> integrate(sin(x)/x^2, x, 1, 1/2*pi)
> sage: h.n()
> 0.33944794097891573
> sage: h.n(digits=14)
> 0.33944794097891573
> sage: h.n(digits=600)
> 0.33944794097891573
> sage: h.n(digits=600) == h.n(digits=14)
> True
> sage: h.n(prec=50) == h.n(prec=1000)
> True
>
> Is there an inherit limit in Sage on the accuracy of numerical
> integrals?  
}}}

The `_evalf_` function defined on line 179 of `sage/symbolic/integration/integral.py` calls the gsl `numerical_integral()` function and ignores the precision.

We should raise a `NotImplementedError` for high precision, or find a way to do arbitrary precision numerical integration.
",burcin
3,8322,"on sage.combinat.tableau.insert_word() , parameter left= is broken   (fix provided)",combinatorics,sage-5.10,defect,somebody,new,2010-02-21T16:41:13-08:00,2011-03-28T10:24:36-07:00,"on
/usr/local/sage2/local/lib/python2.6/site-packages/sage/combinat/tableau.py

at the
{{{
def insert_word():

 if left:
        w = [i for i in reversed(w)]
    res = self
    for i in w:
        res = res.schensted_insert(i,left=left)
    return res
}}}

the left= parameter on insert word has no effect as the following code shows:

{{{
T=Tableau([])
w = [2,1,1,3,2,4]
print T.insert_word(w)
T=Tableau([])
print T.insert_word(w,left=True)
T=Tableau([])
print T.insert_word(w,left=False)
}}}
printing
{{{
[[1, 1, 2, 4], [2, 3]]
[[1, 1, 2, 4], [2, 3]]
[[1, 1, 2, 4], [2, 3]]
}}}
which is the correct result of right row-insertion for Schensted's algorithm but left-insertion is broken.

The problem lies on the left=left on the inner call, which should be 

'''res = res.schensted_insert(i,left=False)  '''

The background is this (ref: William, Fulton. Young Tableaux. Cambridge University Press)

A ""left"" insertion  a -> b -> c  (starting with c)
is equivalent to right insertion  a <- b <- c  (starting with a)

therefore the lines
{{{
 if left:
        w = [i for i in reversed(w)]
}}}
are '''correctly transforming''' the left insertion into a right one by reversing the insertion order .

However, left=left  is an error, shoud be left=False since it's already converted into a right insertion, and so:

setting left=True will exchange the meanings of left-right insertions, since the reversal already turned the column-insertion into row-insertion  (kind of like ""negative-negative"" cancelling)
and the result is that calling left=False on insert_word will give the left result and    left=True  will give the right one!!

The correct code, therefore is

{{{
def insert_word():

 if left:
        w = [i for i in reversed(w)]
    res = self
    for i in w:
        res = res.schensted_insert(i,left=False)
    return res
}}}

which would give the correct results:
{{{
w = [2,1,1,3,2,4]
T=Tableau([]); print insertar(T, w)
T=Tableau([]); print insertar(T, w,left=False)
T=Tableau([]); print insertar(T, w,left=True)
}}}

(insertar is an alias I made for testing) and would then print:
{{{
[[1, 1, 2, 4], [2, 3]]
[[1, 1, 2, 4], [2, 3]]
[[1, 1, 2], [2, 3], [4]]
}}}
default call : CORRECT (right insertion) [[BR]]
explicit right insertion : CORRECT [[BR]]
explicit left insertion : CORRECT 

whereas setting  res = res.schensted_insert(i,left=True)
would give
{{{
[[1, 1, 2], [2, 3], [4]]
[[1, 1, 2], [2, 3], [4]]
[[1, 1, 2, 4], [2, 3]]
}}}
default call : left-insertion WRONG! [[BR]]
explicit right insertion : WRONG! (it gave the left one) [[BR]]
explicit left insertion : WRONG! (it gave the right  one)

Notice also that setting left=True affects the default case.

'''Conclusion'''
{{{
res = res.schensted_insert(i,left=left) 
}}}

should be changed to
{{{
res = res.schensted_insert(i,left=False) 
}}}

This is first bug I send, so I apologize if I don't fill correctly the values below",drini
3,8337,factorization of multivariate polynomials is terribly slow,commutative algebra,sage-5.10,defect,malb,new,2010-02-23T10:18:55-08:00,2010-02-23T10:18:55-08:00,"From http://groups.google.com/group/sage-support/browse_thread/thread/72fbc6d6f5a7d746#, with sage 4.3.3:
{{{
sage: var('E1, E2, E4, E5, E10, E20'); 
sage: var( 'q' ); 
sage: t=(E20^16*E5^8*q^4*E2^24 + (-E20^16*E5^8*q^4*E4^8*E1^16 + (-E10^24 + E20^8*E5^16)*E4^16*E1^8)) 
sage: factor(t)
}}}
does not answer in reasonable time (a few seconds).

Maple 13 answers in less than a second (and says the polynomial
is irreducible).",zimmerma
3,8340,add a lift method to elements of the residue class field,number fields,sage-5.10,defect,robertwb,new,2010-02-23T14:46:40-08:00,2010-02-23T15:08:57-08:00,"Make this work:
{{{
sage: var('x')
sage: K.<a> = NumberField(x^3 + x + 1)
sage: P = K.factor(11)[0][0]; P
Fractional ideal (a^2 + 2*a + 5)
sage: k = P.residue_field(); k
Residue field in abar of Fractional ideal (a^2 + 2*a + 5)
sage: k.degree()
2
sage: alpha = k.random_element(); alpha
3*abar + 6
sage: k.lift(alpha)
3*a + 6
sage: K(alpha)
Traceback (most recent call last):
...
TypeError: <type 'sage.rings.finite_field_givaro.FiniteField_givaroElement'>
sage: alpha.lift()
Traceback (most recent call last):
...
AttributeError: 'sage.rings.finite_field_givaro.FiniteField_givaroElement' object has no attribute 'lift'
}}}",was
3,8341,detect_poles doesn't find a vertical asymptote where both sides go to infinity,graphics,sage-5.10,defect,was,new,2010-02-23T17:07:10-08:00,2013-01-14T07:42:52-08:00,"It seems like this should show a vertical asymptote at x=1, but it doesn't:

{{{
plot(1/((x-1)^2), (x, -3.5, 3.5), detect_poles='show', ymin = -5, ymax = 5) 
}}}
",jason
3,8343,email address marked as confirmed even after changing it,notebook,sage-5.10,defect,was,new,2010-02-23T19:38:29-08:00,2010-07-01T08:19:36-07:00,"While working on #7630, I discovered that even if a user has confirmed an email address, if the user changes it on the Account Settings page, the new address is marked as ""confirmed"" even though no re-confirmation email is sent out.

I don't know if we want to re-send confirmation emails every time a user changes their email address, but at least we should mark the address as unconfirmed.",ddrake
3,8348,Document that find_root only works in fixed (double) precision,basic arithmetic,sage-5.10,defect,AlexGhitza,new,2010-02-24T08:23:17-08:00,2010-03-17T09:25:20-07:00,"How can one approximate the root of an equation in arbitrary
precision? For example I want the root of log(x+2) = x to
50 digits of precision:
{{{
sage: (log(x+2)-x).find_root(1,2)
1.1461932206205643
sage: (log(x+2)-x).find_root(1,2,prec=150)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/users/caramel/zimmerma/try/<ipython console> in <module>()

/usr/local/sage-core2/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.find_root (sage/symbolic/expression.cpp:24383)()

TypeError: find_root() got an unexpected keyword argument 'prec'
}}}",zimmerma
3,8386,enhanced version of iet,combinatorics,sage-5.10,defect,vdelecroix,needs_review,2010-02-27T05:06:33-08:00,2013-05-24T04:57:58-07:00,"1) The library for iet is moved from sage.combinat.iet to sage.dynamics.interval_exchanges which seems more natural.

2) The old version for iet uses two kinds of datatype for reduced and labeled versions. The new implementation makes them coherent.

3) As a by product of 2), the following behavior is corrected
{{{
sage: p = iet.Permutation('a b','b a')
sage: q = iet.Permutation('b a','a b')
sage: p == q
True
}}}

Apply 
* [attachment:trac_8386_really_just_moving-fc.patch]
* [attachment:trac_8386_big_clean_fc.patch]",vdelecroix
3,8388,pickle the paths of Rauzy diagrams,combinatorics,sage-5.10,defect,vdelecroix,needs_review,2010-02-27T08:55:51-08:00,2013-05-23T13:15:56-07:00,"There is a pickle error with the nested class RauzyDiagram.Path in sage.combinat.iet.template

{{{
sage: p = iet.Permutation('a b c','c b a')
sage: r = p.rauzy_diagram()
sage: g = r.path(p, 't', 'b')
sage: dumps(g)
PicklingError Traceback(most recent call last)
...
PicklingError: Can't pickle <class 'sage.combinat.iet.labelled.Path'>: attribute lookup sage.combinat.iet.labelled.Path failed
}}}

A __metaclass__ must be defined for RauzyDiagram.

The ticket depends on #8386 which moves the module for interval exchange transformations from sage.combinat.iet to sage.dynamics.interval_exchanges

Apply only [attachment:trac_8388_pickling_path.v2.patch]",vdelecroix
3,8426,polynomial * constant does not work if constant is a numpy type,algebra,sage-5.10,defect,AlexGhitza,new,2010-03-02T21:17:18-08:00,2010-03-02T21:17:18-08:00,"This should work:

{{{
import numpy
R.<x>=RR[]
x*numpy.float32('23.0')
}}}

Instead, I get:
{{{
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/jason/tmp/<ipython console> in <module>()

/home/jason/sage/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:11337)()

/home/jason/sage/local/lib/python2.6/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:6994)()

TypeError: unsupported operand parent(s) for '*': 'Univariate Polynomial Ring in x over Real Field with 53 bits of precision' and '<type 'numpy.float32'>'
}}}

Note that this does work:

{{{
sage: numpy.float32('23.0')*x
23.0000000000000*x
}}}
",jason
3,8427,notebook fortran mode does not work with blank first line (or subroutine starting on first line),interfaces,sage-5.10,defect,was,new,2010-03-02T21:54:53-08:00,2010-03-02T21:54:53-08:00,"This example does not work from the tutorial http://www.sagemath.org/doc/numerical_sage/f2py.html:

{{{
%fortran

        Subroutine Rescale(a,b,n)
        Implicit none
        Integer n,i,j
        Real*8 a(n,n), b
Cf2py intent(in,out) a
        do i = 1,n
           do j=1,n
             a(i,j)=b*a(i,j)
           end do
        end do
        end
}}}

The error is:

{{{
Traceback (most recent call last):
  File ""<string>"", line 1, in <module>
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/f2py/f2py2e.py"", line 557, in main
    run_compile()
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/f2py/f2py2e.py"", line 543, in run_compile
    setup(ext_modules = [ext])
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/distutils/core.py"", line 184, in setup
    return old_setup(**new_attr)
  File ""/usr/local/sage2/local/lib/python/distutils/core.py"", line 152, in setup
    dist.run_commands()
  File ""/usr/local/sage2/local/lib/python/distutils/dist.py"", line 975, in run_commands
    self.run_command(cmd)
  File ""/usr/local/sage2/local/lib/python/distutils/dist.py"", line 995, in run_command
    cmd_obj.run()
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/distutils/command/build.py"", line 37, in run
    old_build.run(self)
  File ""/usr/local/sage2/local/lib/python/distutils/command/build.py"", line 134, in run
    self.run_command(cmd_name)
  File ""/usr/local/sage2/local/lib/python/distutils/cmd.py"", line 333, in run_command
    self.distribution.run_command(command)
  File ""/usr/local/sage2/local/lib/python/distutils/dist.py"", line 995, in run_command
    cmd_obj.run()
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/distutils/command/build_src.py"", line 130, in run
    self.build_sources()
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/distutils/command/build_src.py"", line 147, in build_sources
    self.build_extension_sources(ext)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/distutils/command/build_src.py"", line 256, in build_extension_sources
    sources = self.f2py_sources(sources, ext)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/distutils/command/build_src.py"", line 514, in f2py_sources
    ['-m',ext_name]+f_sources)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/f2py/f2py2e.py"", line 338, in run_main
    postlist=callcrackfortran(files,options)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/f2py/f2py2e.py"", line 276, in callcrackfortran
    postlist=crackfortran.crackfortran(files)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/f2py/crackfortran.py"", line 2683, in crackfortran
    readfortrancode(files,crackline)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/numpy/f2py/crackfortran.py"", line 346, in readfortrancode
    'this code is in fix form?\n\tline=%s' % `l`)
Exception: readfortrancode: Found non-(space,digit) char in the first column.
	Are you sure that this code is in fix form?
	line='Subroutine Rescale(a,b,n)'

Traceback (most recent call last):
  File ""<stdin>"", line 1, in <module>
  File ""_sage_input_2.py"", line 19, in <module>
    end''', '/sagenb/sagenb/sage_notebook.sagenb/home/jason3/382/cells/1')
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/sagenb-0.7.5.1-py2.6.egg/sagenb/misc/support.py"", line 473, in syseval
    return system.eval(cmd, sage_globals, locals = sage_globals)
  File ""/usr/local/sage2/local/lib/python2.6/site-packages/sage/misc/inline_fortran.py"", line 92, in eval
    os.unlink(name + '.so')
OSError: [Errno 2] No such file or directory: 'fortran_module_0.so'

}}}

I get the same error if I delete the blank line after %fortran.

However, if I change the notebook cell to have a comment as the first line, it seems to work just fine:

{{{
%fortran
C
        Subroutine Rescale(a,b,n)
        Implicit none
        Integer n,i,j
        Real*8 a(n,n), b
Cf2py intent(in,out) a
        do i = 1,n
           do j=1,n
             a(i,j)=b*a(i,j)
           end do
        end do
        end
}}}

This is on Sage 4.3.3 (sagenb.org)",jason
3,8433,plot3d for tachyon hangs,graphics,sage-5.10,defect,was,needs_work,2010-03-04T00:08:52-08:00,2010-11-05T17:15:58-07:00,"The following plot command fails (tachyon gets all CPU usage and no picture is shown)
{{{
y=var('y')
B=plot3d(sqrt(sin(x)*sin(y)),(x,-2*pi,2*pi),(y,-2*pi,2*pi),viewer='tachyon')
B.show()
}}}
This works fine
{{{
y=var('y')
B=plot3d(sqrt(sin(x)*sin(y)),(x,0,2),(y,0,2), viewer='tachyon')
B.show()
}}}
and this does not work
{{{
y=var('y')
B=plot3d(sqrt(sin(x)*sin(y)),(x,-2,2),(y,-2,2), viewer='tachyon')
B.show()
}}}
Related trac is #8424, but the problem seems to be independent.",robert.marik
3,8448,doc/common/builder.py doctests write files in Sage tree,documentation,sage-5.10,defect,mvngu,new,2010-03-05T09:13:21-08:00,2010-03-05T11:05:32-08:00,"I am using a system-wide install, so I don't have write access in the Sage tree.  When I run {{{sage -testall}}}, I get the following errors.  (More may come; it's only been running a few minutes. :-)

{{{
sage -t  ""devel/sage/doc/common/builder.py""                 
**********************************************************************
File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 157:
    sage: b = builder.DocBuilder('tutorial')
Exception raised:
    Traceback (most recent call last):
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_4[3]>"", line 1, in <module>
        b = builder.DocBuilder('tutorial')###line 157:
    sage: b = builder.DocBuilder('tutorial')
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 145, in __init__
        mkdir(os.path.join(self.dir, ""static""))
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 55, in mkdir
        os.makedirs(path)
      File ""/share/apps/contrib/sage-4.3.3/local/lib/python2.6/os.py"", line 157, in makedirs
        mkdir(name, mode)
    OSError: [Errno 13] Permission denied: '/share/apps/contrib/sage-4.3.3/devel/sage/doc/en/tutorial/static'
**********************************************************************
File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 158:
    sage: b._output_dir('html')
Exception raised:
    Traceback (most recent call last):
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_4[4]>"", line 1, in <module>
        b._output_dir('html')###line 158:
    sage: b._output_dir('html')
    NameError: name 'b' is not defined
**********************************************************************
File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 172:
    sage: b = builder.DocBuilder('tutorial')
Exception raised:
    Traceback (most recent call last):
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_5[3]>"", line 1, in <module>
        b = builder.DocBuilder('tutorial')###line 172:
    sage: b = builder.DocBuilder('tutorial')
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 145, in __init__
        mkdir(os.path.join(self.dir, ""static""))
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 55, in mkdir
        os.makedirs(path)
      File ""/share/apps/contrib/sage-4.3.3/local/lib/python2.6/os.py"", line 157, in makedirs
        mkdir(name, mode)
    OSError: [Errno 13] Permission denied: '/share/apps/contrib/sage-4.3.3/devel/sage/doc/en/tutorial/static'
**********************************************************************
File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 173:
    sage: b._doctrees_dir()
Exception raised:
    Traceback (most recent call last):
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_5[4]>"", line 1, in <module>
        b._doctrees_dir()###line 173:
    sage: b._doctrees_dir()
    NameError: name 'b' is not defined
**********************************************************************
File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 185:
    sage: b = builder.DocBuilder('tutorial')
Exception raised:
    Traceback (most recent call last):
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_6[3]>"", line 1, in <module>
        b = builder.DocBuilder('tutorial')###line 185:
    sage: b = builder.DocBuilder('tutorial')
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 145, in __init__
        mkdir(os.path.join(self.dir, ""static""))
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 55, in mkdir
        os.makedirs(path)
      File ""/share/apps/contrib/sage-4.3.3/local/lib/python2.6/os.py"", line 157, in makedirs
        mkdir(name, mode)
    OSError: [Errno 13] Permission denied: '/share/apps/contrib/sage-4.3.3/devel/sage/doc/en/tutorial/static'
**********************************************************************
File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 186:
    sage: b._output_formats()
Exception raised:
    Traceback (most recent call last):
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_6[4]>"", line 1, in <module>
        b._output_formats()###line 186:
    sage: b._output_formats()
    NameError: name 'b' is not defined
**********************************************************************
File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 209:
    sage: b = builder.DocBuilder('tutorial')
Exception raised:
    Traceback (most recent call last):
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/share/apps/contrib/sage-4.3.3/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_7[3]>"", line 1, in <module>
        b = builder.DocBuilder('tutorial')###line 209:
    sage: b = builder.DocBuilder('tutorial')
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 145, in __init__
        mkdir(os.path.join(self.dir, ""static""))
      File ""/share/apps/contrib/sage-4.3.3/devel/sage/doc/common/builder.py"", line 55, in mkdir
        os.makedirs(path)
      File ""/share/apps/contrib/sage-4.3.3/local/lib/python2.6/os.py"", line 157, in makedirs
        mkdir(name, mode)
    OSError: [Errno 13] Permission denied: '/share/apps/contrib/sage-4.3.3/devel/sage/doc/en/tutorial/static'
**********************************************************************
4 items had failures:
   2 of   5 in __main__.example_4
   2 of   5 in __main__.example_5
   2 of   5 in __main__.example_6
   1 of   4 in __main__.example_7
***Test Failed*** 7 failures.
For whitespace errors, see the file /home/rwh4s/.sage//tmp/.doctest_builder.py
	 [6.9 s]
}}}

This issue was reported to [http://groups.google.com/group/sage-devel/browse_thread/thread/be25c49816581da4 sage-devel].",rhinton
3,8450,contour_plot chokes on function which involves imaginary numbers,graphics,sage-5.10,defect,was,new,2010-03-05T14:01:42-08:00,2010-04-26T04:59:23-07:00,"This gives an error:

{{{
contour_plot(real_part(log(x+y*I+.001)), (x,-3,3),(y,-3,3),fill=False)
}}}

but this works:

{{{
a(x,y)=real(log(x+y*I+.001))
f=fast_callable(a,domain=CC)
contour_plot(f, (x,-3,3),(y,-3,3),fill=False)
}}}

and this works:

{{{
contour_plot(imag(log(x+y*I+.001)), (x,-3,3),(y,-3,3),fill=False)
}}}",jason
3,8454,notebook() docstring for accounts is wrong,notebook,sage-5.10,defect,was,new,2010-03-05T23:28:48-08:00,2010-03-05T23:28:48-08:00,"The docstring for notebook has out of date information for the accounts option; see http://groups.google.com/group/sage-support/browse_thread/thread/c99e566a55c21ba5. The instructions for adding a user are now wrong, and don't mention that it's possible to use the notebook itself to add users.
",ddrake
3,8471,Upgrade or patch pexpect,interfaces,sage-5.10,defect,saliola,new,2010-03-06T18:47:33-08:00,2010-05-11T14:39:15-07:00,"Specifying the full path of a command to {{{Expect}}} hits a bug in the {{{pexpect}}} module shipped with Sage:
{{{
karkwa: which sage
/home/saliola/Applications/bin/sage

karkwa: sage
----------------------------------------------------------------------
| Sage Version 4.3.3, Release Date: 2010-02-21                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: from sage.interfaces.expect import Expect
sage: s = Expect('sage', 'sage> ', command='/home/saliola/Applications/bin/sage')
sage: s.is_running()
False
sage: s._start()
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)

/home/saliola/Applications/sage-4.3.3/data/extcode/sage/<ipython console> in <module>()

/home/saliola/Applications/sage-4.3.3/local/lib/python2.6/site-packages/sage/interfaces/expect.pyc in _start(self, alt_message, block_during_init)
    447                 c = 'sage-native-execute  ssh %s ""nohup sage -cleaner""  &'%self._server
    448                 os.system(c)
--> 449             self._expect = pexpect.spawn(cmd, logfile=self.__logfile)
    450             if self._do_cleaner():
    451                 cleaner.cleaner(self._expect.pid, cmd)

/home/saliola/Applications/sage-4.3.3/local/lib/python2.6/site-packages/pexpect.pyc in __init__(self, command, args, timeout, maxread, searchwindowsize, logfile)
    324             self.command = command
    325
--> 326         command_with_path = which(self.command)
    327         if command_with_path == None:
    328             raise ExceptionPexpect ('The command was not found or was not executable: %s.' % self.command)

/home/saliola/Applications/sage-4.3.3/local/lib/python2.6/site-packages/pexpect.pyc in which(filename)
   1131     # Special case where filename already contains a path.

   1132     if os.path.dirname(filename) != '':
-> 1133         if os.access (filename, os.X_OK) and not os.path.isdir(f):
   1134             return filename
   1135

UnboundLocalError: local variable 'f' referenced before assignment
sage: 
}}}
Note that this is a bug in the {{{pexpect}}} Python module shipped with Sage.
{{{
sage: import pexpect
sage: pexpect.__version__
'2.0'
}}}
It appears to be fixed in the newest version of {{{pexpect}}} (version 2.3).

Should we patch {{{pexpect}}} or upgrade?",saliola
3,8482,Add a link from the static help embedded in the notebook to the corresponding live documentation page,notebook,sage-5.10,defect,was,needs_info,2010-03-08T13:50:17-08:00,2013-03-28T07:18:41-07:00,"Task: in the static documentation that appears embedded in the
notebook upon, say,

        sage: sage.categories.primer?

add a link to the corresponding live documentation page
(e.g. http://localhost:8000/doc/live/reference/sage/categories/primer.html)

This would be very handy, and make a strong advertisement for the live
documentation (a really cool feature that I had never stumbled upon
until Mike hinted me about it; and apparently, no one at Sage 20 knew
about it either).
",nthiery
3,8485,port Jeechul Woo's gp script for 3-isogeny descent to Sage,elliptic curves,sage-5.10,defect,cremona,new,2010-03-09T21:19:23-08:00,2010-03-09T21:19:23-08:00,,rlm
3,8499,partial_fraction_decomposition does not work over algebraic extensions,calculus,sage-5.10,defect,burcin,new,2010-03-11T08:55:05-08:00,2010-03-11T08:55:05-08:00,"How can one compute a partial fraction decomposition over the
complex numbers? Consider the following:
{{{
sage: x = PolynomialRing(RationalField(), 'x').gen()
sage: r = 1 /(x^4 + 1)
sage: r.partial_fraction_decomposition()
(0, [1/(x^4 + 1)])
}}}
This is ok since we explicitely work over QQ. Now compare with:
{{{
sage: P.<y> = PolynomialRing(RationalField())
sage: Qbar.<y> = QuotientRing(P, y^2+1)
sage: x = PolynomialRing(Qbar, 'x').gen()
sage: r = 1 /(x^4 + 1)
sage: r.partial_fraction_decomposition()
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
}}}",zimmerma
3,8501,find_root evaluates by plugging an equation into the function,numerical,sage-5.10,defect,jkantor,new,2010-03-11T12:56:29-08:00,2010-03-11T12:56:29-08:00,"With 4.3.3:
{{{
sage: f1=0.6*x
sage: f2=0.045*x^2 - 1.44*x + 8.64
sage: def k(x):
...       print x
...       if 5<=x<=8:
...           return f1(x=x)
...       elif 8<=x<=13:
...           return f2(x=x)
...       else:
...           raise ValueError, ""Called with impossible value: %s""%x
...
sage: find_root(lambda x:k(x)-55,5,10)
5.0
10.0
6.90983005625
8.09016994375
6.1803398875
6.63093253165711 == 6.68257664471270
Traceback (most recent call last):
  File ""<stdin>"", line 1, in <module>
  File ""_sage_input_198.py"", line 9, in <module>
    exec compile(ur'open(""___code___.py"",""w"").write(""# -*- coding: utf-8 -*-\n"" + _support_.preparse_worksheet_cell(base64.b64decode(""ZmluZF9yb290KGxhbWJkYSB4OmsoeCktNTUsNSwxMCk=""),globals())+""\n""); execfile(os.path.abspath(""___code___.py""))' + '\n', '', 'single')
  File """", line 1, in <module>
    
  File ""/tmp/tmp1LUqkk/___code___.py"", line 3, in <module>
    exec compile(ur'find_root(lambda x:k(x)-_sage_const_55 ,_sage_const_5 ,_sage_const_10 )' + '\n', '', 'single')
  File """", line 1, in <module>
    
  File ""/home/grout/sage/local/lib/python2.6/site-packages/sage/numerical/optimize.py"", line 92, in find_root
    val, s = find_maximum_on_interval(f, a, b)
  File ""/home/grout/sage/local/lib/python2.6/site-packages/sage/numerical/optimize.py"", line 122, in find_maximum_on_interval
    minval, x = find_minimum_on_interval(lambda z: -f(z), a=a, b=b, tol=tol, maxfun=maxfun)
  File ""/home/grout/sage/local/lib/python2.6/site-packages/sage/numerical/optimize.py"", line 181, in find_minimum_on_interval
    xmin, fval, iter, funcalls = scipy.optimize.fminbound(f, a, b, full_output=1, xtol=tol, maxfun=maxfun)
  File ""/home/grout/sage/local/lib/python2.6/site-packages/scipy/optimize/optimize.py"", line 1256, in fminbound
    fu = func(x,*args)
  File ""/home/grout/sage/local/lib/python2.6/site-packages/sage/numerical/optimize.py"", line 122, in <lambda>
    minval, x = find_minimum_on_interval(lambda z: -f(z), a=a, b=b, tol=tol, maxfun=maxfun)
  File """", line 1, in <lambda>
    
  File ""/tmp/tmpzDC3MH/___code___.py"", line 12, in k
    raise ValueError, ""Called with impossible value: %s""%x
ValueError: Called with impossible value: 6.63093253165711 == 6.68257664471270
}}}

Note that the last evaluation was a symbolic equation, something == something.  That of course breaks the function.",jason
3,8503,broken multiline input in sage notebook,notebook,sage-5.10,defect,was,new,2010-03-11T15:20:44-08:00,2010-03-11T15:20:44-08:00,"Multiline input like
{{{
8+\
2
}}}
which works in command line does not work in notebook and returns error.

Jason at [http://groups.google.cz/group/sage-notebook/browse_thread/thread/9ee2472e1857edcb sage-notebook] wrote
{{{
Does it have to do with the preparser?  Note:

sage: preparse(""1+\\n2"")
'Integer(1)+ * BackslashOperator() * n2'

Maybe on the command line, ipython joins the two lines before the
preparser gets to it, but that doesn't happen in the notebook? 
}}}

And further:
{{{
plot(x,\
(x,-2,2))
}}}
does not produce the plot.",robert.marik
3,8515,Experimental package frobby-0.7.6  fails to install on Solaris 10 SPARC,packages: optional,sage-5.10,defect,tbd,new,2010-03-12T17:18:43-08:00,2012-06-05T07:06:17-07:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1
 * Patch #8509 removing the -o option to grep to allow optional packages to install. 

This builds fully on Solaris 10, and passes all doc tests. This is the first version of Sage to do this. 

 == The problem with the optional frobby-0.7.6 ==
{{{
frobby-0.7.6/src/test/transform/t3.gen.m2
frobby-0.7.6/src/test/transform/t3.gen.nm
Finished extraction
****************************************************
Host system
uname -a:
SunOS redstart 5.10 Generic sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.3/configure --prefix=/usr/local/gcc-4.4.3 --with-mpfr=/usr/local/gcc-4.4.3 --with-build-time-tools=/usr/ccs/bin --with-gmp=/usr/local/gcc-4.4.3 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.3 (GCC)
****************************************************
g++ -Wall -ansi -pedantic -Wextra -Wno-uninitialized -Wno-unused-parameter -Werror -isystem /export/home/drkirkby/sage-4.3.4.alpha1/local/include -O3 -c src/main.cpp -o bin/release/main.o
src/main.cpp: In function 'int main(int, const char**)':
src/main.cpp:30: error: 'srand' was not declared in this scope
make: *** [bin/release/main.o] Error 1
Error building Frobby.

real    0m2.093s
user    0m1.446s
sys     0m0.156s
sage: An error occurred while installing frobby-0.7.6
}}}
",drkirkby
3,8516,Optional package ginv-1.9-20080723 fails to install on Solaris 10 SPARC,packages: optional,sage-5.10,defect,tbd,needs_review,2010-03-12T17:22:58-08:00,2012-01-23T07:23:38-08:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1
 * Patch #8509 removing the -o option to grep to allow optional packages to install. 

This builds fully on Solaris 10, and passes all doc tests. This is the first version of Sage to do this. 

 == The problem with the optional ginv-1.9-20080723 ==
This appears to be sending some x86 specific options to the compiler:

{{{
ginv-1.9-20080723/patches/setup.py
ginv-1.9-20080723/.hgignore
Finished extraction
****************************************************
Host system
uname -a:
SunOS redstart 5.10 Generic sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.3/configure --prefix=/usr/local/gcc-4.4.3 --with-mpfr=/usr/local/gcc-4.4.3 --with-build-time-tools=/usr/ccs/bin --with-gmp=/usr/local/gcc-4.4.3 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.3 (GCC)
****************************************************
running build
running build_ext
building 'ginv' extension
creating build
creating build/temp.solaris-2.10-sun4u-2.6
creating build/temp.solaris-2.10-sun4u-2.6/ginv
creating build/temp.solaris-2.10-sun4u-2.6/ginv/util
creating build/temp.solaris-2.10-sun4u-2.6/ginv/monom
creating build/temp.solaris-2.10-sun4u-2.6/ginv/coeff
creating build/temp.solaris-2.10-sun4u-2.6/ginv/poly
creating build/temp.solaris-2.10-sun4u-2.6/ginv/criteria
creating build/temp.solaris-2.10-sun4u-2.6/ginv/division
creating build/temp.solaris-2.10-sun4u-2.6/ginv/algorithm
creating build/temp.solaris-2.10-sun4u-2.6/ginv/gauss
creating build/temp.solaris-2.10-sun4u-2.6/modules
gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DWORDS_BIGENDIAN -I/export/home/drkirkby/sage-4.3.4.alpha1/local/include/python2.6 -c ginv/util/iprime.cpp -o build/temp.solaris-2.10-sun4u-2.6/ginv/util/iprime.o -O3 -pipe -mmmx -msse -m3dnow -fomit-frame-pointer -I/export/home/drkirkby/sage-4.3.4.alpha1/local/include
cc1plus: error: unrecognized command line option ""-mmmx""
cc1plus: error: unrecognized command line option ""-msse""
cc1plus: error: unrecognized command line option ""-m3dnow""
cc1plus: warning: command line option ""-Wstrict-prototypes"" is valid for Ada/C/ObjC but not for C++
error: command 'gcc' failed with exit status 1
Error building GINV.

real    0m0.410s
user    0m0.251s
sys     0m0.135s
sage: An error occurred while installing ginv-1.9-20080723
}}}",drkirkby
3,8517,Optional package gmpy-1.0.1 fails to install on Solaris 10 SPARC,packages: optional,sage-5.10,defect,tbd,new,2010-03-12T17:27:07-08:00,2010-03-12T17:27:07-08:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1

This builds fully on Solaris 10, and passes all doc tests. This is the first version of Sage to do this. 

 == The problem with the optional gmpy-1.0.1 ==
{{{
gmpy-1.0.1/doc/index.html
Finished extraction
****************************************************
Host system
uname -a:
SunOS redstart 5.10 Generic sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.3/configure --prefix=/usr/local/gcc-4.4.3 --with-mpfr=/usr/local/gcc-4.4.3 --with-build-time-tools=/usr/ccs/bin --with-gmp=/usr/local/gcc-4.4.3 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.3 (GCC)
****************************************************
./spkg-install: CFLAGS=-I/export/home/drkirkby/sage-4.3.4.alpha1/local/include: is not an identifier

real    0m0.008s
user    0m0.002s
sys     0m0.005s
sage: An error occurred while installing gmpy-1.0.1
}}}
",drkirkby
3,8518,Optional package extra_docs-20070208 fails to install on Solaris 10 SPARC,packages: optional,sage-5.10,defect,tbd,new,2010-03-12T17:33:43-08:00,2010-03-13T15:40:26-08:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1
 * Patch #8509 removing the -o option to grep to allow optional packages to install. 

This builds fully on Solaris 10, and passes all doc tests. This is the first version of Sage to do this. 

 == The problem with the optional extra_docs-20070208 ==
{{{
extra_docs-20070208/zodb/hylton-warsaw-zodb.pdf
extra_docs-20070208/zodb/zodb3.html
Finished extraction
****************************************************
Host system
uname -a:
SunOS redstart 5.10 Generic sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.3/configure --prefix=/usr/local/gcc-4.4.3 --with-mpfr=/usr/local/gcc-4.4.3 --with-build-time-tools=/usr/ccs/bin --with-gmp=/usr/local/gcc-4.4.3 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.3 (GCC)
****************************************************
./spkg-install: /export/home/drkirkby/sage-4.3.4.alpha1/local/lib/gap-4.4.7/: does not exist

real    0m8.457s
user    0m0.143s
sys     0m1.989s
sage: An error occurred while installing extra_docs-20070208
}}}
",drkirkby
3,8521,Optional package  libcocoa-0.9930 fails to install on Solaris 10 SPARC,packages: optional,sage-5.10,defect,tbd,new,2010-03-13T06:29:38-08:00,2010-03-13T06:29:38-08:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1
 * Patch #8509 removing the -o option to grep to allow packages to install. 

 == The problem with the optional libcocoa-0.9930 ==
This looks at least partially, perhaps completely because of a GNUism, as a non-POSIX option to 'ar' is used. Instead, only POSIX options should be used for portability.

http://www.opengroup.org/onlinepubs/9699919799/

{{{
Compiling TmpFrobby.o
Compiling RegisterServerOpsFrobby.o
ar: bad option `S'
usage: ar -d[-vV] archive file ...
       ar -m[-abivV] [posname] archive file ...
       ar -p[-vV][-s] archive [file ...]
       ar -q[-cuvV] [-abi] [posname] [file ...]
       ar -r[-cuvV] [-abi] [posname] [file ...]
       ar -t[-vV][-s] archive [file ...]
       ar -x[-vV][-sCT] archive [file ...]
make[3]: *** [../../lib/libcocoa.a] Error 1
make[3]: Leaving directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930/src/src/AlgebraicCore'
*****[[Compilation[failed[in[CoCoA[library[source[subdirectory[AlgebraicCore/[[*****
*****  Compilation failed in CoCoA library source subdirectory AlgebraicCore/  *****
*****[[Compilation[failed[in[CoCoA[library[source[subdirectory[AlgebraicCore/[[*****
make[2]: *** [library] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930/src/src'
make[1]: *** [library] Error 2
make[1]: Leaving directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930/src'
make: *** [default] Error 2
Doing the build in the following directory:
/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930
./configure  --with-libgmp=$SAGE_LOCAL/lib/libgmp.so
Now running Make
make
There are known test failures that should be listed above.
They are literally 'not yet implemented' errors from the
CoCOA library.   I.e., CoCOA releases purposely don't pass
their own test suite at present.
Error libcocoa.a did not build.

real    4m38.919s
user    4m13.797s
sys     0m21.777s
sage: An error occurred while installing libcocoa-0.9930
}}}
",drkirkby
3,8527,libcocoa-0.9930 indicates its sucessfully installed when it has not.,packages: optional,sage-5.10,defect,tbd,new,2010-03-13T12:00:31-08:00,2010-03-13T12:00:31-08:00,"In trying to rid libcocoa-0.9930 of the GNUims that 
prevents this installing on on Solaris (see #8521), I found another problem with this package. It appears that the error codes are not properly checked, so even if there are build failures, the package indicates it has been successfully installed. See below:

{{{
Compiling RegisterServerOps.o
Compiling TmpFrobby.o
Compiling RegisterServerOpsFrobby.o
Compiling directory CoCoALib/src/AlgebraicCore/TmpFactorDir/
make[4]: Entering directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0/src/src/AlgebraicCore/TmpFactorDir'
Makefile:4: ../../../../configuration/autoconf.mk: No such file or directory
make[4]: *** No rule to make target `../../../../configuration/autoconf.mk'.  Stop.
make[4]: Leaving directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0/src/src/AlgebraicCore/TmpFactorDir'
***** Compilation of CoCoALib/src/AlgebraicCore/TmpFactorDir/ FAILED *****
make[3]: *** [../../lib/libcocoa.a] Error 1
make[3]: Leaving directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0/src/src/AlgebraicCore'
*****[[Compilation[failed[in[CoCoA[library[source[subdirectory[AlgebraicCore/[[*****
*****  Compilation failed in CoCoA library source subdirectory AlgebraicCore/  *****
*****[[Compilation[failed[in[CoCoA[library[source[subdirectory[AlgebraicCore/[[*****
make[2]: *** [library] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0/src/src'
make[1]: *** [library] Error 2
make[1]: Leaving directory `/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0/src'
make: *** [default] Error 2
Doing the build in the following directory:
/export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0
./configure  --with-libgmp=$SAGE_LOCAL/lib/libgmp.so
Now running Make
make
There are known test failures that should be listed above.
They are literally 'not yet implemented' errors from the
CoCOA library.   I.e., CoCOA releases purposely don't pass
their own test suite at present.
libcocoa.a built!

----------------------------------------------------------------------

To play with libcocoa, type 'sage -sh', then cd to the directory

   /export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0/src/examples

and try making and running some of the examples.
When you're done, it is completely safe to delete directory:

   /export/home/drkirkby/sage-4.3.4.alpha1/local/lib/cocoa-0.9930.p0

----------------------------------------------------------------------

real    4m38.333s
user    4m13.925s
sys     0m21.973s
Successfully installed libcocoa-0.9930.p0
}}}
",drkirkby
3,8531,Optional package  ace-5.0.p0 fails to install on Solaris 10 SPARC,packages: optional,sage-5.10,defect,tbd,new,2010-03-13T15:12:44-08:00,2010-03-13T15:12:44-08:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1
 * Patch #8509 removing the -o option to grep to allow packages to install. 

 == The problem with the optional ace-5.0.p0 ==

{{{
ace-5.0.p0/.hg/undo.dirstate
ace-5.0.p0/.hgignore
Finished extraction
****************************************************
Host system
uname -a:
SunOS redstart 5.10 Generic sun4u sparc SUNW,Sun-Blade-1000
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.3/configure --prefix=/usr/local/gcc-4.4.3 --with-mpfr=/usr/local/gcc-4.4.3 --with-build-time-tools=/usr/ccs/bin --with-gmp=/usr/local/gcc-4.4.3 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.3 (GCC)
****************************************************
mv: cannot rename ace to /export/home/drkirkby/sage-4.3.4.alpha1/local/lib/gap-4.4.10/pkg/: No such file or directory
./spkg-install: /export/home/drkirkby/sage-4.3.4.alpha1/local/lib/gap-4.4.10/pkg//ace: does not exist

real    0m0.013s
user    0m0.004s
sys     0m0.009s
sage: An error occurred while installing ace-5.0.p0
}}}",drkirkby
3,8532,Optional package mpi4py-1.1.0 fails to install on Solaris 10 SPARC,packages: optional,sage-5.10,defect,tbd,new,2010-03-13T15:24:05-08:00,2010-03-13T15:24:05-08:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1
 * Patch #8509 removing the -o option to grep to allow packages to install. 

 == The problem with the optional package mpi4py-1.1.0  ==

This might be because MPI fails to install - see #8522. 

{{{
src/mpi4py.MPI.c:79127: error: 'MPI_VERSION' undeclared (first use in this function)
src/mpi4py.MPI.c:79139: error: 'MPI_SUBVERSION' undeclared (first use in this function)
src/mpi4py.MPI.c:79151: error: 'MPI_MAX_PROCESSOR_NAME' undeclared (first use in this function)
src/mpi4py.MPI.c:79163: error: 'MPI_MAX_ERROR_STRING' undeclared (first use in this function)
src/mpi4py.MPI.c:79175: error: 'MPI_MAX_PORT_NAME' undeclared (first use in this function)
src/mpi4py.MPI.c:79187: error: 'MPI_MAX_INFO_KEY' undeclared (first use in this function)
src/mpi4py.MPI.c:79199: error: 'MPI_MAX_INFO_VAL' undeclared (first use in this function)
src/mpi4py.MPI.c:79211: error: 'MPI_MAX_OBJECT_NAME' undeclared (first use in this function)
src/mpi4py.MPI.c:79223: error: 'MPI_MAX_DATAREP_STRING' undeclared (first use in this function)
error: command 'gcc' failed with exit status 1

real    0m5.609s
user    0m5.111s
sys     0m0.434s
sage: An error occurred while installing mpi4py-1.1.0
}}}
",drkirkby
3,8534,Optional packages that fail to install on Solaris 10 (SPARC) on sage-4.3.4.alpha1,packages: optional,sage-5.10,defect,tbd,new,2010-03-13T17:31:15-08:00,2012-06-05T07:02:00-07:00,"Sage version 4.3.4.alpha1 is the first release to actually build and pass all doc tests (including long ones) on Solaris 10 (SPARC).

A list is given of the successes and failures when trying to install the optional packages. The system used was:

== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and assembler)

 == Sage version ==
 * 4.3.4.alpha1
 * Patch #8509 removing the -o option to grep to allow optional packages to install. 

 == Optional packages which fail to install == 
Here is a list of the optional packages which fail to install. Hopefully this list can be reduced over time. 

 * ace-5.0.p0 #8531
 * extra_docs-20070208 #8518
 * ginv-1.9-20080723 #8516
 * gmpy-1.0.1 ##8517
 * graphviz-2.16.1.p0 #7438
 * libcocoa-0.9930 #8521 (see also #8527)
 * mpi4py-1.1.0 #8532
 * valgrind (this will never install, as it is x86 only)


 == Optional packages that build successfully == 

 * biopython-1.53.p0
 * cbc-2.3.p1
 * cunningham_tables-1.0
 * database_cremona_ellcurve-20071019.p0
 * database_jones_numfield-v4
 * database_kohel-20060803
 * database_odlyzko_zeta
 * database_sloane_oeis-2005-12
 * database_symbolic_data-20070206
 * fricas-1.0.8
 * gdbm-1.8.3
 * glpk-4.38.p4
 * gnuplotpy-1.8
 * guppy-0.1.8
 * java3d-20070901
 * jsmath-image-fonts-1.4.p3
 * kash3-2008-07-31
 * knoboo-20080411
 * lie-2.2.2.p3
 * lrs-4.2b.p1
 * mpc-0.5.p0
 * nzmath-0.6.0
 * openopt-0.24
 * openssl-0.9.8d.p1
 * phc-2.3.53.p0
 * pyopenssl-0.8
 * pyx-0.10
 * sage-mode-0.6
 * trac-0.11.5.p0

 == Important == 
At the time of writing, no doc tests have been run on the installed packages",drkirkby
3,8551,"ace-5.0 package has gap version hardwired, etc.",packages: optional,sage-5.10,defect,tbd,needs_info,2010-03-16T23:33:10-07:00,2013-04-25T18:30:09-07:00,"the gap version 4.4.10 is hardwired there, and few other things are wrong, e.g no SPKG.txt

A new version, with these fixes installs and runs on Sage >=4.3.3, can be found here:
http://sage.math.washington.edu/home/dima/packages/ace-5.0.p1.spkg

license status unclear, waiting for a reply from upstream",dimpase
3,8569,Standardize the title in the categories,categories,sage-5.10,defect,nthiery,new,2010-03-21T04:11:55-07:00,2010-03-21T13:58:21-07:00,"Right now there are various choices of title format in the categories files: for examples you have ""!FiniteSemigroups"" but
""Finite Weyl Groups"". Even worse, files {{{finite_monoids.py}}} and {{{monoids.py}}} have the same title, namely ""Monoids"". As a results, in the front page http://www.sagemath.org/doc/reference/categories.html the link ""Monoids"" points to {{{finite_monoids.html}}} and {{{monoids.html}}} is compiled but not linked there. 

I think we should all standardize so that the title of the file is the same as the name of the category with space in it. For example,
file {{{finite_monoids.py}}} which defines category {{{FiniteMonoids()}}} should have title ""Finite Monoids""

Florent

",hivert
3,8571,Fix the documentation of abstract methods.,documentation,sage-5.10,defect,mvngu,new,2010-03-21T11:47:03-07:00,2010-04-17T03:19:55-07:00,"Currently, the documentation of abstract methods has the following annoying problem, it doesn't appear when asked with ""?"" from a parent.
{{{
sage: P = Parent(category=CoxeterGroups())
sage: P.index_set?
Object `P.index_set` not found.
sage:                                
}}} 
You have to write:
{{{
sage: CG = CoxeterGroups()
sage: CG.ParentMethods.index_set?
Type:           AbstractMethod
Base Class:     <class 'sage.misc.abstract_method.AbstractMethod'>
String Form:    <abstract method index_set at 0x219a320>
Namespace:      Interactive
File:           /usr/local/sage/sage/local/lib/python2.6/site-packages/sage/misc/abstract_method.py
Definition:     CG.ParentMethods.index_set(self)
Docstring:
       Returns the index set of (the simple reflections of) ``self``, as a
       list (or iterable).

Class Docstring:
       Constructor for abstract methods
[...]
}}}
This should be fixed.
",hivert
3,8578,method int_repr only works for small finite fields,algebra,sage-5.10,defect,AlexGhitza,new,2010-03-22T05:00:54-07:00,2010-03-22T05:00:54-07:00,"From [http://groups.google.com/group/sage-devel/browse_thread/thread/f41d594281e843d9 sage-devel]:
{{{
For a finite field of, say 2^6 elements, an object representing an
element of such a field has a method called int_repr() that returns
the object's integer representation. However, if we are dealing with,
say GF(7^100), an object representing an element of such a field
doesn't have a corresponding int_repr() method. The report below
includes such a method, which is meant to work for a finite field of
any order.
}}}",mvngu
3,8583,Add guidelines for updating standard packages.,documentation,sage-5.10,defect,mvngu,new,2010-03-22T23:28:44-07:00,2010-06-25T13:55:36-07:00,"The developers guide has some guidance on how to update .spkg files

http://www.sagemath.org/doc/developer/patching_spkgs.html

which is well written and clear, but need expanding. The following is a list of suggestions, which are based on my original proposal, and feedback from others on sage-devel. 

 == Additional Information Needed for Updating Packages. ==

1) Are there any new warnings about depreciated options to the configure script(s) if they are used? If there are new warnings, you need to understand why the option was given, why it depreciated, and what you should do about it.

2) Are there any warnings about unrecognized options to configure scripts? If so, it is '''essential''' these are resolved.

3) If there are any patches to the original package, do they need re-writing? If a source file is overwritten, are you sure that overwriting it is still appropriate?

4) Does the new package build on Linux, OSX and Solaris? The author should provide the output of 'uname -a' on all system where they have checked the updated package and place that on the trac ticket.

5) Are any special build instructions listed in SPKG.txt followed?

6) Read ALL the comments in SPKG.txt, to see what people have changed and why. Do any of them have implications for the update?

7) Are all the patches applied still necessary? Sometimes bugs may be fixed upstream, so a patch is not required.

8) Are there any new dependencies? Sometimes new versions of packages require libraries that versions ones did not, or require later versions of libraries. If so, does Sage include those dependencies? Just because your system has the dependency, do not assume that everyone else will have it. 

9) Have you read the release notes for the update? If not, do so, and ensure there is nothing that will obviously cause a problem in Sage. If possible provide a web link to the release notes to aid the reviewer. 

10) Have you documented the trac ticket for the update in SPKG.txt? If not, do so. If a ticket is not open for the update, then create the ticket, and reference that in SPKG.txt

 == Additional Information Needed for Reviewing Packages. ==

The reviewer(s) should test the updated package on at least one Linux, one OS X and one Solaris 10 system. Ideally, these systems should be different to those used by the author. In the case of the Linux system, testing the package on a different distribution of Linux to that used by the author would be preferable. However, in some cases the reviewer may have no option but to test on the same systems as the author, though they should try to test on different systems if possible. 

The reviewer should place on the trac ticket the output of 'uname -a' on the systems which they have tested the package. 

The reviewer should read the release notes for the new package, to determine if he/she believes there are changes which may be needed to the package. 

See [https://groups.google.com/group/sage-devel/browse_thread/thread/bd9b466cf36cf9f2/ this thread] for some idea on upgrading standard spkg's.",drkirkby
3,8586,Integer overflow in vector_space_dimension(),commutative algebra,sage-5.10,defect,malb,new,2010-03-23T04:29:29-07:00,2012-06-01T10:51:01-07:00,"{{{
#!python
sage: P.<x> = PolynomialRing(GF(32003),1)
sage: sage.rings.ideal.FieldIdeal(P).vector_space_dimension()
32003

sage: P.<x,y> = PolynomialRing(GF(32003),2)
sage: sage.rings.ideal.FieldIdeal(P).vector_space_dimension()
1024192009

sage: P.<x,y,z> = PolynomialRing(GF(32003),3)
sage: sage.rings.ideal.FieldIdeal(P).vector_space_dimension()
-1973539045 # 2^32 - (32003^3) % 2^32 == 1973539045
}}}",malb
3,8615,sage notebook: in chrome creating a new worksheet just returns the last opened worksheet,notebook,sage-5.10,defect,was,new,2010-03-27T10:42:55-07:00,2010-03-27T10:42:55-07:00,"Basically, in Google Chrome, creating a new worksheet sometimes (usually?) doesn't work.   Tested in both Linux and OS X.",was
3,8626,qqbar and SR,coercion,sage-5.10,defect,AlexGhitza,needs_work,2010-03-29T12:24:06-07:00,2010-09-21T20:15:31-07:00,"It would be nice if roots of quadratics printed using the quadratic formula in QQbar, i.e., 

{{{
sage: QQbar(sqrt(2))
sqrt(2)
}}}

Additionally, it would be nice if we could wrap qqbar elements as SR objects.

The first patch just affects printing of qqbar elements.  The second lets you do more than just print (e.g., SR(QQbar(sqrt(2))) should give you sqrt(2), not just print sqrt(2))",jason
3,8652,"load uses ""strip"" on non-strings",user interface,sage-5.10,defect,was,new,2010-04-05T22:25:31-07:00,2012-05-28T15:32:04-07:00,"I got this bug/traceback today by making a file grader.py and a file grader.sage (their content doesn't matter).  

{{{
sage: import grader
sage: load grader.sage
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

/Users/wstein/edu/2010/480/grading/<ipython console> in <module>()

/Users/wstein/sage/build/sage/local/lib/python2.6/site-packages/sage/misc/preparser.pyc in load(filename, globals, attach)
   1487             return
   1488         
-> 1489     filename = filename.strip()
   1490     
   1491     if filename.lower().startswith('http://'):

AttributeError: 'module' object has no attribute 'strip'
sage: 
}}}

The above bug is the fault of the rewrite *I* did of load and attach, so is my fault. ",was
3,8665,__future__ imports not respected in notebook %python mode,notebook,sage-5.10,defect,"jason, was",new,2010-04-09T02:02:07-07:00,2010-04-09T02:02:07-07:00,"{{{
On Apr 8, 2010, at 2:48 PM, msafiri wrote:

Hi all,
ticket #7207 is closed. However, using python mode,

from __future__ import division
1/2

yields 0. (This is using Sage 4.3.4 on the sagenb.org server.)
}}}",robertwb
3,8678,Improvements for morphisms of ModulesWithBasis,categories,sage-5.10,defect,nthiery,needs_work,2010-04-12T14:20:15-07:00,2010-07-13T12:45:57-07:00,"The upcoming patch in the Sage-Combinat queue implements:
 - inverses for morphisms of finite dimensional vector spaces
 - tensor products of morphisms

and improves:
 - triangular morphisms over base rings

At this occasion, it starts a bit of cleanup in the category framework for homsets, fixing some known issues (failing _test_category).",nthiery
3,8685,evaluation of Monsky-Washnitzer objects,number theory,sage-5.10,defect,was,new,2010-04-13T23:20:29-07:00,2010-04-15T13:27:45-07:00,"The following should raise an error since f0 has a singularity at P  (and isn't necessarily 0 at all finite Weierstrass points):
{{{
sage: R.<x> = QQ['x']
sage: H= HyperellipticCurve(x^3-10*x+9)
sage: K = Qp(5,10)
sage: HK = H.change_ring(K)
sage: P = HK(1,0)
sage: import sage.schemes.elliptic_curves.monsky_washnitzer as mw
sage: Mfrob,forms=mw.matrix_of_frobenius_hyperelliptic(HK)
sage: f0 = forms[0]
sage: f0(P[0],P[1])
0
sage: f0(x,K(0))
0

}}}
In fact, Sage seems to knows this...just not when the y-coordinate is 0 in the p-adic field. So, a coercion error?
{{{
sage: f0(x,0)
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)

ZeroDivisionError: Rational division by zero
}}}
",jen
3,8692,inconsistencies in axes_pad and arrow plotting,graphics,sage-5.10,defect,"jason, was",new,2010-04-15T07:26:07-07:00,2013-02-17T09:25:41-08:00,See http://groups.google.com/group/sage-support/browse_frm/thread/a601b492ba6f4044,jason
3,8726,opening two copies of a worksheet causes jumping,notebook,sage-5.10,defect,"jason, was",new,2010-04-20T08:57:45-07:00,2010-04-20T08:57:45-07:00,"Every now and then, I work on a worksheet in my office and accidentally leave it open when I go to class.  In class, as I'm using the worksheet, at seemingly random times, the worksheet jumps up to the top of the worksheet.  I think it's the ""auto-update of changes"" feature that is the problem (i.e., the worksheet in my office somehow broadcasts changes to the worksheet I'm using in class, which causes the worksheet in class to jump around at occasionally).
",jason
3,8728,Incorrect integral from Maxima,calculus,sage-5.10,defect,burcin,new,2010-04-20T09:22:21-07:00,2013-01-19T17:37:49-08:00,"From #sage-devel:

{{{
Boulemans left the chat room. (Read error: Connection reset by peer)
[11:58am] Boule joined the chat room.
[11:58am] Boule: (laptop shutdown due to power supply)
[11:59am] Boule: e, T, w = var(""e T w""); assume(1 = e^2)>0; integrate(cos(w+T)/(1+e*cos(T))^2,T,0,2*pi) should give -2*pi e cos w/(1-e^2)^3/2 instead of 0
[11:59am] Boule: can someone help?
[12:00pm] wjp: yeah, sage seems to have some trouble with this integral. You could try http://groups.google.com/group/sage-support since the right people don't seem to be here currently
[12:00pm] Boule: ok, thanx
[12:08pm] kcrisman: By the way, I just tried this and get a hang in Maxima.  Can you type the exact commands which lead to an answer of 0?
[12:08pm] kcrisman: If I plug something (.5, .75) in for e in Maxima in Sage, I do get zero as an output.
[12:12pm] Boule: don't know maxima, but with numerical values for e and w at wolfram-alfa, it gives something different than 0
[12:13pm] wjp: *nod* maple gives non-zeros too
[12:13pm] kcrisman: Can you give the *exact* sequence of commands which yield zero in Sage itself? 
[12:14pm] Boule: e = var('e')
[12:14pm] Boule: T = var('T')
[12:14pm] Boule: w = var('w')
[12:14pm] baali1 joined the chat room.
[12:14pm] baali left the chat room. (Quit: Leaving.)
[12:15pm] Boule: assume(1-e^2>0)
[12:15pm] Boule:  integrate(cos(w+T)/(1+e*cos(T))^2,T,0,2*pi)
[12:15pm] kcrisman: Okay, that's what I thought.
[12:16pm] kcrisman: Okay, it takes a while but I do get 0.
}}}
",kcrisman
3,8734,make sage variables unique in maxima,interfaces,sage-5.10,defect,jason,needs_work,2010-04-20T22:45:14-07:00,2010-08-12T15:47:31-07:00,"This patch prepends a unique string, ""_SAGE_VAR_"", to each variable name in maxima, to avoid conflicts with existing variables in maxima.",jason
3,8738,@interact matrix input control ignores label,notebook,sage-5.10,defect,"jason, was",new,2010-04-21T10:05:43-07:00,2010-04-21T12:54:27-07:00,"Try this interact:
{{{
@interact
def f(M = (""matrix "", random_matrix(QQ,3,4)), n=(""an int"", 5)):
    print ""The echelon form of the above matrix is:""
    print M.echelon_form()
}}}

The first input control should be labeled ""matrix"", but it isn't.  Whoever added the matrix control for @interact, somehow did it in a way that breaks control labels. ",was
3,8755,modify sagenb-*/src/sagenb/spkg-dist to produce valid spkg's,notebook,sage-5.10,defect,"jason, was",new,2010-04-24T14:38:40-07:00,2010-04-24T14:38:40-07:00,"The spkg format for Sage requires that:

   (1) the sagenb-*/ directory (that contains spkg-install, SPKG.txt, etc.) has its own hg report, which has spkg-install and SPKG.txt checked in.

   (2) SPKG.txt gets regularly updated with a log message for each new spkg release.

The goal of this ticket it to change the file src/sagenb/spkg-dist, so that when it it run to create a new spkg, the resulting spkg is *valid* as explained above.  That's it. ",was
3,8757,Use SQLAlchemy for storage in SageNB,notebook,sage-5.10,defect,"jason, was",new,2010-04-24T15:42:58-07:00,2010-04-24T15:42:58-07:00,"Using a database engine will be much faster, hopefully lessening the speed issues we have.",timdumol
3,8766,"document the _iadd_ and _imul_ special integer.pyx methods, which mutate self",basic arithmetic,sage-5.10,defect,AlexGhitza,new,2010-04-26T06:47:27-07:00,2010-05-05T05:31:00-07:00,"I looked in integer.pyx at the two methods _iadd_ and _imul_, which both mutate self, e.g., allow for:
{{{
sage: a = 2010
sage: a._imul_(19)
sage: a
38190
}}}
I expected to find a bug exciting docstring about how these methods are unsafe, etc.   Instead, there is *NOTHING* -- not even a doctest or docstring at all.

I also wish there were versions of these:
{{{
sage: a.unsafe_add_inplace
sage: a.unsafe_mul_inplace
}}}
that could be used in code, and would make their unsafe nature clear to the reader without having to read any docs. ",was
3,8776,"notebook: sage notebook undo doesn't really work, due to not enough (=no) automatic snapshots, or other bugs",notebook,sage-5.10,defect,"jason, was",needs_work,2010-04-26T21:38:16-07:00,2012-06-01T10:51:16-07:00,"I think Cremona's email says it best:
{{{
For the first time, I just tried using the ""Undo"" function on a
worksheet since I had messed something up.  But all the revisions I
was offered, even those from a day ago, look the same as the current
version!

This is 4.3.5 running on a 64-bit ubuntu server.

I have found it very useful that my students can work on something in
a worksheet owned by them, and then share it with me, so that when
they come to see me to talk about it we can go through it in detail on
my own computer at our meeting.  (This is really a fantastic feature).
 But just now I was having a look at a student's worksheet the day
before our meeting, and made some changed to it which I later
regretted and tried to revert.  Without success....

Any suggestions welcome!

John Cremona
}}}",was
3,8784,remove quit_sage() command from all.py top level,misc,sage-5.10,defect,jason,new,2010-04-27T13:47:41-07:00,2010-04-27T19:30:02-07:00,"It is stupid that it is this easy to accidentally destabilize and segfault Sage.    Also, having a function ""quit_sage()"" available at the sage: prompt by default that does not quit sage, is dumb. 
{{{
wstein@boxen:~/build/sage-4.4$ ./sage
----------------------------------------------------------------------
| Sage Version 4.4, Release Date: 2010-04-24                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: quit_sage()
Exiting Sage (CPU time 0m0.04s, Wall time 0m3.16s).
sage: quit
Exiting Sage (CPU time 0m0.07s, Wall time 0m4.80s).
/virtual/scratch/wstein/build/sage-4.4/local/bin/sage-sage: line 206: 11559 Segmentation fault      sage-ipython ""$@"" -i
wstein@boxen:~/build/sage-4.4$            
}}}

The fix is to rename quit_sage() somehow and change *all* code that calls it. ",was
3,8822,Bug in Family constructor,combinatorics,sage-5.10,defect,hivert,new,2010-04-29T05:25:31-07:00,2010-05-13T15:40:29-07:00,"{{{
sage: f = Family(Zmod(3), lambda i: 2*i, lazy=False)
sage: f
Lazy family (<lambda>(i))_{i in Ring of integers modulo 3}
}}}

Should we really just silently ignore the intent here, or should

{{{Family(S, f, lazy=False)}}} always return {{{Family([i for i in S], f)}}}

(I guess the default for lazy should then be made 'None' so that 'True',
'False' and 'None' could all have different behaviors.)
",jbandlow
3,8824,Make it so that numpy datatypes are integrated into the coercion model,coercion,sage-5.10,defect,robertwb,new,2010-04-29T08:36:37-07:00,2010-04-29T11:51:53-07:00,"From sage-devel: http://groups.google.com/group/sage-devel/browse_frm/thread/221f569eaba874de

>   Hello:
> >   Tracking a weird bug I've discovered the following:
> >   For a symbolic variable x and a numpy.float64 y, the code 'x<y' evals
> > to a Symbolic expression, while 'y<x' evals to a numpy.bool.
> >   I'm afraid I'm stacked, as it is the responsability of the method
> > numpy.float64.__lt__, and I can't assign it to a custom method, for example.
> >   Any idea what can I try so that 'y<x' evals to a Symbolic Expression
> > too (if you agree this should be the result)?
Sage should set the __array_priority__ attribute to something very
high in its base class(es), then let the coercion model decide how
NumPy objects should be handled (in this case, coerce to RDF or CDF).

NumPy uses the custom convention that __array_priority__ decides which
operand gets to handle the operation.

Example:
{{{
import numpy as np

class MagicOne:
    __array_priority__ = 1000
    def __cmp__(self, other):
        print 'MagicOne has control'
        return cmp(1, other)

one = MagicOne()

print one < np.float64(63.3)
print np.float64(63.3) < one
}}}
This prints
{{{
MagicOne has control
True
MagicOne has control
False
}}}",jason
3,8857,lcm over QQ[x] broken,basic arithmetic,sage-5.10,defect,AlexGhitza,new,2010-05-03T07:40:18-07:00,2012-01-08T18:27:04-08:00,"Reported by Manuel Kauers:

{{{
sage: R.<x> = QQ[x]
sage: R(1/2).lcm(R(1))
<boom>
sage: R(2^31).lcm(R(1))
<boom>
}}}

The backtrace indicates that we call Singular for this, which is completely unnecessary.

We should check if this persists with #4000 as well.",burcin
3,8862,solve misses some solutions in a certain nonlinear system,calculus,sage-5.10,defect,burcin,new,2010-05-03T12:55:59-07:00,2012-06-01T10:51:42-07:00,"We search the critical points of the function x|-> (x**2 + y**2)^x

This function has four critical points : ±(0,1) and ±(1/e,0) 

However the function solve can not find any of this.

More, solve returns (0,0) which is not a critical point since f is not differentiable at (0,0) !

{{{
  sage: var('x y')
  sage: f(x,y) = (x^2 + y^2)^x
  sage: solve([diff(f(x,y), x), diff(f(x,y), y)], x, y)
  [[x == 0, y == 0]] 
}}}",casamayou
3,8863,unify graphics options,graphics,sage-5.10,defect,"jason, was",new,2010-05-03T13:05:51-07:00,2010-05-03T13:05:51-07:00,"It would be nice to implement a TestSuite test for graphics objects that ensures that some standard options are supported for all graphics, like opacity, color, zorder, etc.  For example, the plot_field.py plots do not support an opacity option.
",jason
3,8873,Inconsistency with CombinatorialFreeModule: Vector Space vs. Module,categories,sage-5.10,defect,nthiery,new,2010-05-04T12:16:11-07:00,2010-05-04T12:16:11-07:00,"Consider the following code:
{{{
sage: G = Zmod(5)
sage: A = CombinatorialFreeModule(QQ, G)
sage: B = CombinatorialFreeMoudle(ZZ, G)
sage: A(G(1))
B[1]
sage: B(G(1))
TypeError
}}}

This should probably work the same for both.  My guess is that this will involve moving some VectorSpace code up to ModuleWithBasis, but I haven't investigated yet.",jbandlow
3,8897,units.mass.pound to units.mass.drachma broken,symbolics,sage-5.10,defect,burcin,new,2010-05-05T14:27:48-07:00,2012-08-09T04:28:21-07:00,"{{{
sage: a = 170*units.mass.pound
sage: a.convert(units.mass.drachma)
}}}
gives
{{{
TypeError: unable to convert x (=kilogram) to an integer
}}}
despite 1 drachma is 0.00429234 kilograms.",schilly
3,8904,libsingular: memory leak in Matrix.act_on_polynomial,memleak,sage-5.10,defect,tbd,new,2010-05-06T05:01:33-07:00,2010-05-06T05:01:33-07:00,"There is a memory leak that occurs when mapping a multivariate polynomial using a matrix:
{{{
sage: R.<a,b>  =  QQ[]
sage: M = Matrix([[0,1],[1,0]])
sage: n = 0
sage: p = R.random_element()
sage: q = M.act_on_polynomial(p)
sage: mem = get_memory_usage()
sage: while(1):
....:     n+=1
....:     q = M.act_on_polynomial(p)
....:     if get_memory_usage()>mem:
....:         mem = get_memory_usage()
....:         print mem,n
....:
801.04296875 2
801.54296875 2011
802.04296875 4738
802.54296875 7406
803.04296875 10091
803.54296875 12809
804.04296875 15495
804.54296875 18171
805.04296875 20873
805.54296875 23561
806.04296875 26251
...
}}}

This does not occur if one maps the polynomial by a proper morphism:
{{{
sage: f = R.hom([M.act_on_polynomial(t) for t in R.gens()],R)
sage: while(1):
....:     n+=1
....:     q = f(p)
....:     if get_memory_usage()>mem:
....:         mem = get_memory_usage()
....:         print mem,n
....:
}}}

",SimonKing
3,8905,Memory leak in echelon over QQ,memleak,sage-5.10,defect,tbd,new,2010-05-06T05:19:17-07:00,2011-01-07T17:17:29-08:00,"Apparently there is a memory leak in Sage-4.4 when one echelonizes a matrix over ``QQ``:
{{{
sage: MS = MatrixSpace(QQ,8)
sage: M = MS.random_element()
sage: N = copy(M)
sage: N.echelonize()
sage: N==M
False
sage: mem = get_memory_usage()
sage: n = 0
sage: while(1):
....:     n+=1
....:     if get_memory_usage()>mem:
....:         mem = get_memory_usage()
....:         print mem,n
....:     N = copy(M)
....:     N.echelonize()
....:
797.95703125 1
798.0859375 32
798.21484375 71
798.34375 110
798.47265625 155
798.6015625 199
798.8515625 202
798.98046875 243
799.109375 292
799.23828125 329
799.37109375 371
799.5 406
799.79296875 426
799.921875 471
800.05078125 530
800.1796875 582
800.30859375 634
800.61328125 666
...
}}}

Here I show that the critical step really is the echelon form:
{{{
sage: MS = MatrixSpace(QQ,8)
sage: M = MS.random_element()
sage: N = copy(M)
sage: mem = get_memory_usage()
sage: n = 0
sage: while(1):
....:     n+=1
....:     if get_memory_usage()>mem:
....:         mem = get_memory_usage()
....:         print mem,n
....:     N = copy(M)
....:
797.92578125 1
}}}
The memory consumption is stable at that point. So, copying ``M`` is no problem, but computing the echelon form is!",SimonKing
3,8945,Cremona labels messed up,modular forms,sage-5.10,defect,craigcitro,new,2010-05-10T10:01:33-07:00,2010-10-03T10:29:23-07:00,"It's possible to create elliptic curves over QQ by giving a Cremona label, e.g. {{{EllipticCurve('225a1')}}}, or a short form which gives you the optimal curve, {{{EllipticCurve('225a')}}}. It's also possible to create weight 2 newforms using a similar constructor, {{{Newform('225a')}}} etc.

The problem is that they don't match! For instance:
{{{
sage: EllipticCurve('225c').aplist(50)                              
[-1, 0, 0, 0, 4, 2, 2, 4, 0, 2, 0, 10, -10, -4, 8]
sage: f = Newform('225c', names='a'); [f[p] for p in prime_range(50)]
[0, 0, 0, -5, 0, -5, 0, -1, 0, 0, -7, 10, 0, -5, 0]
}}}

This is pretty embarrasing, particularly because abelian varieties go with newforms rather than with elliptic curves, meaning that {{{AbelianVariety('225c')}}} should be the same object as {{{EllipticCurve('225c')}}} but it isn't!",davidloeffler
3,8949,symbolic functions dont work with numpy.int32,symbolics,sage-5.10,defect,burcin,new,2010-05-11T01:18:24-07:00,2010-05-26T01:41:19-07:00,"{{{
sage: import numpy
sage: a = numpy.array([1,2])
sage: type(a[0])
<type 'numpy.int32'>
sage: f(x) = x^2
sage: f(a[0])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
./sage-4.4.2/<ipython console> in <module>()

./sage-4.4.2/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.__call__ (sage/symbolic/expression.cpp:15476)()

./sage-4.4.2/local/lib/python2.6/site-packages/sage/symbolic/callable.pyc in _call_element_(self, _the_element, *args, **kwds)
    454         d = dict(zip(map(repr, self.arguments()), args))
    455         d.update(kwds)
--> 456         return SR(_the_element.substitute(**d))
    457
    458

./sage-4.4.2/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.substitute (sage/symbolic/expression.cpp:14850)()

./sage-4.4.2/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.coerce_in (sage/symbolic/expression.cpp:10193)()

./sage-4.4.2/local/lib/python2.6/site-packages/sage/structure/parent_old.so in sage.structure.parent_old.Parent._coerce_ (sage/structure/parent_old.c:3288)()

./sage-4.4.2/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.coerce (sage/structure/parent.c:6970)()

TypeError: no canonical coercion from <type 'numpy.int32'> to Callable function ring with arguments (x,)
}}}
",whuss
3,8971,problem installing CBC with CPLEX support on osx 10.6,numerical,sage-5.10,defect,"jason, jkantor",new,2010-05-14T15:54:37-07:00,2010-05-14T15:57:16-07:00,"This error happens when trying to link Sage's CBC spkg to CPLEX on OSX 10.6:

http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14458988&tstart=0

The website notes a work-around.",jason
3,8972,Inversion and fraction fields for power series rings,algebra,sage-5.10,defect,,needs_work,2010-05-15T08:46:05-07:00,2013-03-13T23:53:58-07:00,"This ticket is about at least three bugs related with inversion of elements of power series rings.

Here is the first:
{{{
sage: R.<x> = ZZ[[]]
sage: (1/x).parent()
Laurent Series Ring in x over Integer Ring
sage: (x/x).parent()
Power Series Ring in x over Integer Ring
}}}
''Both'' parents are wrong. Usually, the parent of ``a/b`` is the fraction field of the parent of ``a,b``, even if ``a==b``. And neither above parent is a field.

Next bug:
{{{
sage: (1/(2*x)).parent()
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (919, 0))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
... very long traceback
TypeError: no conversion of this rational to integer
}}}

And the third:
{{{
sage: F = FractionField(R)
sage: 1/x in F
False
}}}

__Apply__:

 * [attachment:trac-8972_fraction_of_power_series_combined.patch]",SimonKing
3,8973,surf does not build (gcc 4.4.4),packages: experimental,sage-5.10,defect,tbd,new,2010-05-15T09:01:44-07:00,2012-06-01T12:03:27-07:00,"The experimental spkg ""surf-1.1"" does not build with gcc-4.4.4. The following patch works for me.

{{{
diff -ru a/surf/draw/SurfaceCalc.cc b/surf-1.1/surf/draw/SurfaceCalc.cc
--- a/surf/draw/SurfaceCalc.cc  2004-11-08 11:00:43.000000000 +0100
+++ b/surf-1.1/surf/draw/SurfaceCalc.cc 2010-05-15 17:48:38.663596876 +0200
@@ -38,6 +38,7 @@
 #include <IO.h>
 
 #include <math.h>
+#include <cstring>
 
 extern double Y_AXIS_LR_ROTATE;
 
diff -ru a/surf/image-formats/ByExtension.cc b/surf-1.1/surf/image-formats/ByExtension.cc
--- a/surf/image-formats/ByExtension.cc 2003-04-14 17:12:37.000000000 +0200
+++ b/surf-1.1/surf/image-formats/ByExtension.cc        2010-05-15 17:47:47.707096842 +0200
@@ -26,7 +26,8 @@
 
 #include <AvailableImageFormats.h>
 
-#include<iostream>
+#include <iostream>
+#include <cstring>
 
 namespace ImageFormats {
 
@@ -87,7 +88,7 @@
                }
 
                // just look for ""*.extension""
-               char* ext = strrchr(filename, '.');
+               const char* ext = strrchr(filename, '.');
                if (ext == 0) {
                        return 0;
                }
diff -ru a/surf/misc/IO.cc b/surf-1.1/surf/misc/IO.cc
--- a/surf/misc/IO.cc   2006-02-12 14:36:26.000000000 +0100
+++ b/surf-1.1/surf/misc/IO.cc  2010-05-15 17:49:12.939096803 +0200
@@ -27,6 +27,8 @@
 
 #include <errno.h>
 
+#include <cstdlib>
+
 #ifdef HAVE_UNISTD_H
 #  include <unistd.h>
 #endif
diff -ru a/surf/src/init_parser.cc b/surf-1.1/surf/src/init_parser.cc
--- a/surf/src/init_parser.cc   2002-06-09 15:29:17.000000000 +0200
+++ b/surf-1.1/surf/src/init_parser.cc  2010-05-15 17:45:32.318586702 +0200
@@ -32,8 +32,8 @@
 #include <monomarith.h>
 #include <AvailableImageFormats.h>
 
-#include<cstdio>
-#include<string>
+#include <cstdio>
+#include <cstring>
 
 using namespace ScriptVar;
}}}",mmezzarobba
3,8978,Sage doesn't build on (64bit) OpenSuse 11.2,porting,sage-5.10,defect,drkirkby,new,2010-05-16T06:09:09-07:00,2010-05-20T18:49:18-07:00,"There has been a recent report about Sage not building on (64bit) OpenSuse 11., see 

http://groups.google.com/group/sage-devel/browse_thread/thread/6947016a2d3f664e#

One issue is readline, and if one looks at the following snippet from the readline-6.0.p1 spkg-install:
{{{
if [ -f /etc/SuSE-release ]; then
    if [ `grep 11.1 /etc/SuSE-release > /dev/null; echo $?` -eq 0 ]; then
        echo ""OpenSUSE 11.1 detected""
        if [ -d /usr/include/readline/ ]; then
            echo ""The development version of libreadline is installed -> copying""
            if [ `uname -p` = ""x86_64"" ]; then
                cp /lib64/libreadline.so.* ""$SAGE_LOCAL""/lib
            else
                cp /lib/libreadline.so.* ""$SAGE_LOCAL""/lib
            fi
            cp -r /usr/include/readline  ""$SAGE_LOCAL""/include
            exit 0
}}}
it seems clear why this did work for OpenSuse 11.1 --- but not OpenSuse 11.2.
The user report mentioned also a problem with building Symmetrica (probably $SAGE64 is not set, but should).
Maybe there are even more problems lurking.

Can someone confirm these issues (I don't have access to a 64bit OpenSuse 11.2 installation myself)?",GeorgSWeber
3,9015,typing `?` on the command line brings up IPython help,documentation,sage-5.10,defect,mvngu,new,2010-05-22T04:39:16-07:00,2010-05-22T04:39:16-07:00,"I was looking over the shoulder of a new user as he started Sage for the first time and typed `?` on the command line. This shows the IPython help text which doesn't mention Sage at all.

We should change this to show the text displayed with `help()`.

Printing some more information when someone types `help` without the parenthesis would also be nice.

{{{
sage: help
<function help at 0x1d6fc80>
}}}",burcin
3,9026,METATICKET Issues preventing 64-bit builds on various flavors of Solaris.,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-05-23T17:14:01-07:00,2010-08-12T08:26:56-07:00,"The following is list of the issues that are currently preventing Sage build 64-bit on either

 * !OpenSolaris (aka Solaris 11) on Intel/AMD x64. (e.g. 'disk')
 * Solaris 10 on Intel/AMD (e.g. 'fulva')
 * Solaris 10 on SPARC (e.g. 't2')

The list can be added as new problems are found, making what William calls a 'metaticket' 

Please put 
 * ""bug"" if one knows, or might reasonable expect, it to cause a problem on a particular platform.
 * ""OK"" if one knows the problem does not exist on that platform, or one reasonably expect it will not be an issue. 
 * ""unknown"" if one can not determine if it will be an issue. 

Although !OpenSolaris can run on the SPARC platform, very few people run it, so there is little to be gained by tracking issues on that platform. (David Kirkby does not have !OpenSolaris installed on any of his SPARC systems)

||'''Trac'''||'''Title'''||'''S10 SPARC'''||'''S10 x64'''|| '''!OpenSolaris x64'''||'''Notes'''||
||#7861||pynac not building on Open Solaris x64 (32-bit/64-bit mixup)||unknown||unknown||bug||||
||#7864||libfplll tries to link 64-bit objects to 32-bit libstdc++.so||unknown||unknown||bug||||
||#7982||sage_fortran is not working properly on Open Solaris x64 in 64 bit mode.||bug||bug||bug||||
||#8086||numpy fails to build on Open Solaris x64 - 32 / 64-bit mixup||unknown||unknown||bug||||
||#8089||ecl 9.10.2-20091105cvs.p1 fails to build on Open Solaris x64||unknown||unknown||bug||||
||#9008||Update zlib to latest upstream, and clean up spkg-install||bug||unknown||bug||||
||#9009||Mercurial is not building 64-bit with !OpenSolaris with SAGE64=yes.||bug||bug||bug||||
||#9022||python fails to build _socket on !OpenSolaris x64, so ipython fails to build.||unknown||unknown||bug||||
||#9023||ghmm needs compiler flag -m64 when SAGE64 is set to ""yes""||bug||bug||bug||||
||#9024||tachyon is buiding 32-bit on !OpenSolaris x64 even when SAGE64 is set to ""yes""||bug||bug||bug||||
||#9025||PALP is building 32-bit on !OpenSolaris - probably other platforms too.||bug||bug||bug||||
||#9029||sympow is buiding 32-bit on !OpenSolaris x64 even when SAGE64 is set to ""yes""||bug||bug||bug||||
||#9030||rubiks is building part 32-bit and part 64-bit on !OpenSolaris x64.||bug||bug||bug||||
||#9034||flintqs builds as 32-bit despite SAGE64=yes on !OpenSolaris x64||bug||bug||bug||||
||#9037||pynac fails to build on 64-bit !OpenSolaris x64.||bug||bug||bug||Pynac 0.2 now in Sage. That must be fixed - see #8903 too||
||#9040||fatal relocation error installing R on !OpenSolaris||unknown||unknown||bug||We many need to build R with !SunStudio on !OpenSolaris or Solaris 10 on x64||
||#9041||python fails to build _socket on !OpenSolaris x64, so pygments fails to build.||unknown||unknown||bug||||
||#9042||Cython fails to build on !OpenSolaris x64||unknown||unknown||bug||||
||#9043||lcalc failing to build on !OpenSolaris x64.||bug||bug||bug||||
||#9097||c_lib in Sage library fails to build on !OpenSolaris x64||unknown||unknown||bug||||
||#9098||gap buillds 32-bit on !OpenSolaris when SAGE64=yes||bug||bug||bug||||
||#9099||Maxima fails to build on !OpenSolaris x64, though ECL does.||OK||bug||bug||||
||#9100||scipy is probably building part 32-bit on !OpenSolaris x64 when SAGE64=yes||unknown||unknown||bug||This is odd - see trac ticket||
||#9101||linbox reports ""ERROR: BLAS not found!"" on Solaris 10 SPARC (64-bit build).||bug||unknown||OK||It should use ATLAS, which mis-compiled as 32-bit||
||#9358||zn_poly passes all tests on on Solaris 10 64-bit SPARC, but fails to install||bug||bug||bug||'''positive review'''||
||#9397||Resolve corrupted patches to permit Singular to build on Solaris x86/x64||bug||unknown||OK||Should be fixed by update of Singular at #8059 ||
||#9399||Remove Sun-specific junk in rings/finite_rings/stdint.h||OK||bug||bug||||
||#9508||Fix all ATLAS build problems on Solaris/OpenSolaris||bug||bug||bug||||
||#9643||Force ECL to disable assembly code on Solaris 10 x86 as it does on !OpenSolaris||OK||bug||OK||'''Positive review''' (!OpenSolaris issue was resolved in #9474)||

",drkirkby
3,9033,Singular does not try to build 64-bit on OpenSolaris x64.,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-05-24T03:43:56-07:00,2010-05-24T18:49:07-07:00,"On a Sun Ultra 27 running !OpenSolaris x64, Singular is not attempting to build as a 64-bit binary, but also fails to build fully as a 32-bit binary. (It does however build partially as 32-bit).

{{{
singular-3-1-0-4-20100214/src/svd/tests/
singular-3-1-0-4-20100214/src/svd/tests/testsvdunit.h
Finished extraction
****************************************************
Host system
uname -a:
SunOS hawk 5.11 snv_134 i86pc i386 i86pc
****************************************************
****************************************************

<snip>
gcc -O3 -g -fPIC -I. -I/export/home/drkirkby/sage-4.4.2/local/include  -I/export/home/drkirkby/sage-4.4.2/local/include -DHAVE_CONFIG_H -c omBinPage.c
<snip>
g++ -c cf_factor.cc -w -fno-implicit-templates -I. -I. -I/export/home/drkirkby/sage-4.4.2/local/include -DHAVE_CONFIG_H -I/export/home/drkirkby/sage-4.4.2/local/include -I/export/home/drkirkby/sage-4.4.2/local/include -I/export/home/drkirkby/sage-4.4.2/local/include  -I/export/home/drkirkby/sage-4.4.2/local/include -O3 -g -fPIC -o cf_factor.o
In file included from /export/home/drkirkby/sage-4.4.2/local/include/NTL/vec_ZZ.h:5,
                 from /export/home/drkirkby/sage-4.4.2/local/include/NTL/ZZX.h:5,
                 from /export/home/drkirkby/sage-4.4.2/local/include/NTL/ZZXFactoring.h:5,
                 from NTLconvert.h:23,
                 from cf_factor.cc:33:
/export/home/drkirkby/sage-4.4.2/local/include/NTL/ZZ.h: In function ‘long int NTL::MulModPrecon(long int, long int, long int, long unsigned int)’:
/export/home/drkirkby/sage-4.4.2/local/include/NTL/ZZ.h:1795: error: ‘MulHiUL’ was not declared in this scope
make[2]: *** [cf_factor.o] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/singular-3-1-0-4-20100214/src/factory'
make[1]: *** [install] Error 1
make[1]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/singular-3-1-0-4-20100214/src'
make: *** [/export/home/drkirkby/sage-4.4.2/local/bin/Singular-3-1-0] Error 2
Unable to build Singular.

real    0m13.142s
user    0m8.853s
sys     0m4.226s
sage: An error occurred while installing singular-3-1-0-4-20100214
}}}

The files 
{{{
$SAGE_LOCAL/lib/omalloc_debug.o
$SAGE_LOCAL/lib/omalloc.o
}}}

are being installed as 32-bit bit objects. 

It's somewhat worrying this does not build fully. If it built fully as 32-bit, one would expect converting it to 64-bit would be relatively easy (add option -m64), but the problem could be a bit more serious than this. I've not investigated yet. ",drkirkby
3,9040,fatal relocation error installing R on OpenSolaris x64 with gcc (OK with Sun Studio).,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-05-24T17:52:46-07:00,2011-03-06T14:47:14-08:00,"== Build environment ==
 * Sun Ultra 27 3.33 GHz Intel W3580 Xeon. Quad core. 8 threads. 12 GB RAM
 * !OpenSolaris 2009.06 snv_134 X86
 * Sage 4.4.2
 * gcc 4.4.4

== How gcc 4.4.4 was configured ==
Since the configuration of gcc is fairly critical on !OpenSolaris, here's how it was built. 

{{{
drkirkby@hawk:~/sage-4.4.2$ gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.4.4/configure --prefix=/usr/local/gcc-4.4.4 --with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld --with-gmp=/usr/local --with-mpfr=/usr/local
Thread model: posix
gcc version 4.4.4 (GCC) 
}}}

gcc 4.3.4 was failing to build iconv. 

== How the Sage build was attempted ==
 * 64-bit build. SAGE64 was set to ""yes""
 * #9008 update zlib to latest upstream release to allow a 64-bit library to be built. 
 * #9009 update mercurial spkg to build 64-bit.
 * #7982 update sage_fortran so it can build 64-bit binaries.
 * Run 'make -k' so make did not stop on errors, so errors can be listed. 

== The problem ==
{{{
make[7]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/lapack'
make[6]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/lapack'
make[5]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/lapack'
make[5]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
making g_alab_her.d from g_alab_her.c
making g_cntrlify.d from g_cntrlify.c
making g_fontdb.d from g_fontdb.c
making g_her_glyph.d from g_her_glyph.c
make[6]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
make[6]: `Makedeps' is up to date.
make[6]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
make[6]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
gcc -std=gnu99 -I. -I../../../src/include -I../../../src/include -I/export/home/drkirkby/sage-4.4.2/local/include  -DHAVE_CONFIG_H   -fpic  -I/export/home/drkirkby/sage-4.4.2/local/include -L/export/home/drkirkby/sage-4.4.2/local/lib/ -O2 -g -m64  -c g_alab_her.c -o g_alab_her.o
gcc -std=gnu99 -I. -I../../../src/include -I../../../src/include -I/export/home/drkirkby/sage-4.4.2/local/include  -DHAVE_CONFIG_H   -fpic  -I/export/home/drkirkby/sage-4.4.2/local/include -L/export/home/drkirkby/sage-4.4.2/local/lib/ -O2 -g -m64  -c g_cntrlify.c -o g_cntrlify.o
gcc -std=gnu99 -I. -I../../../src/include -I../../../src/include -I/export/home/drkirkby/sage-4.4.2/local/include  -DHAVE_CONFIG_H   -fpic  -I/export/home/drkirkby/sage-4.4.2/local/include -L/export/home/drkirkby/sage-4.4.2/local/lib/ -O2 -g -m64  -c g_fontdb.c -o g_fontdb.o
gcc -std=gnu99 -I. -I../../../src/include -I../../../src/include -I/export/home/drkirkby/sage-4.4.2/local/include  -DHAVE_CONFIG_H   -fpic  -I/export/home/drkirkby/sage-4.4.2/local/include -L/export/home/drkirkby/sage-4.4.2/local/lib/ -O2 -g -m64  -c g_her_glyph.c -o g_her_glyph.o
gcc -std=gnu99 -G -L/export/home/drkirkby/sage-4.4.2/local/lib/ -m64  -o vfonts.so g_alab_her.o g_cntrlify.o g_fontdb.o g_her_glyph.o -L../../../lib -lR -lm
make[7]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
make[7]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
make[6]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
make[5]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules/vfonts'
make[4]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/modules'
make[4]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library'
mkdir ../../library
make[5]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library/profile'
building system startup profile
mkdir ../../../library/base
mkdir ../../../library/base/R
make[5]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library/profile'
make[5]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library/base'
building package 'base'
make[6]: Entering directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library/base'
mkdir ../../../library/base/demo
mkdir ../../../library/base/po
make[6]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library/base'
ld.so.1: R: fatal: relocation error: R_AMD64_PC32: file /export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/lib/libR.so: symbol _init: value 0x228000984acd does not fit
/bin/sh: line 1: 3520: Killed
make[5]: *** [all] Killed
make[5]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library/base'
make[4]: *** [R] Error 1
make[4]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src/library'
make[3]: *** [R] Error 1
make[3]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src/src'
make[2]: *** [R] Error 1
make[2]: Leaving directory `/export/home/drkirkby/sage-4.4.2/spkg/build/r-2.10.1.p1/src'
Error building R.

real    2m34.249s
user    2m6.818s
sys     0m23.514s
sage: An error occurred while installing r-2.10.1.p1
}}}

I will try to build R outside of Sage next. 

Other !OpenSolaris issues are shown at #9026
",drkirkby
3,9047,Make sure there aren't unneeded/untracked files on spkg creation.,packages: standard,sage-5.10,defect,tbd,new,2010-05-25T11:56:37-07:00,2010-05-25T11:56:37-07:00,,robertwb
3,9048,semicolon does not suppress output in the notebook,notebook,sage-5.10,defect,"jason, was",new,2010-05-25T12:59:01-07:00,2010-05-25T20:46:21-07:00,"In the text version of Sage, {{{var('x');}}} does not print anything.
However, in the notebook, it prints {{{x}}}, even with the {{{;}}}
that should prevent output. This is quite annoying. Is there a reason for that?",zimmerma
3,9082,Some unnecessary files being modified,build,sage-5.10,defect,GeorgSWeber,new,2010-05-29T00:28:36-07:00,2010-05-29T00:38:52-07:00,"When one build sage, the modification times of the following 3 files are changed. 

{{{
./README.txt
./COPYING.txt
./sage-README-osx.txt
}}}

Whilst not a major problem in itself, it does mean that 'make distclean' does not return the source tree to its original state. 

If one runs
{{{
$ 'make distclean'
$ find . -mtime -2
}}}
it will list all files modified in the last two days. Those files should not modified but they are. Some files created in the build process are not being removed, but they should be. That will be the subject of another ticket.


",drkirkby
3,9084,Move sage/gsl into libs directory.,numerical,sage-5.10,defect,"jason, jkantor",needs_work,2010-05-29T01:46:10-07:00,2011-04-01T00:49:36-07:00,,robertwb
3,9085,random_element fails for a cartesian product of fields,algebra,sage-5.10,defect,AlexGhitza,new,2010-05-29T04:24:12-07:00,2011-01-18T06:42:53-08:00,"Victor Miller reports:
{{{
Here's something a bit odd:

sage: F = GF(2)
sage: A = CartesianProduct(F,F)
sage: print A.random_element()

This gets a trace back and the message

TypeError: You must specify the names of the variables 
}}}

Here is what is happening (certainly a bug).  In the code which picks a random element from F, F is treated as a sequence and then
subscripted with a random subscript.  But (as you can verify)
evaluating F[0] or F[1] raises an error, since the {{{__getitem__}}} method of a field is used to create polynomial rings (as in F['x']).

This does not happen when you just do F.random_element() since that
has an independent implementation.

I think the fault lies in line 125 of /sage/misc/prandom.py in the
function choice() which says
{{{
return _pyrand().choice(seq)
}}}
but in your example ""seq"" is the field F.  It would work if that said list(seq), since
{{{
_pyrand().choice(F)
}}}
fails but
{{{
_pyrand().choice(list(F))
}}}
works.  But it would be more efficient if that choice function tried
to call a random_element() function on its  argument instead --
imagine if the field was very large, it would be stupid to construct a list of its elements for each random choice. 
",cremona
3,9089,Graphics3dGroup __add__ modifies its arguments,graphics,sage-5.10,defect,"jason, was",needs_work,2010-05-29T13:21:42-07:00,2013-02-17T09:23:16-08:00,"In an attempt to optimize, in some cases the __add__ method of Graphics3dGroup modifies its arguments instead of returning a new Graphics3dGroup object.  This breaks the user expectation, as illustrated below:

{{{
a=point3d([1,0,0])+point3d([0,1,0])
b=point3d([0,0,1])
a # shows 2 points
a+b # shows all 3 points
a # Now this shows 3 points!!!
}}}

The attached patch deletes the offending optimization.  If fast summing is needed, then the user can either create a Graphics3dGroup object themselves, or use something like {{{sage.misc.misc.balanced_sum}}}",jason
3,9100,scipy is probably building part 32-bit on OpenSolaris x64 when SAGE64=yes,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-05-30T18:36:58-07:00,2010-05-30T18:36:58-07:00,"== Build environment ==
 * Sun Ultra 27 3.33 GHz Intel W3580 Xeon. Quad core. 8 threads. 12 GB RAM
 * !OpenSolaris 2009.06 snv_134 X86
 * Sage 4.4.2
 * gcc 4.4.4

== How gcc 4.4.4 was configured ==
Since the configuration of gcc is fairly critical on !OpenSolaris, here's how it was built. 

{{{
drkirkby@hawk:~/sage-4.4.2$ gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.4.4/configure --prefix=/usr/local/gcc-4.4.4 --with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld --with-gmp=/usr/local --with-mpfr=/usr/local
Thread model: posix
gcc version 4.4.4 (GCC) 
}}}

gcc 4.3.4 was failing to build iconv. 

== The problem ==

This is odd, as some temporary files created during the build are clearly 32-bit

{{{
drkirkby@hawk:~/sage-4.4.2/spkg/build$ find . -exec file {} \; | grep 32-bit
./sage-4.4.2/c_lib/src/convert.pic.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/special/mach/r1mach.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/special/mach/i1mach.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/special/mach/d1mach.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/special/mach/xerror.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/integrate/mach/d1mach.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/integrate/mach/i1mach.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/integrate/mach/xerror.o:	ELF 32-bit LSB relocatable 80386 Version 1
./scipy-0.7.p4/src/build/temp.solaris-2.11-i86pc-2.6/scipy/integrate/mach/r1mach.o:	ELF 32-bit LSB relocatable 80386 Version 1
}}}

However, parts of it are compiling 64-bit, as can be seen by the -m64 flag below:

{{{
compiling C sources
C compiler: gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -m64 -Wall -Wstrict-prototypes -fPIC

creating build/temp.solaris-2.11-i86pc-2.6/build/src.solaris-2.11-i86pc-2.6/scipy/lib/lapack
compile options: '-DNO_ATLAS_INFO=2 -I/export/home/drkirkby/sage-4.4.2/local/include -Ibuild/src.solaris-2.11-i86pc-2.6 -I/export/home/drkirkby/sage-4.4.2/local/lib/python2.6/site-packages/numpy/core/include -I/export/home/drkirkby/sage-4.4.2/local/include/python2.6 -c'
gcc: build/src.solaris-2.11-i86pc-2.6/scipy/lib/lapack/calc_lworkmodule.c
compiling Fortran sources
Fortran f77 compiler: sage_fortran -Wall -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops
Fortran f90 compiler: sage_fortran -Wall -fno-second-underscore -fPIC -O3 -funroll-loops
}}}

So I'm amazed this builds at all, but it does:

{{{
creating /export/home/drkirkby/sage-4.4.2/local/lib/python2.6/site-packages/scipy/weave/doc
copying scipy/weave/doc/tutorial.txt -> /export/home/drkirkby/sage-4.4.2/local/lib/python2.6/site-packages/scipy/weave/doc/
copying scipy/weave/doc/tutorial_original.html -> /export/home/drkirkby/sage-4.4.2/local/lib/python2.6/site-packages/scipy/weave/doc/
running install_egg_info
Removing /export/home/drkirkby/sage-4.4.2/local/lib/python2.6/site-packages/scipy-0.7.0-py2.6.egg-info
Writing /export/home/drkirkby/sage-4.4.2/local/lib/python2.6/site-packages/scipy-0.7.0-py2.6.egg-info

real    4m9.963s
user    3m53.461s
sys     0m13.687s
Successfully installed scipy-0.7.p4
}}}

So I'm somewhat puzzled by this!

Dave 
",drkirkby
3,9107,Nested class name mangling can be wrong in case of double nesting,categories,sage-5.10,defect,nthiery,needs_work,2010-05-31T13:52:31-07:00,2013-05-23T16:25:05-07:00,"In the following class tree:
{{{
class Bla(UniqueRepresentation):
    class Bla1(UniqueRepresentation):
        class Bla11:
	    Pass
    class Bla2:
        class Bla21:
	    Pass
}}}
The names are set to
{{{
        sage: Bla.Bla1.__name__
        'Bla.Bla1'
        sage: Bla.Bla2.__name__
        'Bla.Bla2'
        sage: Bla.Bla2.Bla21.__name__
        'Bla.Bla2.Bla21'
}}}
But
{{{
        sage: Bla.Bla1.Bla11.__name__
        'Bla1.Bla11'
}}}
whereas one would expect {{{'Bla.Bla1.Bla11'}}}
This breaks a lot of doc in categories and in particular in functorial constructions.

__Apply__

- [attachment:trac9107_nesting_nested_classes.patch]
- [attachment:trac_9107_fix_cross_reference.patch]",hivert
3,9126,Symbolic arguments() method,symbolics,sage-5.10,defect,burcin,needs_work,2010-06-02T22:11:07-07:00,2010-06-02T22:13:00-07:00,"Right now, the following works:
{{{
sage: a=(x+y)
sage: a.arguments()
(x, y)
}}}
However, we deprecated the following a long time ago:
{{{
sage: a(1,2)
/Users/grout/sage/local/lib/python2.6/site-packages/IPython/iplib.py:2073:
DeprecationWarning: Substitution using function-call syntax and unnamed
arguments is deprecated and will be removed from a future release of
Sage; you can use named arguments instead, like EXPR(x=..., y=...)
   exec code_obj in self.user_global_ns, self.user_ns
3
}}}
I propose that a.arguments() should return a deprecation warning:
{{{
sage: a.arguments()
/Users/grout/sage/local/lib/python2.6/site-packages/IPython/iplib.py:2073:
DeprecationWarning: (Since Sage version 4.4.2) symbolic expressions do
not have default callable arguments.  Please use the variables() method
   exec code_obj in self.user_global_ns, self.user_ns
(x, y)
}}}
This will impact other things as well, since apparently things have been
using .arguments() when they should have been using .variables().  I can
post a patch for this.  Here, I'm just calling for comment, especially
from those that think this will mess everything up in some way.

Note that callable functions will still have sensible return values:
{{{
sage: f(x,y)=x+y
sage: f.arguments()
(x, y) 
}}}",jason
3,9132,.rej should not be in .hgignore,misc,sage-5.10,defect,jason,new,2010-06-03T08:58:09-07:00,2010-06-03T08:58:09-07:00,"{{{
On Thu, Jun 3, 2010 at 8:44 AM, John Palmieri
 wrote:
> Should .hgignore include a line like
>
> \.rej$

Definitely not.  
}}}",was
3,9183,creating an expect element can modify a previously created expect element,interfaces,sage-5.10,defect,was,new,2010-06-07T20:16:19-07:00,2010-06-07T20:16:19-07:00,"The {{{_next_variable_name}}} method in the expect interface sometimes spits out a variable name that is in use. This means that a previously created element might be modified inadvertently:
{{{
sage: z = gap(3); z
3
sage: gap.clear(z.name())
sage: gap.clear(z.name())
sage: x = gap(3); x
3
sage: y = gap(4); y
4
sage: x
4 
}}}
Of course, x should be 3 above, and not 4.

(This issue was found in #8380, but it didn't get resolved there. See the ticket for more details.)",saliola
3,9190,plot options reset does not reset the options dictionary,graphics,sage-5.10,defect,"jason, was",new,2010-06-08T09:40:56-07:00,2010-06-08T09:45:32-07:00,"Note:

{{{
sage: plot(x^2,(x,-1,1)) # no filling happens
<html><font color='black'><img src='cell://sage0.png'></font></html>
sage: plot.options
{'fillalpha': 0.5, 'detect_poles': False, 'plot_points': 200, 'thickness': 1, 'alpha': 1, 'adaptive_tolerance': 0.01, 'fillcolor': 'automatic', 'adaptive_recursion': 5, 'exclude': None, 'rgbcolor': (0, 0, 1), 'fill': True}
sage: plot.defaults()
{'fillalpha': 0.5, 'detect_poles': False, 'plot_points': 200, 'thickness': 1, 'alpha': 1, 'adaptive_tolerance': 0.01, 'fillcolor': 'automatic', 'adaptive_recursion': 5, 'exclude': None, 'rgbcolor': (0, 0, 1), 'fill': None}
sage: plot.options['fill']=True
sage: plot(x^2,(x,-2,2)) # no filling happens - bug
<html><font color='black'><img src='cell://sage0.png'></font></html>
sage: plot.options
{'fillalpha': 0.5, 'detect_poles': False, 'plot_points': 200, 'thickness': 1, 'alpha': 1, 'adaptive_tolerance': 0.01, 'fillcolor': 'automatic', 'adaptive_recursion': 5, 'exclude': None, 'rgbcolor': (0, 0, 1), 'fill': True}
sage: plot.reset()
sage: plot.options # fill is still set to True - bug
{'fillalpha': 0.5, 'detect_poles': False, 'plot_points': 200, 'thickness': 1, 'alpha': 1, 'adaptive_tolerance': 0.01, 'fillcolor': 'automatic', 'adaptive_recursion': 5, 'exclude': None, 'rgbcolor': (0, 0, 1), 'fill': True}

}}}

On other things (like contour_plot), it appears that changing the fill default actually affects the plot, but doing contour_plot.reset() doesn't reset the option.",jason
3,9192,Tab-completion misses some elements,misc,sage-5.10,defect,jason,new,2010-06-08T19:18:04-07:00,2010-06-08T19:18:04-07:00,"{{{
sage.crypto.bl[tab]
}}}
This should give
{{{
sage.crypto.block_cipher
}}}
But does not.  In fact, 
{{{
sage.crypto.[tab]
}}}
only gives 10 of the 13 things which appear when you do
{{{
from sage.crypto.[tab]
}}}",kcrisman
3,9209,Sage build can go wrong if there is a python install in /usr/local.,build,sage-5.10,defect,GeorgSWeber,new,2010-06-10T16:45:54-07:00,2010-06-10T21:09:29-07:00,"There are at least two failed reports of Sage failing to build properly if there is an installation of python in /usr/local

 * http://groups.google.com/group/sage-solaris/browse_thread/thread/5dcc7ed68d279f67?hl=en
 * http://groups.google.com/group/sage-devel/browse_thread/thread/37a67ce63e68d55b?hl=en-GB

where an installation in /usr/local of python screws up Sage. 

In my own case, the only way I could find to stop the installation in /usr/local preventing Sage building, was to execute as root

{{{
# chmod 000 /usr/local/lib/libpython2.6.a /usr/local/lib/python2.6
}}}

Clearly that is not a good method and would be unavailable to many people. 
Dave ",drkirkby
3,9248,"docstring for factorial doesn't say that it accepts non-integer, non-symbolic input",documentation,sage-5.10,defect,ddrake,new,2010-06-15T18:55:29-07:00,2010-12-01T18:28:18-08:00,"At comment:2:ticket:9240, we see someone get confused about the docstring for {{{factorial}}}, which claims it takes as input an integer or symbolic expression. However, it takes non-integer, non-SR inputs:
{{{
sage: x = 1.5; parent(x)
Real Field with 53 bits of precision
sage: factorial(x)
1.32934038817914
sage: x = 3/2; parent(x)
Rational Field
sage: factorial(x)      
3/4*sqrt(pi)
sage: x = CC(1+I); parent(x)
Complex Field with 53 bits of precision
sage: factorial(x)
0.652965496420167 + 0.343065839816545*I
}}}
I understand that there is coercion going on, but we should specify that the function takes pretty much any complex number (except of course negative integers) and evaluates (something akin to) gamma(1+x).

However, it doesn't exactly do gamma(1+x):
{{{
sage: x = I; parent(x)  
Symbolic Ring
sage: factorial(x)    
0.498015668118356 - 0.154949828301811*I
sage: gamma(x+1)      
gamma(I + 1)
sage: parent(factorial(x))  
Symbolic Ring
sage: gamma(x+1).n() 
0.498015668118356 - 0.154949828301811*I
sage: parent(gamma(x+1).n())
Complex Field with 53 bits of precision
}}}
The factorial function clearly is not simply calling gamma(x+1) when x is not an integer.",ddrake
3,9263,airy_ai yields wrong results in arbitrary precision,basic arithmetic,sage-5.10,defect,AlexGhitza,new,2010-06-18T04:33:59-07:00,2010-06-18T16:54:38-07:00,"{{{
----------------------------------------------------------------------
| Sage Version 4.4.2, Release Date: 2010-05-19                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: n(airy_ai(1),digits=100)
0.1352924163128813861423083153567858971655368804931640625000000000000000000000000000000000000000000000
}}}
Clearly the last digits are wrong. It looks like Sage only knows how
to compute Ai(x) in double precision, and then extended the double
precision result to 100 digits.

This is a *defect*: an error should be raised if the target precision cannot be attained (or Sage should be able to compute
Ai(x) to arbitrary precision).

I guess this problem concerns other functions than Ai.",zimmerma
3,9275,2 Bugs related to Simple Sage Server API,notebook,sage-5.10,defect,"jason, was",new,2010-06-19T11:16:11-07:00,2010-06-19T11:16:11-07:00,"This is from a user:

{{{

Hi.

I was recently trying to use the Simple Sage Server API as described here:
http://www.sagemath.org/doc/reference/sagenb/simple/twist.html
I am using the opensuse-64bit build of Sage-4.4.

Well it didn't work (always got an error when I tried to compute
something), so I started to follow the error.

On my way I found to Bugs:

File sage.server.notebook.worksheet, Line 3497, in def preparse(self, s)
replace:   s = preparse_file(s, magic=False, do_time=True,
ignore_prompts=False)
with   :   s = preparse_file(s)
(The arguments magic and do_time do not exist in preparse_file)

File sage.server.notebook.worksheet, Line 2871, in def
start_next_comp(self) before:    input +=
'sage.server.notebook.interact.SAGE_CELL_ID=%s\n'%(C.id())
insert:    input += 'import sage.server.notebook.interact\n'
(You need to import the module before using it)

When I applied those two patches the tutorial worked out for me.

greetings,
David Poetzsch-Heffter
}}}",was
3,9297,Test failures of Python (2.6.4.p9) on Solaris 10 SPARC (32-bit),porting: Solaris,sage-5.10,defect,drkirkby,new,2010-06-21T09:20:21-07:00,2010-07-16T11:05:33-07:00,"== Hardware & associated software == 

 * Sun Blade 1000
 * 2 x 900 MHz UltraSPARC III+ CPUs
 * 2 GB RAM
 * Solaris 10 03/2005 (first release of Solaris 10)
 * gcc 4.4.3 (uses Sun linker and Sun assembler)
 * Sage 4.4.4.alpha1
 * #9041 to allow Python to build _socket. (Not needed on SPARC, but it was applied)
 * #9295 to permit Python test suite to build. 

== Background ==
Although Sage 4.4.4.alpha1 builds fully on Solaris 10 (SPARC), there are some test failures of the Python test suite, which are discovered if SAGE_CHECK is exported to ""yes"", and #9295 included in Sage, which allows SAGE_CHECK to work with Python. 

== Summary of test results ==
Here are the summary of the test results. Although there are the same number of failures as observed on !OpenSolaris x64 (64-bit), the failures are not always the same - there are some unique to !OpenSolaris and some unique to Solaris 10. See #9299 for the !OpenSolaris x64 (64-bit) failures of Python.
{{{
322 tests OK.
5 tests failed:
    test_distutils test_float test_hotshot test_multiprocessing
    test_sunaudiodev
38 tests skipped:
    test_aepack test_al test_applesingle test_bsddb test_bsddb185
    test_bsddb3 test_cd test_cl test_codecmaps_cn test_codecmaps_hk
    test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_curses
    test_epoll test_gdbm test_gl test_imgfile test_kqueue
    test_linuxaudiodev test_macos test_macostools test_normalization
    test_ossaudiodev test_pep277 test_py3kwarn test_scriptpackages
    test_smtpnet test_socketserver test_ssl test_startfile test_tcl
    test_timeout test_urllib2net test_urllibnet test_winreg
    test_winsound test_zipfile64
2 skips unexpected on sunos5:
    test_tcl test_ssl
}}}
== Individual test failures ==
{{{
test test_distutils failed -- errors occurred; run in verbose mode for details

test test_float failed -- Traceback (most recent call last):
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_float.py"", line 765, in test_roundtrip
    self.identical(-x, roundtrip(-x))
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_float.py"", line 375, in identical
    self.fail('%r not identical to %r' % (x, y))
AssertionError: -0.0 not identical to 0.0

test_hotshot
test test_hotshot failed -- Traceback (most recent call last):
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_hotshot.py"", line 130, in test_logreader_eof_error
    self.assertRaises((IOError, EOFError), _hotshot.logreader, ""."")
AssertionError: (<type 'exceptions.IOError'>, <type 'exceptions.EOFError'>) not raised

test_multiprocessing
test test_multiprocessing failed -- Traceback (most recent call last):
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_multiprocessing.py"", line 1666, in test_import
    __import__(name)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/multiprocessing/reduction.py"", line 29, in <module>
    raise ImportError('pickling of connections not supported')
ImportError: pickling of connections not supported


test test_sunaudiodev failed -- (13, 'Permission denied', '/dev/audio')
}}}
",drkirkby
3,9299,Test failures of Python (2.6.4.p9) on OpenSolaris x64 (64-bit),porting: Solaris,sage-5.10,defect,drkirkby,new,2010-06-21T11:28:34-07:00,2010-07-16T09:58:14-07:00,"Although Sage 4.4.4.alpha1 does not build on !OpenSolaris x64, the standard Python package does. 

== Build environment ==
 * Sun Ultra 27 3.33 GHz Intel W3580 Xeon. Quad core. 8 threads. 
 * 12 GB RAM
 * !OpenSolaris 2009.06 snv_134 X86
 * gcc 4.4.4 configured to use the Sun linker and GNU assembler. 
 * Sage 4.4.4.alpha1 
 * #9041 to allow Python to build _socket.
 * #9295 to add an spkg-check file to the Sage Python package. 

== The background ==
Although Sage 4.4.4.alpha1 (or any Sage version for that matter) does not build fully on !OpenSolaris, the Python module does build fully. However, unless #9041 is applied, _socket will not build which prevents several parts of Sage from building. 

Furthermore, unless #9295 is applied, exporting SAGE_CHECK to ""yes"" will not result in any tests of the Python package. 

== Summary of test results ==
Here are the summary of the test results. Although there are the same number of failures as observed on Solaris 10 SPARC (32-bit), the failures are not always the same - there are some unique to !OpenSolaris and some unique to Solaris 10. See #9297 for the Solaris 10 SPARC (32-bit) failures of Python.
{{{
320 tests OK.
5 tests failed:
    test_distutils test_float test_multiprocessing test_posix
    test_zlib
40 tests skipped:
    test_aepack test_al test_applesingle test_bsddb test_bsddb185
    test_bsddb3 test_cd test_cl test_codecmaps_cn test_codecmaps_hk
    test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_curses
    test_dl test_epoll test_gdbm test_gl test_imageop test_imgfile
    test_kqueue test_linuxaudiodev test_macos test_macostools
    test_normalization test_ossaudiodev test_pep277 test_py3kwarn
    test_scriptpackages test_smtpnet test_socketserver test_startfile
    test_sunaudiodev test_tcl test_timeout test_urllib2net
    test_urllibnet test_winreg test_winsound test_zipfile64
3 skips unexpected on sunos5:
    test_tcl test_sunaudiodev test_dl
make: *** [test] Error 1
An error occured whilst testing Python
*************************************
Error testing package ** python-2.6.4.p9 **
*************************************
sage: An error occurred while testing python-2.6.4.p9
}}}
== Individual test failures ==
On failure seems a little strange below, where it reports ""not enough space"". The machine has 990 GB of free space! 

{{{
test test_distutils failed -- errors occurred; run in verbose mode for details

test test_float failed -- Traceback (most recent call last):
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_float.py"", line 765, in test_roundtrip
    self.identical(-x, roundtrip(-x))
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_float.py"", line 375, in identical
    self.fail('%r not identical to %r' % (x, y))
AssertionError: -0.0 not identical to 0.0

test test_multiprocessing failed -- Traceback (most recent call last):
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_multiprocessing.py"", line 1666, in test_import
    __import__(name)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/multiprocessing/reduction.py"", line 29, in <module>
    raise ImportError('pickling of connections not supported')
ImportError: pickling of connections not supported

test test_posix failed -- Traceback (most recent call last):
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 267, in test_getcwd_long_pathnames
    _create_and_do_getcwd(dirname)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 262, in _create_and_do_getcwd
    _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_posix.py"", line 260, in _create_and_do_getcwd
    os.getcwd()
OSError: [Errno 12] Not enough space

test test_zlib failed -- Traceback (most recent call last):
  File ""/export/home/drkirkby/sage-4.4.4.alpha1/spkg/build/python-2.6.4.p9/src/Lib/test/test_zlib.py"", line 84, in test_baddecompressobj
    self.assertRaises(ValueError, zlib.decompressobj, 0)
AssertionError: ValueError not raised
}}}


",drkirkby
3,9300,update french version of tutorial,documentation,sage-5.10,defect,mvngu,new,2010-06-21T15:13:33-07:00,2010-06-21T15:13:33-07:00,"The French version of the tutorial needs to be updated, taking at least #8821 and #9027 into account.
",jhpalmieri
3,9311,Add an spkg-check file for ratpoints,spkg-check,sage-5.10,defect,tbd,new,2010-06-22T08:25:09-07:00,2010-07-16T08:09:05-07:00,"Ratpoints is one of the many standard packages in Sage (see #9281 for a list), which do not have a spkg-check file. This means that if one builds Sage with the environment variable SAGE_CHECK set to ""yes"", no self-tests of ratpoints will be run. This is silly, as there is a small test suite. 

Dave ",drkirkby
3,9322,long time in simon_two_descent for elliptic curves,elliptic curves,sage-5.10,defect,AlexGhitza,needs_info,2010-06-23T20:00:39-07:00,2011-09-26T02:14:10-07:00,"[NB This is a different problem from the one on #5153]

Chris Wuthrich reports:
{{{
sage: K.<w> = NumberField(x^2-x-232)
sage: E = EllipticCurve([2-w,18+3*w,209+9*w,2581+175*w,852-55*w])
sage: E.local_data()
[]
sage: E.simon_two_descent(verbose=2)
}}}
This takes about 2.5 minutes with Sage 4.7.1 on a 1.6Ghz Core 2 Duo.

The same example runs fine in gp using the same version of the script ell.gp that Sage has (in version 4.4.4) and the same version of gp.",cremona
3,9339,Notebook fails to print result of last expression if there is a line break,notebook,sage-5.10,defect,"jason, was",new,2010-06-25T13:04:50-07:00,2010-06-25T13:50:14-07:00,"Consider the following two notebook cells. Semantically, the input is the same in both examples. The only difference is that the second one has a line break inside a bracket.

First one prints the result of the last expression (line) in the cell:
{{{
(x+1)
///
x + 1
}}}

But the second one doesn't:
{{{
(x+
1)
///
}}}
",nbruin
3,9347,change c_lib/include/gmp_globals.h to have sage_ prefix,misc,sage-5.10,defect,jason,new,2010-06-26T13:20:17-07:00,2010-06-26T13:20:17-07:00,"See #9343:

   http://trac.sagemath.org/sage_trac/attachment/ticket/9343/trac_9343-part2.patch

for where this comes up",was
3,9348,Building pari with -O1 rather than -O3,packages: standard,sage-5.10,defect,tbd,new,2010-06-26T17:15:52-07:00,2010-06-26T17:15:52-07:00,"This is for a workaround on 32-bit Fedora 11, 
#7092, but probably isn't worth hurting all other platforms. 
",robertwb
3,9374,sage -help should mention sage -hg,user interface,sage-5.10,defect,was,new,2010-06-29T10:31:14-07:00,2010-06-29T10:31:14-07:00,,rlm
3,9386,sage-native-execute leaves traces of sage,packages: standard,sage-5.10,defect,tbd,new,2010-06-29T16:05:43-07:00,2012-01-22T08:30:39-08:00,"The following shows that {{{sage-native-execute}}} creates a very hostile environment for running python:
{{{
$ sage -sh

Starting subshell with Sage environment variables set.
Be sure to exit when you are done and do not do anything
with other copies of Sage!

Bypassing shell configuration files ...

> sage-native-execute sh

sh-3.2$ python
python: error while loading shared libraries: libpython2.6.so.1.0:
cannot open shared object file: No such file or directory
sh-3.2$ which python
/usr/local/sage/4.4.4/local/bin/python
sh-3.2$ /usr/bin/python
'import site' failed; use -v for traceback
Python 2.4.3 (#1, Jun 11 2009, 14:09:37)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.

sh-3.2$ echo $PYTHONPATH
:/usr/local/sage/4.4.4/local/lib/python
sh-3.2$ echo $PYTHONHOME
/usr/local/sage/4.4.4/local
sh-3.2$ unset PYTHONPATH
sh-3.2$ unset PYTHONHOME
sh-3.2$ /usr/bin/python
Python 2.4.3 (#1, Jun 11 2009, 14:09:37)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
}}}
The problem is {{{python}}} refers to the sage python, because $PATH still has sage paths in it. This doesn't run because LD_LIBRARY_PATH does not point at sage library anymore

The system python {{{/usr/bin/python}}} doesn't run successfully either because PYTHONPATH and PYTHONHOME still point at sage locations.

This problem arose while trying to use the magma interface. My magma startup script uses python to resolve some paths, which didn't work anymore.

There are other traces left by sage-native-execute:

{{{
ECLDIR=/usr/local/sage/4.4.4/local/lib/ecl/
GP_DATA_DIR=/usr/local/sage/4.4.4/local/share/pari
GPDOCDIR=/usr/local/sage/4.4.4/local/share/pari/doc
GPHELP=/usr/local/sage/4.4.4/local/bin/gphelp
LD_LIBRARY_PATH=
LIBRARY_PATH=/usr/local/sage/4.4.4/local/lib/
PATH=/usr/local/sage/4.4.4:/usr/local/sage/4.4.4/local/bin:   #.....
PYTHONHOME=/usr/local/sage/4.4.4/local
PYTHONPATH=:/usr/local/sage/4.4.4/local/lib/python
SINGULAR_EXECUTABLE=/usr/local/sage/4.4.4/local/bin/Singular
SINGULARPATH=/usr/local/sage/4.4.4/local/share/singular
}}}

so I imagine local ecl, gp python, singular will all have problems.
I include LD_LIBRARY_PATH because that variable was originally undefined, not just empty. The variables PYTHONHOME and PYTHONPATH really need to be unset, not just emptied.",nbruin
3,9401,pari(n).isprime(1) does not give the primality certificate to the user,basic arithmetic,sage-5.10,defect,AlexGhitza,new,2010-07-01T01:12:38-07:00,2012-01-15T23:57:47-08:00,"The Pari {{{isprime}}} function is able to return a primality
certificate:
{{{
gp: isprime(2^31-1,1)

[2 3 1]

[3 5 1]

[7 3 1]

[11 3 1]

[31 2 1]

[151 3 1]

[331 3 1]
}}}
However when calling this function from Sage, the certificate is
lost:
{{{
sage: pari(2^31-1).isprime(1)
True
}}}",zimmerma
3,9404,Assembler reports  junk buidling Singular on OpenSolaris x64 (disk.math),porting: Solaris,sage-5.10,defect,drkirkby,new,2010-07-01T18:26:47-07:00,2010-07-01T18:55:21-07:00,"An error occurs when building sage-4.5.alpha1 (with some patches) on disk.math, an !OpenSolaris machine running !openSolaros 2008.11 (snv_101b_rc2)

The exact same source builds fine on !OpenSolaris 2009.06 which has been updated to build 134. I suspect some of the tools on this system need updating. 

== Hardware ==
 * disk.math.washington.edu x64 hardware of some sort. 
 * !OpenSolaris 2008.11 (snv_101b)
 * 32 GB RAM
 * 2 x quad core 2.3 GHz CPUs

== GCC Configuration ==
The configuration of gcc on !OpenSolaris is quite critical. This is the GCC included with !OpenSolaris 11.2008. 
{{{
-bash-3.2$ gcc -v
Reading specs from /opt/sfw/lib/gcc/i386-pc-solaris2.11/4.3.2/specs
Target: i386-pc-solaris2.11
Configured with: ./configure --prefix=/opt/sfw --enable-shared --with-gmp=/opt/sfw --with-mpfr=/opt/sfw --with-gnu-as --with-as=/usr/sfw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-stage1-languages=c,c++ --enable-languages=c,c++,objc,fortran
Thread model: posix
gcc driver version 4.3.2 (GCC) executing gcc version 4.2.3
}}}

GCC is configured to use a rather old version (version 2.15 from 2002) version of the GNU assembler /usr/sfw/bin/gas. I suspect an upgrade of gcc and/or the assembler might cure this. 

== The error message ==

{{{
ck.c -o omDebugTrack.o_ndebug
gcc -m64 -O2 -g -m64  -fPIC -I. -I/export/home/kirkby/sage-4.5.alpha1/local/include -I/export/home/kirkby/sage-4.5.alpha1/local/include -O2 -g -m64 -DHAVE_CONFIG_H -DOM_NDEBUG -c omalloc_provide.c -o omalloc_provide.o_ndebug
gcc -m64 -O2 -g -m64  -fPIC -I. -I/export/home/kirkby/sage-4.5.alpha1/local/include -I/export/home/kirkby/sage-4.5.alpha1/local/include -O2 -g -m64 -DHAVE_CONFIG_H -DOM_NDEBUG -c omAllocFunc.c -o omAllocFunc.o_ndebug
rm -f libomalloc_ndebug.a
ar cr libomalloc_ndebug.a omBinPage.o_ndebug omList.o_ndebug omAllocEmulate.o_ndebug omDebug.o_ndebug om_Alloc.o_ndebug omDebugCheck.o_ndebug omOpts.o_ndebug omGetBackTrace.o_ndebug omAllocSystem.o_ndebug omError.o_ndebug omStats.o_ndebug omRet2Info.o_ndebug omBin.o_ndebug omFindExec.o_ndebug omDebugTrack.o_ndebug omalloc_provide.o_ndebug omAllocFunc.o_ndebug 
ranlib libomalloc_ndebug.a
gcc -m64 -O2 -g -m64  -fPIC -I. -I/export/home/kirkby/sage-4.5.alpha1/local/include -I/export/home/kirkby/sage-4.5.alpha1/local/include -O2 -g -m64 -DHAVE_CONFIG_H -DOM_NDEBUG -c omalloc.c -o omalloc.o
gcc -m64 -O2 -g -m64  -fPIC -I. -I/export/home/kirkby/sage-4.5.alpha1/local/include -I/export/home/kirkby/sage-4.5.alpha1/local/include -O2 -g -m64 -DHAVE_CONFIG_H -c omalloc_debug.c -o omalloc_debug.o
gcc -m64 -g -pg -O3 -I. -I/export/home/kirkby/sage-4.5.alpha1/local/include -I/export/home/kirkby/sage-4.5.alpha1/local/include -O2 -g -m64 -DHAVE_CONFIG_H -c omBinPage.c -o omBinPage.op
/var/tmp//cc1HaW.a.s: Assembler messages:
/var/tmp//cc1HaW.a.s:26: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:101: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:170: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:268: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:482: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:824: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:1254: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:1730: Error: junk `@' after expression
/var/tmp//cc1HaW.a.s:2031: Error: junk `@' after expression
make[4]: *** [omBinPage.op] Error 1
make[4]: Leaving directory `/export/home/kirkby/sage-4.5.alpha1/spkg/build/singular-3.1.0.4.p8/src/omalloc'
make[3]: *** [install] Error 1
make[3]: Leaving directory `/export/home/kirkby/sage-4.5.alpha1/spkg/build/singular-3.1.0.4.p8/src'
make[2]: *** [/export/home/kirkby/sage-4.5.alpha1/local/bin/Singular-3-1-0] Error 2
make[2]: Leaving directory `/export/home/kirkby/sage-4.5.alpha1/spkg/build/singular-3.1.0.4.p8/src'
Unable to build Singular.

real	0m53.374s
user	0m8.135s
sys	0m8.073s
sage: An error occurred while installing singular-3.1.0.4.p8
}}}

",drkirkby
3,9405,iconv fails to build on OpenSolaris 2008.11 x64  (disk.math),porting: Solaris,sage-5.10,defect,drkirkby,new,2010-07-01T18:54:54-07:00,2010-08-10T14:41:33-07:00,"An error occurs when building sage-4.5.alpha1 (with some patches) on disk.math, an !OpenSolaris machine running !openSolaros 2008.11 (snv_101b_rc2)

The exact same source builds fine on !OpenSolaris 2009.06 which has been updated to build 134. Singular also failed to build on this machine (#9404) as did ATLAS. 

'''I suspect some of the tools on this system need updating.'''

== Hardware ==
 * Sun Fire X4540 server
 * 2 X Quad-Core AMD Opteron 2356 2300MHz
 * disk.math.washington.edu  
 * !OpenSolaris 2008.11 (snv_101b)
 * 32 GB RAM
 * 2 x quad core 2.3 GHz CPUs

== GCC Configuration ==
The configuration of gcc on !OpenSolaris is quite critical. This is the GCC included with !OpenSolaris 11.2008. 
{{{
-bash-3.2$ gcc -v
Reading specs from /opt/sfw/lib/gcc/i386-pc-solaris2.11/4.3.2/specs
Target: i386-pc-solaris2.11
Configured with: ./configure --prefix=/opt/sfw --enable-shared --with-gmp=/opt/sfw --with-mpfr=/opt/sfw --with-gnu-as --with-as=/usr/sfw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-stage1-languages=c,c++ --enable-languages=c,c++,objc,fortran
Thread model: posix
gcc driver version 4.3.2 (GCC) executing gcc version 4.2.3
}}}

GCC is configured to use a rather old version (version 2.15 from 2002) version of the GNU assembler /usr/sfw/bin/gas. I suspect an upgrade of gcc and/or the assembler might cure this. 

== The error message ==
{{{
/bin/sh ../libtool --mode=compile gcc -I. -I. -I../include -I./../include -I.. -I./..  -m64 -fvisibility=hidden -DLIBDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"" -DBUILDING_LIBICONV -DBUILDING_DLL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate -DHAVE_CONFIG_H -c ./iconv.c
/bin/sh ../libtool --mode=compile gcc -I. -I. -I../include -I./../include -I.. -I./..  -m64 -fvisibility=hidden -DLIBDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"" -DBUILDING_LIBICONV -DBUILDING_DLL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate -DHAVE_CONFIG_H -c ./../libcharset/lib/localcharset.c
/bin/sh ../libtool --mode=compile gcc -I. -I. -I../include -I./../include -I.. -I./..  -m64 -fvisibility=hidden -DLIBDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"" -DBUILDING_LIBICONV -DBUILDING_DLL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate -DHAVE_CONFIG_H -c ./relocatable.c
libtool: compile:  gcc -I. -I. -I../include -I./../include -I.. -I./.. -m64 -fvisibility=hidden ""-DLIBDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"""" -DBUILDING_LIBICONV -DBUILDING_DLL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY ""-DINSTALLDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"""" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate -DHAVE_CONFIG_H -c ./iconv.c  -fPIC -DPIC -o .libs/iconv.o
libtool: compile:  gcc -I. -I. -I../include -I./../include -I.. -I./.. -m64 -fvisibility=hidden ""-DLIBDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"""" -DBUILDING_LIBICONV -DBUILDING_DLL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY ""-DINSTALLDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"""" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate -DHAVE_CONFIG_H -c ./relocatable.c  -fPIC -DPIC -o .libs/relocatable.o
libtool: compile:  gcc -I. -I. -I../include -I./../include -I.. -I./.. -m64 -fvisibility=hidden ""-DLIBDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"""" -DBUILDING_LIBICONV -DBUILDING_DLL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY ""-DINSTALLDIR=\""/export/home/kirkby/sage-4.5.alpha1/local/lib\"""" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate -DHAVE_CONFIG_H -c ./../libcharset/lib/localcharset.c  -fPIC -DPIC -o .libs/localcharset.o
./relocatable.c: In function ‘libiconv_relocate’:
./relocatable.c:466: warning: visibility attribute not supported in this configuration; ignored
./../libcharset/lib/localcharset.c: In function ‘locale_charset’:
./../libcharset/lib/localcharset.c:500: warning: visibility attribute not supported in this configuration; ignored
In file included from ./iconv.c:148:
lib/aliases_syssolaris.gperf: In function ‘aliases_lookup’:
lib/aliases_syssolaris.gperf:389: warning: visibility attribute not supported in this configuration; ignored
/bin/sh ../libtool --mode=link gcc  -m64 -fvisibility=hidden -o libiconv.la -rpath /export/home/kirkby/sage-4.5.alpha1/local/lib -version-info 7:0:5 -no-undefined iconv.lo localcharset.lo relocatable.lo  
libtool: link: gcc -shared -Wl,-z -Wl,text -Wl,-h -Wl,libiconv.so.2 -o .libs/libiconv.so.2.5.0  .libs/iconv.o .libs/localcharset.o .libs/relocatable.o   -lc  -m64  
Text relocation remains                         referenced
    against symbol                  offset      in file
aliases_lookup                      0x1b81b     .libs/iconv.o
aliases_lookup                      0x1b9c1     .libs/iconv.o
aliases_lookup                      0x1beca     .libs/iconv.o
aliases_lookup                      0x1c070     .libs/iconv.o
aliases_lookup                      0x1c935     .libs/iconv.o
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
make[3]: *** [libiconv.la] Error 1
make[3]: Leaving directory `/export/home/kirkby/sage-4.5.alpha1/spkg/build/iconv-1.13.1.p2/src/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/export/home/kirkby/sage-4.5.alpha1/spkg/build/iconv-1.13.1.p2/src'
Error making iconv

real    1m34.539s
user    0m8.805s
sys     0m11.161s
sage: An error occurred while installing iconv-1.13.1.p2
}}}
",drkirkby
3,9421,desolve mixes user parameters and integration constants,calculus,sage-5.10,defect,burcin,new,2010-07-03T06:56:02-07:00,2011-03-16T09:11:10-07:00,"Consider
{{{
sage: var('t')
sage: x=function('x',t)
sage: var('c')
sage: desolve(diff(x,t)+2*x==t^2-2*t+c,x,ivar=t).expand()
c*e^(-2*t) + 1/2*t^2 + 1/2*c - 3/2*t + 3/4
}}}
Here the first occurrence of {{{c}}} is an integration constant,
whereas the second one is the parameter in the ODE:
{{{
sage: var('d')
sage: desolve(diff(x,t)+2*x==t^2-2*t+d,x,ivar=t).expand()
c*e^(-2*t) + 1/2*t^2 + 1/2*d - 3/2*t + 3/4
}}}
In case the ODE contains {{{c}}}, desolve should choose another
name for the integration constant.",zimmerma
3,9424,numerical evaluation of symbolic sums,symbolics,sage-5.10,defect,burcin,new,2010-07-04T06:13:14-07:00,2013-04-27T01:37:45-07:00,"Symbolics sums returned from maxima cannot be numerically evaluated, since they don't define an `_evalf_()` method.

This was reported by dirkd on sage-support:

{{{
Why is evaluating this expression problematical?

y1(x)=x^2;y2(x)=5-x;
a0=1;an=3;Delta=(an-a0)/n;p(k)=a0+(k-1/2)*Delta;
I(n)=sum(abs(y2(p(k))-y1(p(k)))*Delta,k,1,n);
N(I(10))

SAGE respons:
<snipped traceback>
  File ""expression.pyx"", line 3797, in
sage.symbolic.expression.Expression.n (sage/symbolic/expression.cpp:
17022)
TypeError: cannot evaluate symbolic expression numerically
}}}

Here is the thread:

http://groups.google.com/group/sage-support/t/615b15ca638c9652",burcin
3,9429,Undesirable behaviour when deriving from QuotientRingElement,algebra,sage-5.10,defect,AlexGhitza,needs_work,2010-07-05T03:44:05-07:00,2010-07-15T10:32:45-07:00,"All arithmetic operations on `QuotientRingElement` return a new `QuotientRingElement`, which is not the desired result for derived classes. Instead one should use `self.__class__` to return an instance of the actual type:
{{{
sage: from sage.rings.quotient_ring_element import QuotientRingElement
sage: class Q(QuotientRingElement):
...    pass
...
sage: P.<x,y> = PolynomialRing(QQ, 'x, y')
sage: Pquo = P.quo(x^3)
sage: q = Q(Pquo, x)
sage: type(q)
<class '__main__.Q'>
sage: type(q^2)
<class 'sage.rings.quotient_ring_element.QuotientRingElement'>
}}}

Expected behaviour: `q^2` should have the same (derived) type as `q`.

I am running into this issue because I want to express cohomology classes on toric varieties as derived classes of `QuotientRingElement`, see #9326. I'll write the obvious patch and attach it later today.",vbraun
3,9457,power series comparison should use padded_list,commutative algebra,sage-5.10,defect,malb,needs_work,2010-07-08T08:35:20-07:00,2012-05-03T08:11:34-07:00,"Comparison of power series uses list instead of padded_list; this means that power series equality can fail:

{{{
sage: A.<t> = PowerSeriesRing(ZZ)
sage: g = t + t^3 + t^5 + O(t^6); g
t + t^3 + t^5 + O(t^6)
sage: [g == g.add_bigoh(i) for i in range(7)]
[True, False, True, False, True, False, True]
sage: g.add_bigoh(3).list()
[0, 1]
sage: g.add_bigoh(3).padded_list()
[0, 1, 0]
}}}

== Apply ==

* [attachment: trac_9457_power_series_eq_rebase.patch]

",niles
3,9460,Many Maxima-related doctest failures on sage.math,doctest coverage,sage-5.10,defect,mvngu,needs_info,2010-07-08T21:39:23-07:00,2013-04-25T18:49:02-07:00,"Building Sage 4.5.alphaX with `SAGE_FAT_BINARY=""yes""` or `SAGE_PARALLEL_SPKG_BUILD=""yes""` on sage.math can cause many Maxima-related test failures.

See [http://sage.math.washington.edu/home/wstein/build/sage-4.5.alpha4/testlong.log testlong.log] and [comment:ticket:9274:17 this comment] at #9274 for examples.

So far, it seems that reinstalling the Maxima spkg ""fixes"" the failures.

See [http://groups.google.com/group/sage-release/browse_thread/thread/1a6359a73d39dac2/4b4aaa26c0e22660#4b4aaa26c0e22660 sage-release] for some background.",mpatel
3,9461,Doctest failures with sage -t -randorder=X,doctest coverage,sage-5.10,defect,mvngu,new,2010-07-08T22:28:56-07:00,2010-07-08T22:54:28-07:00,"Start with a build of 4.5.alpha4 for which all long doctests pass.  Run, e.g.,
{{{
#!sh
$ ./sage -t -long -sagenb -randorder=12345 devel/sage
}}}
Many tests fail.

I've posted to [http://groups.google.com/group/sage-devel/browse_thread/thread/80d6e8b9f976019b/d861632ec04f3562#d861632ec04f3562 sage-devel].",mpatel
3,9466,square root with all=True should not return ValueError but empty list,algebra,sage-5.10,defect,AlexGhitza,new,2010-07-09T06:18:25-07:00,2012-02-08T02:57:38-08:00,"With Sage 4.4.4 and no relevant patches, I got the following:
{{{
sage: FiniteField(3)(2).sqrt(all = True)
[]

sage: 2.sqrt(extend = False, all = True)
ValueError: square root of 2 not an integer

sage: FiniteField(next_prime(2^100))(2).sqrt(extend = False, all = True)
ValueError: self must be a square

sage: _.<a>=FiniteField(9)
sage: a.sqrt(extend = False, all = True)
ValueError: must be a perfect square.
}}}

At sage days 23 we agreed that square root with all=True should not raise an error. If no square roots exist, then it should return an empty list.

Right now, it returns an empty list for elements of small prime finite fields, but raises an error for integers, elements of large prime finite fields, and elements of non-prime finite fields.",mstreng
3,9477,"jmol shows a black screen in the notebook, it works fine in the reference manual",notebook,sage-5.10,defect,olazo,new,2010-07-11T15:24:13-07:00,2010-07-11T15:46:22-07:00,"I get the following error message in the log of my notebook when I try to show a 3d plot with jmol:

{{{
script compiler ERROR: se esperaba una instrucción
----line 1 command 1 of /home/admin/0/cells/30/sage0-size500.jmol?1278886612:
          >>>> <!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01//EN""> <<<<
ERROR en guión: script compiler ERROR: se esperaba una instrucción
----line 1 command 1 of /home/admin/0/cells/30/sage0-size500.jmol?1278886612:
          >>>> <!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01//EN""> <<<<
eval ERROR: 
----line 1 command 1:
         script >> ""/home/admin/0/cells/30/sage0-size500.jmol?1278886612"" <<
}}}

Jmol loads, and shows a black screen instead of the actual plot.

If I try the exact same plot in the cells in the reference manual, the plot shows perfectly and no error message appears in the log.

This seems to me rather like the opposite to #3167 in which things worked fine in the notebook but not in the help",olazo
3,9480,Sage mixes Infinity and +Infinity,coercion,sage-5.10,defect,robertwb,new,2010-07-12T05:48:51-07:00,2012-05-11T06:39:10-07:00,"This is related to #8942. The limit function can output either
{{{+Infinity}}}, {{{-Infinity}}}, or {{{Infinity}}}, the later
meaning a complex infinity. For example:
{{{
sage: limit(1/x, x=0, dir='above')
+Infinity
sage: limit(1/x, x=0, dir='below')
-Infinity
sage: limit(1/x, x=0)             
Infinity
}}}
However Sage does not distinguish {{{+Infinity}}} and {{{Infinity}}}:
{{{
sage: l1=limit(1/x, x=0, dir='above')
sage: l2=limit(1/x, x=0, dir='below')
sage: l3=limit(1/x, x=0)
sage: l1==l3
True
}}}",zimmerma
3,9487,"Have an acurate description of what ""supported platforms"" are, and have one list - not numerous different ones.",documentation,sage-5.10,defect,mvngu,new,2010-07-12T16:58:20-07:00,2011-08-24T16:45:12-07:00,"As has been noted several times before, the list of ""supported platforms"" for Sage varies depending on what particular file/web-page you read. Different sources which include a list of supported platforms include:

 * README.txt
 * http://www.sagemath.org/doc/installation/source.html
 * http://wiki.sagemath.org/SupportedPlatforms

A proposal of mine is at 

http://wiki.sagemath.org/suggested-for-supported-platforms

which is based on the method used by Mathworks for MATLAB in their list of [http://www.mathworks.com/support/sysreq/current_release/linux.html System Requirements for Linux]. Mathworks break ""supported"" into two lists. 
 * List systems which MATLAB is tested on, and so they can give good support. (In this case, exact version numbers are listed e.g. Ubuntu 8.04, 8.10, 9.04, and 9.10) 
 * List systems on which MATLAB should work, but which they don't test. 

I generalised that to four for Sage, 

 * Fully supported (Sage is always tested on '''every''' system in this list before a release is made) 
 * Expected to work 
 * Probably will not work, but porting is ongoing 
 * Will not work and porting will require substantial effort 

The first two are basically the same as Mathworks use. The last two are applicable to Sage, but not for a closed source system like MATLAB. 

It would be good if the list could be maintained in such a way that there are not several different sources giving a different list of ""supported"" systems. 


Dave ",drkirkby
3,9494,Add a doctest to benchmark.py,documentation,sage-5.10,defect,mvngu,needs_review,2010-07-14T02:28:21-07:00,2012-04-07T21:06:28-07:00,"Demo at SD23.5, also increases coverage!

----

Apply [attachment:trac_9494-doctest_mpoly_all.2.patch] to the Sage library.
",demosd235
3,9495,Incomplete plot of EllipticCurve,graphics,sage-5.10,defect,"jason, was",new,2010-07-14T02:57:39-07:00,2010-07-14T02:57:39-07:00,"Plotting 
{{{
E2 = EllipticCurve([0,0,0,-7,0])
plot(E2)
}}}
shows the entire EC, but
{{{
E = EllipticCurve([-6,6])
plot(E)
}}}
does not, although there are points with positive x:
{{{
E = EllipticCurve([-6,6])
print '\n'.join([ '%s'%E.lift_x(xp)for xp in srange(-2,5,0.5)])
}}}

This is possibly related to [http://trac.sagemath.org/sage_trac/ticket/5124 #5124] because e.g. plot(E, (-3,3)) is ignored and hence impossible to plot the entire picture of E.",schilly
3,9503,FreeModule_submodule_with_basis_pid calls wrong constructor,algebra,sage-5.10,defect,AlexGhitza,new,2010-07-15T00:15:10-07:00,2010-07-15T00:15:10-07:00,"This is a piece of the current code in `FreeModule_submodule_with_basis_pid` after #9502 (before it was the same without explanations)
{{{
# The following is WRONG - we should call __init__ of
# FreeModule_generic_pid. However, it leads to a bunch of errors.
FreeModule_generic.__init__(self, R,
                            rank=len(basis), degree=ambient.degree(),
                            sparse=ambient.is_sparse())

}}}
The errors seem to be related to number fields and their rings of integers.",novoselt
3,9519,"scipy does not exit if there are build failures, but spkg-install looks OK",build,sage-5.10,defect,GeorgSWeber,new,2010-07-16T15:43:58-07:00,2010-07-16T17:48:57-07:00,"Building Sage 4.5 on a Sun Blade 2000, with dual UltraSPARC III+ processors in 64-bit mode, the build process produces some obvious '''error''' messages. These are not warnings, but errors. 

{{{
gcc _configtest.o -L/export/home/drkirkby/64/sage-4.5/local/lib -lf77blas -lcblas -latlas -o _configtest
ld: fatal: file _configtest.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to _configtest
collect2: ld returned 1 exit status
ld: fatal: file _configtest.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to _configtest
collect2: ld returned 1 exit status
failure.
removing: _configtest.c _configtest.o
Status: 255
Output:
}}}

{{{wrong ELF class:}}} messages mean an attempt was made to link a mixture of 32-bit and 64-bit object files. 

But the build process still goes on to report that scipy has installed OK. 

{{{
real    22m34.927s
user    20m23.356s
sys     1m5.603s
Successfully installed scipy-0.7.p5
}}}

What is odd, is that {{{spkg-install}}} looks to be OK to me. 

{{{
python setup.py build
if [ $? -ne 0 ]; then
    echo ""Error building scipy.""
    exit 1
fi

# Intall
python setup.py install
if [ $? -ne 0 ]; then
    echo ""Error installing scipy.""
    exit 1
fi
}}}

The problem is '''not''' like the cephes package, or several others, where the return code of ''make'' is not checked.  

At this point, I've not no idea if this is an upstream bug, or a Sage bug. 

Anyone got any ideas? 

Dave ",drkirkby
3,9536,python setup.py picks prefix from ~/.pydistutils.cfg,build,sage-5.10,defect,AlexanderDreyer,needs_review,2010-07-18T07:07:14-07:00,2012-07-27T13:42:35-07:00,"Hi,
several packages do use {{{python setup.py}}}. This picks up the customized settings from ~/.pydistutils.cfg. This is bad, because it overrides the prefix setting. 

For sage-main, I'll attach a patch: {{{setup.cfg}}} in the corresponding directory overrides the usere settings. Maybe there's a global solution.

Regards,
  Alexander Dreyer",AlexanderDreyer
3,9539,segfault after memory exhausted using GF(9001)((x)),memleak,sage-5.10,defect,rlm,new,2010-07-18T08:55:11-07:00,2010-09-08T04:52:39-07:00,"On a MacBook Pro with 2Go (Mac OS X 10.4.11), filling the memory terminates with a seg fault:

code used:
{{{
from sage.all import LaurentSeriesRing, GF, timeit
R = LaurentSeriesRing(GF(9001), 'x')
f = R([1, 1])
for i in range(27):
    timeit('g = f*f', number=1, repeat=1) ; f = f*f
}}}

output is:
{{{
1 loops, best of 1: 16.5 s per loop
1 loops, best of 1: 28.4 s per loop
1 loops, best of 1: 88.6 s per loop
python(6488) malloc: *** vm_allocate(size=2147614720) failed (error code=3)
python(6488) malloc: *** error: can't allocate region
python(6488) malloc: *** set a breakpoint in szone_error to debug


------------------------------------------------------------
Unhandled SIGBUS: A bus error occured in Sage.
This probably occured because a *compiled* component
of Sage has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate (sorry).
------------------------------------------------------------
}}}",fchyzak
3,9550,Upgrading 4.4.4 binary --> 4.5.1 fails on opencdk,build,sage-5.10,defect,GeorgSWeber,new,2010-07-19T05:00:03-07:00,2010-07-20T03:16:11-07:00,"{{{
make[1]: Entering directory `/scratch/rlmill/sage-4.4.4-linux-64bit-ubuntu_8.04.4_lts-x86_64-Linux/spkg/build/opencdk-0.6.6.p5/src'
make  all-recursive
make[2]: Entering directory `/scratch/rlmill/sage-4.4.4-linux-64bit-ubuntu_8.04.4_lts-x86_64-Linux/spkg/build/opencdk-0.6.6.p5/src'
Making all in src
make[3]: Entering directory `/scratch/rlmill/sage-4.4.4-linux-64bit-ubuntu_8.04.4_lts-x86_64-Linux/spkg/build/opencdk-0.6.6.p5/src/src'
/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I/home/wstein/build/sage-4.4.4/local/include -I../lib -I../lib   -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT new-packet.lo -MD -MP -MF .deps/new-packet.Tpo -c -o new-packet.lo new-packet.c
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I.. -I/home/wstein/build/sage-4.4.4/local/include -I../lib -I../lib -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT new-packet.lo -MD -MP -MF .deps/new-packet.Tpo -c new-packet.c  -fPIC -DPIC -o .libs/new-packet.o
In file included from new-packet.c:23:
opencdk.h:23:20: error: gcrypt.h: No such file or directory
}}}",rlm
3,9600,Fix atlas/liblapack.so linkage on FreeBSD,porting: BSD,sage-5.10,defect,GeorgSWeber,needs_work,2010-07-26T03:56:43-07:00,2013-04-25T18:41:48-07:00,"liblapack.so includes undefined references to __powidf2 and __powisf2, which are defined in libgcc (no other Sage shared libraries appear to rely on libgcc helper functions). Unfortunately, for reasons I don't fully understand, linking liblapack.so against libgcc.a fails, even when building a normal executable. The symptom is a message like:

usr/local/bin/ld: _configtest: hidden symbol `__powidf2' in /usr/local/lib/gcc45/gcc/x86_64-portbld-freebsd8.1/4.5.1/libgcc.a(_powidf2.o) is referenced by DSO
/usr/local/bin/ld: final link failed: Nonrepresentable section on output

The fix is to add a dependency on libgcc_s.so when (re-)building 
liblapack.so in make_correct_shared.sh.

It's not clear whether this is a defect in atlas or not - the liblapack.so used in Sage is custom-built for Sage and so this particular fix cannot be reported.",pjeremy
3,9605,Caching latex preamble setup for graphs,misc,sage-5.10,defect,jason,new,2010-07-26T11:26:21-07:00,2010-07-26T11:29:05-07:00,"On #9074 it was noted that using the cached_function decorator on {{{sage.graphs.graph_latex.setup_latex_preamble}}} excludes it from the reference manual.  While trying to resolve this (see suggestion on #9074), it seems the doctests, when run in random order, yield errors.  This situation has been split off that ticket and moved here.",rbeezer
3,9611,Truncated numbers on axes in plotting,graphics,sage-5.10,defect,"jason, was",new,2010-07-27T10:38:52-07:00,2010-08-12T01:14:01-07:00,"Reported by Henryk Trappmann on sage-support:
{{{
Take for example the following code: 
sage: f = {0:1} 
sage: for n in range(100): f[n+1] = sqrt(2.0)**f[n] 
sage: line([(n,f[n]) for n in range(50,100)]) 
Then on the y-Axis every tick number is ""2e"" except the topmost is 
""2"". 
One can not distinguish y values by their displayed numbers. 
Another plot issue: 
If you change the aspect ratio, then the displayed numbers (i.e. the 
font) get also scaled, and makes it often unreadable. 
This can be seen with this code: 
sage: l=line([(1,0.5),(2,0.6)]) 
sage: l.set_aspect_ratio(1) 
sage: l 
}}}",kcrisman
3,9613,Add a spkg-check script to linbox,spkg-check,sage-5.10,defect,drkirkby,new,2010-07-27T17:14:58-07:00,2010-07-27T17:16:27-07:00,"Linbox has a test suite, but it is never run, as there is no spkg-check file. 

#9281 has a list of the standard packages, with a note by each as to whether there's an spkg-check file or not.

Dave 

",drkirkby
3,9625,solve hangs on a small algebraic system with 4 equations in 4 unknowns,calculus,sage-5.10,defect,burcin,new,2010-07-28T07:33:24-07:00,2010-11-07T22:47:02-08:00,"The following command hangs with Sage 4.4.4:
{{{
var = [s,t,w,z]
sys = [-83065036657810695629*s^2 + 83065036657810695629*t*w - 68998003149632685\
30106646060491053792528*s - 395748941050538664245556665401237631434*w + 6899800\
710712292645598903080085537498136631434, 124597554986716043444*s^2 - 1245975549\
86716043444*t*w + 10349700472444902795201501609065485036608*s - 268851627794621\
336185309600880111037777*w - 10349700203593399598010554584812612113052962223, -\
282961047374832134660970*s^2 - 8410334961603332923585*s*z + 8410334961603332923\
585*t^2 + 282961047374832134660970*t*w - 23504169772922374247873205131210852239\
883040*s - 30616067929472784598571512251700309424241225*t - 7028115267891297114\
2272480500812537457*w - 349302390945015468969034253953644989640360*z - 94573827\
6702217921211141587964108207667243789392, -5322973679105824997312280*s^2 + 9157\
920291523629102472*s*z - 9157920291523629102472*t^2 + 5322973679105824997312280\
*t*w - 442153003783476173947515315017330812575960960*s + 3127353268883216472554\
94866020283168151616125*t - 167582752514587776396443776337970730676*w + 3803514\
92362350173958234007398030593401152*z - 176904945185291980573382635775655917064\
32113716525]
solve(sys,var)
}}}
In comparison, Maple 13 answers in 38 milliseconds...",zimmerma
3,9632,System-dependent term order for printed expressions,symbolics,sage-5.10,defect,burcin,needs_work,2010-07-28T23:16:00-07:00,2011-01-12T19:15:06-08:00,"The order in which the terms in some symbolic expressions are printed depends on the platform/system.  For example, evaluating `cos(x) + zeta(x)` yields

 * `zeta(x) + cos(x)` on Linux
 * `cos(x) + zeta(x)` on OS X

in Sage 4.4.4 and 4.5.2.alpha{0,1}, at least.

Please see #9582 for some details and discussion.",mpatel
3,9634,binomial does not accept variable when only in the lower argument,symbolics,sage-5.10,defect,burcin,needs_work,2010-07-29T00:29:28-07:00,2012-01-03T21:49:41-08:00,"{{{
sage: var('k')
k 
sage: binomial(x,3)
1/6*(x - 2)*(x - 1)*x
sage: binomial(3,k)
---------------------------------------------------------------------------
TypeError: Either m or x-m must be an integer 
}}}

From kcrisman:
Is this a bug?  I would say yes, because
{{{
sage: binomial(x,k)
binomial(x, k)
}}}
works, but maybe we want to have it be a specific integer if the top
number is given?  Any input?

",Henryk.Trappmann
3,9656,Code blocks in the notebook's interactive help get code overlaping itself,notebook,sage-5.10,defect,olazo,needs_work,2010-07-31T19:32:38-07:00,2010-09-19T14:49:02-07:00,"This was reported some time ago in sage-support. As the reporter said, a picture is worth a thousand words, so here's a screenshot.

This is easily corrected (in firefox) by increasing and decreasiing the resolution using Ctrl++ and Ctrl+- .",olazo
3,9662,"gp(string) always returns a value, even when it should not",interfaces,sage-5.10,defect,was,new,2010-08-01T10:37:29-07:00,2010-08-03T00:13:27-07:00,"When executing a GP command using the Sage interface, a value of 0 is returned when None would be expected.  For example, in a gp shell (started with sage -gp for example):

{{{
gp> kill(x)   /* No output */
}}}

But in Sage:
{{{
sage: gp('kill(x)')
0
}}}",jdemeyer
3,9677,Sage Sets don't implement genuine comparison,basic arithmetic,sage-5.10,defect,AlexGhitza,needs_work,2010-08-03T13:41:08-07:00,2012-07-19T08:34:25-07:00,"Right now there is either equals, or less than. If `a != b`, then we get `a < b` but not `b > a`:
{{{
sage: a = Set([1])
sage: b = Set([])
sage: a == b
False
sage: a < b
True
sage: b > a
False
}}}

This came up in

http://groups.google.com/group/sage-devel/browse_thread/thread/1c058efd05d3b91f",rlm
3,9679,update README-vmware.txt,website/wiki,sage-5.10,defect,"mvngu, schilly",new,2010-08-03T15:19:14-07:00,2010-08-06T01:23:26-07:00,"This readme file has not kept up with the times.  Only a few changes are needed: the hard drive requirements are closer to 4.5GB than 2.5GB, and the Sage notebook can now be started by clicking an icon.  Also, we should change SAGE to Sage throughout.",AlexGhitza
3,9683,pretty_print clobbers _ (history),user interface,sage-5.10,defect,was,new,2010-08-03T22:05:14-07:00,2012-11-25T13:34:43-08:00,"After using `pretty_print`, the first history variable (`_`) no longer updates.

{{{
----------------------------------------------------------------------
| Sage Version 4.5.1, Release Date: 2010-07-19                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Loading Sage library. Current Mercurial branch is: combinat
sage: 17
17
sage: _
17
sage: 23
23
sage: _
23
sage: pretty_print(17)
<html><span class=""math"">\newcommand{\Bold}[1]{\mathbf{#1}}17</span></html>
sage: _
17
sage: 23
23
sage: _
17
}}}

The relevant function seems to be `pretty_print` in `/sage/misc/latex.py`, but I don't know the right way to fix it. The function and `pretty_print_default` in same file, and the functions `displayhook` and `install` in `/sage/misc/displayhook.py` may also be relevant.
",mguaypaq
3,9708,Jmol options to plot3d are not passed on to show,graphics,sage-5.10,defect,"jason, was",new,2010-08-07T17:49:42-07:00,2012-06-28T14:02:27-07:00,"I tried the plot3d example that involves ""mesh=True"" and it is completely broken.  The plot simply doesn't show a mesh at all.
{{{
plot3d(sin(x-y)*y*cos(x),(x,-3,3),(y,-3,3), mesh=True)
}}}
[[a 3d plot, but with no mesh]]",was
3,9711,sagenb notebook -- error when downloading worksheets in some cases involving non-ASCII characters,notebook,sage-5.10,defect,"jason, was",needs_review,2010-08-09T14:20:23-07:00,2012-07-27T21:11:24-07:00,"I hope this traceback from the serverlog on prep.sagenb.org will help me to debug and fix this:
{{{

2010-08-09 14:11:02-0700 [-] Exception rendering:
2010-08-09 14:11:02-0700 [-] Unhandled Error
        Traceback (most recent call last):          File ""/usr/local/sage-prep/local/lib/python/threading.py"", line 497, in __bootstrap
            self.__bootstrap_inner()
          File ""/usr/local/sage-prep/local/lib/python/threading.py"", line 525, in __bootstrap_inner            self.run()
          File ""/usr/local/sage-prep/local/lib/python/threading.py"", line 477, in run
            self.__target(*self.__args, **self.__kwargs)
        --- <exception caught here> ---
          File ""/usr/local/sage-prep/local/lib/python2.6/site-packages/twisted/python/threadpool.py"", line 210, in _worker
            result = context.call(ctx, function, *args, **kwargs)
          File ""/usr/local/sage-prep/local/lib/python2.6/site-packages/twisted/python/context.py"", line 59, in callWithContext
            return self.currentContext().callWithContext(ctx, func, *args, **kw)
          File ""/usr/local/sage-prep/local/lib/python2.6/site-packages/twisted/python/context.py"", line 37, in callWithContext
            return func(*args,**kw)
          File ""/usr/local/sage-prep/sagenb-0.8.p2/src/sagenb/sagenb/notebook/twist.py"", line 1448, in f
            notebook.export_worksheet(worksheet.filename(), sws_filename)
          File ""/usr/local/sage-prep/sagenb-0.8.p2/src/sagenb/sagenb/notebook/notebook.py"", line 983, in export_work
sheet
            S.export_worksheet(username, id_number, output_filename, title=title)
          File ""/usr/local/sage-prep/sagenb-0.8.p2/src/sagenb/sagenb/storage/filesystem_storage.py"", line 362, in ex
port_worksheet
            open(worksheet_txt,'w').write(old_heading + open(worksheet_html).read())
        exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 180: ordinal not in range(12
8)
}}}",was
3,9716,tachyon 3d plotting of graphs is still screwy,graph theory,sage-5.10,defect,"jason, ncohen, rlm",new,2010-08-09T21:28:12-07:00,2010-09-03T13:45:02-07:00,"This looks like crap:
{{{
g = graphs.DodecahedralGraph()
g.plot3d(viewer='tachyon')
}}}
but this looks good:
{{{
g = graphs.DodecahedralGraph()
show(g.plot3d(engine='tachyon'))
}}}
Also, this doesn't work (show a plot) at all:
{{{
g = graphs.DodecahedralGraph()
g.plot3d(engine='tachyon')
}}}

That's at least 2 bugs / sloppinesses. 

",was
3,9718,iconv fails to build on Solaris 10 x86 64-bit - host fulvia,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-08-10T07:28:27-07:00,2010-09-08T05:27:44-07:00,"Using the host 'fulvia'

 * Dell Optiplex 755
 * 2.4 GHz Quad-Core Intel Core Q6600 
 * 8 GB RAM
 * Solaris 10 x86 (update 5, 5/08)
 * gcc 4.5.1 configured to use the Sun linker and GNU assembler from binutils-2.20.1. 
 * 64-bit build. 

iconv failed to build. See the attached log file. 

An identical issue was seen on disk.math using !OpenSolaris, but I assumed that was because the tool set was rather old on disk.math - see #9405.

I've built iconv both 32-bit and 64-bit on several machines OK.

||'''Hardware'''||'''OS'''||'''Processor'''||'''hostname'''||'''gcc'''||'''Bits'''||'''Result'''||'''Notes'''||
||Sun T5240||Solaris 10 update 7 05/2009||SPARC||t2.math||4.4.1||32-bit||OK||||
||Sun T5240||Solaris 10 update 7 05/2009||SPARC||t2.math||4.4.1||64-bit||OK||||
||Sun Blade 1000||Solaris 10 03/2005||SPARC||redstart (mine)||4.4.4||32-bit||OK||||
||Sun Blade 1000||Solaris 10 03/2005||SPARC||redstart (mine)||4.4.4||64-bit||OK||||
||Sun Fire X4540||!OpenSolaris 11/2008||x86||disk.math||4.3.2||32-bit||??||||
||Sun Fire X4540||!OpenSolaris 11/2008||x86||disk.math||4.3.2||64-bit||'''Fail'''||#9405, but old tools||
||Dell Optiplex 755 ||Solaris 10 update 5 05/2008||x86||fulvia@skynet||4.5.1||32-bit||OK||||
||Dell Optiplex 755 ||Solaris 10 update 5 05/2008||x86||fulvia@skynet||4.5.1||64-bit||'''Fail'''||This ticket||
||Sun Ultra 27||!OpenSolaris 06/2009||x86||hawk (mine)||4.5.1||32-bit||OK||||
||Sun Ultra 27||!OpenSolaris 06/2009||x86||hawk (mine)||4.5.1||64-bit||OK||||

With only two failures, it's difficult to be sure of any patterns, though so far: 

 * iconv has only failed to build on x86 processors. It always works fine on SPARC processors. 
 * iconv has only failed on 64-bit builds. So far, the few 32-bit builds have taken place on x86 hardware have all been ok. 
 * iconv seems to failed on older versions of Solaris/!OpenSolaris and not the more recent versions. 

Dave ",drkirkby
3,9734,METATICKET Doc test failures on 32-bit Solaris 10 and 32-bit OpenSolaris on x86 CPUs.,porting: Solaris,sage-5.10,defect,drkirkby,new,2010-08-12T09:09:46-07:00,2010-08-15T16:50:39-07:00,"Although the 32-bit SPARC version of Sage passes all doc tests, there are still issues on 32-bit versions of Solaris/!OpenSolaris on x86 hardware. This ticket summaries lists only failures on 32-bit builds, versions on x86 processors. 

64-bit versions have far more failures, and will need another ticket to address them. 

||'''Test'''||'''Solaris 10'''|| '''!OpenSolaris'''||'''Notes'''||
||{{{doc/en/tutorial/tour_advanced.rs}}}||Passed||#9736||gfan||
||{{{doc/rf/tutorial/tour_advanced.rs}}}||Passed||#9736||gfan||
||{{{sage/lfunctions/sympow.py}}}||#9703||#9703||SYMPOW is also busted on Cygwin & !ArchLinux (see #9166)||
||{{{sage/modular/hecke/submodule.py}}}||#9703||#9703||SYMPOW||
||{{{sage/modular/abvar/abvar.p}}}||#9703||#9703||SYMPOW||
||{{{sage/rings/polynomial/groebner_fan.py}}}||Passed||#9736||Gfan||
||{{{sage/schemes/elliptic_curves/ell_rational_field.py}}}||	#9703||	#9703||SYMPOW||
||{{{sage/rings/polynomial/multi_polynomial_ideal.py}}}||Passed||#9736||Gfan||
||{{{sage/symbolic/expression.pyx}}}||#9689+#9693||#9689+#9693||numerical noise and missing zero||
||{{{sage/stats/hmm/chmm.pyx}}}||#9735||#9735||numerical noise. '''Positive review'''||

At this early stage of the 32-bit ports to Solaris 10 and !OpenSolaris on x86 processors, it would appear the problems fall into 3 areas

 * Numerical noise. 
 * [http://www.sagemath.org/doc/reference/sage/lfunctions/sympow.html SYMPOW] on both Solaris 10 and !OpenSolaris.
 * [http://www.math.tu-berlin.de/~jensen/software/gfan/gfan.html Gfan] - only on !OpenSolaris. 

",drkirkby
3,9743,control-enter does not split the last cell,notebook,sage-5.10,defect,"jason, was",new,2010-08-14T02:04:58-07:00,2010-08-14T02:04:58-07:00,Pressing control-enter should split a notebook cell at the cursor.  This does not happen if you are in the last cell of the notebook.,jason
3,9745,Pickling of FFELT (finite field element) PARI/GP elements broken,pickling,sage-5.10,defect,was,new,2010-08-14T04:08:12-07:00,2010-08-14T04:08:12-07:00,"The new version of PARI (see #9343) introduces a new type t_FFELT (finite field element).  Unfortunately, they pickle badly in Sage:

{{{
sage: gp_el = gp('ffgen(ffinit(2,3))')
sage: gp_el.type()
t_FFELT
sage: loads(dumps(gp_el)).type()
t_POL
}}}

A possible solution would be to implement pickling using PARI's {{{writebin()}}} and {{{read()}}}.",jdemeyer
3,9756,Document SAGE_TUNE_pari in the Sage Installation Guide,documentation,sage-5.10,defect,mvngu,new,2010-08-17T10:36:14-07:00,2010-09-03T23:45:22-07:00,"If the environment variable {{{SAGE_TUNE_pari}}} is exported to ""yes"", PARI will go through a tuning process to optimize the code for a particular computer. This takes considerable time, so the default behavior is not to tune PARI. 

This is implemented in a PARI snapshot (see #9343), but is not documented.  In particular, it depends on #9343.",drkirkby
3,9769,symbolic function do not work with numpy.int64 arguments,symbolics,sage-5.10,defect,burcin,new,2010-08-19T16:47:28-07:00,2011-05-10T10:58:29-07:00,"There seems to be some problems with the coercion of some datatypes to the symbolic ring:


{{{
sage: cos(MatrixSpace(ZZ, 2)([1, 2, -4, 7]))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
.......
TypeError: cannot coerce arguments: no canonical coercion from Full MatrixSpace of 2 by 2 dense matrices over Integer Ring to Symbolic Ring

sage: import numpy
sage: vec = numpy.array([1,2])
sage: sin(vec)
array([ 0.84147098,  0.90929743])
sage: sin(vec[0])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
....
TypeError: cannot coerce arguments: no canonical coercion from <type 'numpy.int64'> to Symbolic Ring
----

sage: x = PolynomialRing(QQ, 'x').gen()
sage: sin(x)
sin(x)
sage: x = PolynomialRing(RR, 'x').gen()
sage: sin(x)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
.....
TypeError: cannot coerce arguments: __call__() takes exactly 1 positional argument (0 given)
sage: x = PolynomialRing(CC, 'x').gen()
sage: sin(x)
sin(x)
}}}
",maldun
3,9795,Make sure new plot syntax works with Sage polynomials,graphics,sage-5.10,defect,"jason, was",new,2010-08-24T08:19:24-07:00,2010-08-24T08:20:13-07:00,"{{{
pts = [(1,2),(2,3),(3,2),(4,3),(5,2),(6,3)] 
R.<x>=QQ[] 
f = R.lagrange_polynomial(pts) 
SR(f) 
2. If one has a non-symbolic polynomial currently, it won't plot with 
the new plotting syntax. 
plot(f,0,5) # works, old-school Sage 
plot(f,(x,0,5)) # doesn't work, new-school Sage 
plot(f,x,0,5) # doesn't work, though sort of makes sense it shouldn't 
since x isn't a symbolic variable now... ? 
}}}
Obviously any polynomial f is what is at issue, not just this particular one.",kcrisman
3,9800,docutils fails to run test suite when SAGE_CHECK=yes. Missing spkg-check,spkg-check,sage-5.10,defect,drkirkby,new,2010-08-25T06:00:18-07:00,2011-03-23T18:12:06-07:00,"The {{{docutils}}} package, which is at version 0.5 in sage, lacks a spkg-check file, so the self-tests can't be run. But the package has a set of tests, which according to the {{{README.txt}}} is executed as below. 

{{{
Running the Test Suite
======================

To run the entire test suite, after installation_ open a shell and use
the following commands::

    cd <archive_directory_path>/test
    ./alltests.py
}}}
",drkirkby
3,9805,save_session is completely broken in the notebook,notebook,sage-5.10,defect,"jason, was",new,2010-08-25T20:09:59-07:00,2010-08-25T20:09:59-07:00,"Try
{{{
save_session('foo')
}}}
in the notebook.  Boom!

The problem is these lines in misc/session.pyx:
{{{
    if embedded():
        # Also save D to the data directory if we're using the notebook.
        save(D, '../../data/' + name)
}}}

When I rewrote the notebook I forgot to change this appropriately.  I'm not sure exactly what the right fix is, but it is to somehow replace '../../data/' by the data
directory (which is defined by the variable DATA in the notebook). ",was
3,9815,ATLAS fails to build on a PA-RISC system running HP-UX,porting,sage-5.10,defect,drkirkby,new,2010-08-26T22:52:43-07:00,2010-09-02T04:07:47-07:00," == Hardware ==
 * HP C3600
 * 1 x 552 MHz PA-RISC CPU
 * 8 GB RAM 
 * HP-UX 11.11B 
 * gcc 4.3.4 configured to use the GNU assembler and HP linker.
 * sage-4.5.3.alpha2 (containing ATLAS 3.8.3)

 == The problem ==

This is the first failure observed when building Sage on HP-UX. 

{{{
gcc -I/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build/../src//CONFIG/include  -g -w -o xprobe_comp probe_comp.o atlconf_misc.o 
rm -f config1.out
make atlas_run atldir=/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build exe=xprobe_comp args=""-v 0 -o atlconf.txt -O 9 -A 0 -Si nof77 0  -Fa ic '-fPIC' -Fa sm '-fPIC' -Fa dm '-fPIC' -Fa sk '-fPIC' -Fa dk '-fPIC' -Fa xc '-fPIC' -C if '/home/drkirkby/sage-4.5.3.alpha2/local/bin/sage_fortran' -Fa if '-fPIC'  -b 32"" \
                redir=config1.out
make[3]: Entering directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build'
cd /home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build ; ./xprobe_comp -v 0 -o atlconf.txt -O 9 -A 0 -Si nof77 0  -Fa ic '-fPIC' -Fa sm '-fPIC' -Fa dm '-fPIC' -Fa sk '-fPIC' -Fa dk '-fPIC' -Fa xc '-fPIC' -C if '/home/drkirkby/sage-4.5.3.alpha2/local/bin/sage_fortran' -Fa if '-fPIC'  -b 32 > config1.out
cc1: error: unrecognized command line option ""-m32""
make[4]: *** [IRunCComp] Error 1


Unable to find usable compiler for ICC; abortingMake sure compilers are in your path, and specify good compilers to configure
(see INSTALL.txt or 'configure --help' for details)make[3]: *** [atlas_run] Error 1
make[3]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build'
make[2]: *** [IRun_comp] Error 2
make[2]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build'
Assertion failed: !system(ln), file /home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build/../src//CONFIG/src/config.c, line 125

OS configured as HPUX (9)

Assembly configured as GAS_PARISC (5)

Bad VECFLAG value=0, ierr=0, ln2='VECFLAG=0
'

Vector ISA Extension configured as   (0,0)

Bad MACHTYPE value=0, ierr=0, ln2='MACHTYPE=0
'

Architecture configured as  UNKNOWN (0)

Bad CPU MHZ value=0, ierr=0, ln2='CPU MHZ=0
'

Clock rate configured as 0Mhz
Cannot detect CPU throttling.
/bin/sh: 25822 Abort(coredump)
xconfig exited with 134
make[2]: Entering directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build'
make -f Make.top build
make[3]: Entering directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build'
make[3]: Make.top: No such file or directory
make[3]: *** No rule to make target `Make.top'.  Stop.
make[3]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build'
make[2]: *** [build] Error 2
make[2]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/atlas-3.8.3.p14/ATLAS-build'
Failed to build ATLAS.
Failed to build ATLAS.

real	0m11.736s
user	0m7.720s
sys	0m2.080s
sage: An error occurred while installing atlas-3.8.3.p14
}}}

An upgrade of ATLAS would be the first obvious thing to try. 

I'm cc'ing Leif, as I know how much he loves HP-UX !!! ",drkirkby
3,9817,blas uses non-POSIX option -p to uname. This causes problems on HP-UX.,porting,sage-5.10,defect,drkirkby,new,2010-08-27T02:52:35-07:00,2010-09-13T05:17:15-07:00,"The POSIX standard for Unix states the command {{{uname}}} must exist, and list the options it should take. See

http://www.opengroup.org/onlinepubs/9699919799/utilities/uname.html

The '''only''' options which should be given in code that can be run on any system is these:


{{{
    uname [-amnrsv]
}}}

but the BLAS package ignores this, and calls {{{uname -p}}}, which screws up on systems like HP-UX where the -p option is not supported. 

{{{
blas-20070724/src/ztrsm.f
blas-20070724/src/ztrsv.f
Finished extraction
****************************************************
Host system
uname -a:
HP-UX hpbox B.11.11 U 9000/785 2016698240 unlimited-user license
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: hppa2.0w-hp-hpux11.11
Configured with: ../gcc-4.3.4/configure --with-gnu-as --with-as=/home/dclarke/local/bin/as --without-gnu-ld --with-ld=/usr/bin/ld --enable-threads=posix --enable-nls --prefix=/home/dclarke/local --enable-shared --enable-multilib --with-included-gettext --with-libiconv-prefix=/home/dclarke/local --with-system-zlib --with-gmp=/home/dclarke/local --with-mpfr=/home/dclarke/local --enable-languages=c,c++,fortran,objc --enable-bootstrap
Thread model: posix
gcc version 4.3.4 (GCC) 
****************************************************
uname: illegal option -- p
usage: uname [-amnrsvil] [-S nodename]

}}}",drkirkby
3,9818,"boehm_gc installs OK on HP-UX, but fails one of 6 tests if SAGE_CHECK=yes",porting: AIX or HP-UX,sage-5.10,defect,drkirkby,new,2010-08-27T03:06:51-07:00,2010-09-13T05:11:13-07:00," == Hardware/Software ==
 * HP C3600 workstation
 * 1 x 552 MHz PA-RISC CPU
 * 8 GB RAM
 * HP-UX 11.11B
 * Sage 4.5.3.alpha2
 * boehm_gc-7.1.p6 (that's boehm_gc-7.1 patched 7 times in Sage)

 == The failure ==

{{{
	if gcc -DPACKAGE_NAME=\""gc\"" -DPACKAGE_TARNAME=\""gc\"" -DPACKAGE_VERSION=\""7.1\"" -DPACKAGE_STRING=\""gc\ 7.1\"" -DPACKAGE_BUGREPORT=\""Hans.Boehm@hp.com\"" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 -DPACKAGE=\""gc\"" -DVERSION=\""7.1\"" -DGC_HPUX_THREADS=1 -D_POSIX_C_SOURCE=199506L -DTHREAD_LOCAL_ALLOC=1 -D_REENTRANT=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1  -I./include   -fexceptions -I libatomic_ops/src -g -O2 -MT tests/smash_test.o -MD -MP -MF ""$depbase.Tpo"" -c -o tests/smash_test.o tests/smash_test.c; \
	then mv -f ""$depbase.Tpo"" ""$depbase.Po""; else rm -f ""$depbase.Tpo""; exit 1; fi
/bin/sh ./libtool --tag=CC --mode=link gcc -fexceptions -I libatomic_ops/src -g -O2   -o smashtest  tests/smash_test.o ./libgc.la  
libtool: link: warning: this platform does not like uninstalled shared libraries
libtool: link: `smashtest' will be relinked during installation
gcc -fexceptions -I libatomic_ops/src -g -O2 -o .libs/smashtest tests/smash_test.o  ./.libs/libgc.sl -lpthread -lrt -Wl,+b -Wl,/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src/.libs:/home/drkirkby/sage-4.5.3.alpha2/local/lib
creating smashtest
depbase=`echo tests/huge_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; \
	if gcc -DPACKAGE_NAME=\""gc\"" -DPACKAGE_TARNAME=\""gc\"" -DPACKAGE_VERSION=\""7.1\"" -DPACKAGE_STRING=\""gc\ 7.1\"" -DPACKAGE_BUGREPORT=\""Hans.Boehm@hp.com\"" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 -DPACKAGE=\""gc\"" -DVERSION=\""7.1\"" -DGC_HPUX_THREADS=1 -D_POSIX_C_SOURCE=199506L -DTHREAD_LOCAL_ALLOC=1 -D_REENTRANT=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1  -I./include   -fexceptions -I libatomic_ops/src -g -O2 -MT tests/huge_test.o -MD -MP -MF ""$depbase.Tpo"" -c -o tests/huge_test.o tests/huge_test.c; \
	then mv -f ""$depbase.Tpo"" ""$depbase.Po""; else rm -f ""$depbase.Tpo""; exit 1; fi
/bin/sh ./libtool --tag=CC --mode=link gcc -fexceptions -I libatomic_ops/src -g -O2   -o hugetest  tests/huge_test.o ./libgc.la  
libtool: link: warning: this platform does not like uninstalled shared libraries
libtool: link: `hugetest' will be relinked during installation
gcc -fexceptions -I libatomic_ops/src -g -O2 -o .libs/hugetest tests/huge_test.o  ./.libs/libgc.sl -lpthread -lrt -Wl,+b -Wl,/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src/.libs:/home/drkirkby/sage-4.5.3.alpha2/local/lib
creating hugetest
depbase=`echo tests/thread_leak_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; \
	if gcc -DPACKAGE_NAME=\""gc\"" -DPACKAGE_TARNAME=\""gc\"" -DPACKAGE_VERSION=\""7.1\"" -DPACKAGE_STRING=\""gc\ 7.1\"" -DPACKAGE_BUGREPORT=\""Hans.Boehm@hp.com\"" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 -DPACKAGE=\""gc\"" -DVERSION=\""7.1\"" -DGC_HPUX_THREADS=1 -D_POSIX_C_SOURCE=199506L -DTHREAD_LOCAL_ALLOC=1 -D_REENTRANT=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1  -I./include   -fexceptions -I libatomic_ops/src -g -O2 -MT tests/thread_leak_test.o -MD -MP -MF ""$depbase.Tpo"" -c -o tests/thread_leak_test.o tests/thread_leak_test.c; \
	then mv -f ""$depbase.Tpo"" ""$depbase.Po""; else rm -f ""$depbase.Tpo""; exit 1; fi
/bin/sh ./libtool --tag=CC --mode=link gcc -fexceptions -I libatomic_ops/src -g -O2   -o threadleaktest  tests/thread_leak_test.o ./libgc.la  
libtool: link: warning: this platform does not like uninstalled shared libraries
libtool: link: `threadleaktest' will be relinked during installation
gcc -fexceptions -I libatomic_ops/src -g -O2 -o .libs/threadleaktest tests/thread_leak_test.o  ./.libs/libgc.sl -lpthread -lrt -Wl,+b -Wl,/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src/.libs:/home/drkirkby/sage-4.5.3.alpha2/local/lib
creating threadleaktest
make[4]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src'
make  check-TESTS
make[4]: Entering directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src'
pthread_default_stacksize_np failed.
/bin/sh[9]: 7458 Bus error(coredump)
FAIL: gctest
Leaked composite object at 400a0fd0 (tests/leak_test.c:19, sz=4, NORMAL)

PASS: leaktest
Final heap size is 262144
PASS: middletest
GC_check_heap_block: found smashed heap objects:
400a0ff8 in or near object at 400a0fd0(tests/smash_test.c:21, sz=40)
GC_check_heap_block: found smashed heap objects:
400fa4b8 in or near object at 400fa490(tests/smash_test.c:21, sz=40)
400a0ff8 in or near object at 400a0fd0(tests/smash_test.c:21, sz=40)
PASS: smashtest
GC Warning: Out of Memory!  Returning NIL!
GC Warning: Out of Memory!  Returning NIL!
GC Warning: Out of Memory!  Returning NIL!
PASS: hugetest
Leaked composite object at 400a2fe8 (tests/thread_leak_test.c:14, sz=4, NORMAL)

Leaked composite object at 400a2fd0 (tests/thread_leak_test.c:14, sz=4, NORMAL)

Leaked composite object at 400a2fe8 (tests/thread_leak_test.c:14, sz=4, NORMAL)

Leaked composite object at 400a2fd0 (tests/thread_leak_test.c:14, sz=4, NORMAL)

Leaked composite object at 400a2fe8 (tests/thread_leak_test.c:14, sz=4, NORMAL)

PASS: threadleaktest
==================================
1 of 6 tests failed
Please report to Hans.Boehm@hp.com
==================================
make[4]: *** [check-TESTS] Error 1
make[4]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/drkirkby/sage-4.5.3.alpha2/spkg/build/boehm_gc-7.1.p6/src'
An error occured while testing BoehmGC.
*************************************
Error testing package ** boehm_gc-7.1.p6 **
*************************************
sage: An error occurred while testing boehm_gc-7.1.p6
}}}",drkirkby
3,9820,text browsers can't log in,notebook,sage-5.10,defect,"jason, was",new,2010-08-27T04:44:35-07:00,2010-08-27T04:44:35-07:00,"In w3m, I can't log in to the Sage notebook because I can't click the ""Sign in"" button.  Is it a real form button?",jason
3,9824,improve desolve_system initial condition documentation,calculus,sage-5.10,defect,burcin,needs_work,2010-08-27T09:42:45-07:00,2011-06-14T08:29:09-07:00,"Edit: See comments for the actual issue.

----


desolve_system apparently ignores initial conditions.  Notice the identical results in the two calls in the following example.

{{{
sage: t = var('t')
sage: epsilon = var('epsilon')
sage: x1 = function('x1', t)
sage: x2 = function('x2', t)
sage: de1 = diff(x1,t) == epsilon
sage: de2 = diff(x2,t) == -2
sage: desolve_system([de1, de2], [x1, x2], ivar=t)
[x1(t) == epsilon*t + x1(0), x2(t) == -2*t + x2(0)]
sage: desolve_system([de1, de2], [x1, x2], ics=[1,1], ivar=t)
[x1(t) == epsilon*t + x1(0), x2(t) == -2*t + x2(0)] 
}}}
",rhinton
3,9825,desolve_system unable to interpret Maxima's temporary variables,calculus,sage-5.10,defect,burcin,new,2010-08-27T09:44:47-07:00,2012-11-30T06:01:31-08:00,"desolve_system sometimes generates a Maxima result that includes temporary variables that Sage does not parse correctly.

{{{
sage: t = var('t')
sage: x1 = function('x1', t)
sage: x2 = function('x2', t)
sage: de1 = (diff(x1,t) == -3*(x2^2-1))
sage: de2 = (diff(x2,t) == 1)
sage: desolve_system([de1, de2], [x1, x2], ivar=t)
...
TypeError: unable to make sense of Maxima expression 'x1(t)=ilt(-((3*laplace(x2(t)^2,t,?g1543)-x1(0))*?g1543-3)/?g1543^2,?g1543,t)' in Sage 
}}}
",rhinton
3,9827,Intermittent doctest failure in sage/interfaces/psage.py,interfaces,sage-5.10,defect,was,needs_review,2010-08-27T17:15:05-07:00,2013-04-05T06:27:25-07:00,"This happens sometimes:
{{{
#!python
sage -t --long devel/sage/sage/interfaces/psage.py
**********************************************************************
File ""devel/sage/sage/interfaces/psage.py"", line 37, in sage.interfaces.psage
Failed example:
    w       # long time, random output
Exception raised:
    Traceback (most recent call last):
      File ""/release/buildbot/sage/sage-1/sage_upgrade_4.8/build/sage-5.9.beta4/local/lib/python2.7/site-packages/sage/doctest/forker.py"", line 466, in _run
        self.execute(example, compiled, test.globs)
      File ""/release/buildbot/sage/sage-1/sage_upgrade_4.8/build/sage-5.9.beta4/local/lib/python2.7/site-packages/sage/doctest/forker.py"", line 825, in execute
        exec compiled in globs
      File ""<doctest sage.interfaces.psage[3]>"", line 1, in <module>
        w       # long time, random output
      File ""/release/buildbot/sage/sage-1/sage_upgrade_4.8/build/sage-5.9.beta4/local/lib/python2.7/site-packages/sage/misc/displayhook.py"", line 201, in __call__
        self.oldhook(obj)
      File ""/release/buildbot/sage/sage-1/sage_upgrade_4.8/build/sage-5.9.beta4/local/lib/python2.7/site-packages/sage/interfaces/interface.py"", line 880, in __repr__
        s =  s.replace(self._name, self.__dict__['__custom_name'])
    KeyError: '__custom_name'
**********************************************************************
}}}

See [http://groups.google.com/group/sage-release/browse_thread/thread/b2827cba9319bfed/14beffeda6842d4b#14beffeda6842d4b this reply] (and possible follow-ups) for batch-testing results for `psage.py`.

Distantly related: #1991.",mpatel
3,9831,Permutation(list) should check its input (?),combinatorics,sage-5.10,defect,sage-combinat,needs_work,2010-08-28T01:13:00-07:00,2011-12-30T17:55:18-08:00,"It seems that ``Permutation(list)`` requires that the elements of list are exactly 1, 2, ..., n, but this is not clearly documented. Other values of ``list`` are accepted without error and lead to strange behaviours later.

When ``list`` contains 0:
{{{
~$ ulimit -v 1048576 
~$ sage
----------------------------------------------------------------------
| Sage Version 4.5.1, Release Date: 2010-07-19                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: Permutation([1]).signature()
1
sage: Permutation([0]).signature()
-1
sage: Permutation([1,0]).signature()
-1
sage: Permutation([0,1]).signature()
---------------------------------------------------------------------------
MemoryError                               Traceback (most recent call last)

/home/marc/<ipython console> in <module>()

/data/sage-4.5.1/local/lib/python2.6/site-packages/sage/combinat/permutation.pyc in signature(p)
    739             -1
    740         """"""
--> 741         return (-1)**(len(p)-len(p.to_cycles()))
    742     
    743 

/data/sage-4.5.1/local/lib/python2.6/site-packages/sage/combinat/permutation.pyc in to_cycles(self, singletons)
    556             l[i], next = False, l[i]
    557             while next != cycleFirst:
--> 558                 cycle.append( next )
    559                 l[next - 1], next  = False, l[next - 1]
    560             #Add the cycle to the list of cycles

MemoryError:
}}}
With repeated elements:
{{{
sage: Permutation([1,1]).signature()
---------------------------------------------------------------------------
MemoryError                               Traceback (most recent call last)

/home/marc/<ipython console> in <module>()

/data/sage-4.5.1/local/lib/python2.6/site-packages/sage/combinat/permutation.pyc in signature(p)
    739             -1
    740         """"""
--> 741         return (-1)**(len(p)-len(p.to_cycles()))
    742     
    743 

/data/sage-4.5.1/local/lib/python2.6/site-packages/sage/combinat/permutation.pyc in to_cycles(self, singletons)
    556             l[i], next = False, l[i]
    557             while next != cycleFirst:
--> 558                 cycle.append( next )
    559                 l[next - 1], next  = False, l[next - 1]
    560             #Add the cycle to the list of cycles

MemoryError:
}}}
",mmezzarobba
3,9865,Unable to start singular because the command 'Singular -t --ticks-per-sec 1000' failed,interfaces,sage-5.10,defect,was,new,2010-09-07T00:08:54-07:00,2013-03-28T16:01:53-07:00,"Reported by Dan Drake on [http://groups.google.com/group/sage-devel/browse_thread/thread/23fd468a4d406389/56ad02c448380af9?#56ad02c448380af9 sage-devel] and [http://groups.google.com/group/sage-release/browse_thread/thread/a865f2fa728335c0/2fbf4ba1859e76bb#2fbf4ba1859e76bb sage-release]:
{{{
Two builds of 4.3.4 are not doctesting properly for me; both are failing
the doctest for free_module.py because Singular won't start. The
failures always end with ""TypeError: Unable to start singular because
the command 'Singular -t --ticks-per-sec 1000' failed.""

This happens on two virtual machines: one running Ubuntu Hardy, the
other running Ubuntu Lucid. I've tried rebuilding Singular, but it
didn't work in either case. I tried a couple of the doctests manually,
and they seemed to work, and I can start Singular using the above
command with no troubles.

I've built 4.3.4 on two different machines (not virtual machines) and
everything works fine. I'm attaching a log of the failed doctest. Any
ideas? 
}}}
Tracebacks:
{{{
#!python
sage -t  ""devel/sage/sage/modules/free_module.py""           
**********************************************************************
File ""/home/alex/sage-4.3.4/devel/sage/sage/modules/free_module.py"", line 2533:
    sage: W = M.submodule([x*B[0], 2*B[1]- x*B[2]]); W
Exception raised:
    Traceback (most recent call last):
      File ""/home/alex/sage-4.3.4/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/home/alex/sage-4.3.4/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/home/alex/sage-4.3.4/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_69[11]>"", line 1, in <module>
        W = M.submodule([x*B[Integer(0)], Integer(2)*B[Integer(1)]- x*B[Integer(2)]]); W###line 2533:
    sage: W = M.submodule([x*B[0], 2*B[1]- x*B[2]]); W
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 2545, in submodule
        V = self.span(gens, check=check, already_echelonized=already_echelonized)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 2461, in span
        self.ambient_module(), gens, check=check, already_echelonized=already_echelonized)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 5446, in __init__
        echelonize=True, already_echelonized=already_echelonized)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 4553, in __init__
        basis = self._echelonized_basis(ambient, basis)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 4666, in _echelonized_basis
        d = self._denominator(basis)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 4774, in _denominator
        d = sage.rings.integer.Integer(B[0].denominator())
      File ""free_module_element.pyx"", line 958, in sage.modules.free_module_element.FreeModuleElement.denominator (sage/modules/free_module_element.c:8071)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 343, in lcm
        return lcm_func(self, singular, have_ring)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 451, in lcm_func
        lcm = self._singular_(have_ring=have_ring).lcm(right._singular_(have_ring=have_ring))
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 339, in _singular_
        return _singular_func(self, singular, have_ring)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 383, in _singular_func
        self.parent()._singular_(singular).set_ring() #this is expensive
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 196, in _singular_
        return self._singular_init_(singular)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 241, in _singular_init_
        self.__singular = singular.ring(self.characteristic(), _vars, order=order, check=False)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/interfaces/singular.py"", line 897, in ring
        R = self('%s,%s,%s'%(char, vars, order), 'ring')
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/interfaces/singular.py"", line 660, in __call__
        return SingularElement(self, type, x, False)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/interfaces/singular.py"", line 1109, in __init__
        raise TypeError, x
    TypeError: Unable to start singular because the command 'Singular -t --ticks-per-sec 1000' failed.

**********************************************************************
File ""/home/alex/sage-4.3.4/devel/sage/sage/modules/free_module.py"", line 2538:
    sage: W.ambient_module()
Expected:
    Ambient free module of rank 3 over the principal ideal domain Univariate Polynomial Ring in x over Rational Field
Got:
    Ambient free module of rank 3 over the principal ideal domain Integer Ring
**********************************************************************
File ""/home/alex/sage-4.3.4/devel/sage/sage/modules/free_module.py"", line 2681:
    sage: W = M.submodule_with_basis([x*B[0], 2*B[0]- x*B[2]]); W
Exception raised:
    Traceback (most recent call last):
      File ""/home/alex/sage-4.3.4/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/home/alex/sage-4.3.4/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/home/alex/sage-4.3.4/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_71[15]>"", line 1, in <module>
        W = M.submodule_with_basis([x*B[Integer(0)], Integer(2)*B[Integer(0)]- x*B[Integer(2)]]); W###line 2681:
    sage: W = M.submodule_with_basis([x*B[0], 2*B[0]- x*B[2]]); W
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 2687, in submodule_with_basis
        V = self.span_of_basis(basis=basis, check=check, already_echelonized=already_echelonized)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 2602, in span_of_basis
        already_echelonized=already_echelonized)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 4577, in __init__
        w = self._echelonized_basis(ambient, basis)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 4666, in _echelonized_basis
        d = self._denominator(basis)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/modules/free_module.py"", line 4774, in _denominator
        d = sage.rings.integer.Integer(B[0].denominator())
      File ""free_module_element.pyx"", line 958, in sage.modules.free_module_element.FreeModuleElement.denominator (sage/modules/free_module_element.c:8071)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 343, in lcm
        return lcm_func(self, singular, have_ring)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 451, in lcm_func
        lcm = self._singular_(have_ring=have_ring).lcm(right._singular_(have_ring=have_ring))
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 339, in _singular_
        return _singular_func(self, singular, have_ring)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 383, in _singular_func
        self.parent()._singular_(singular).set_ring() #this is expensive
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 196, in _singular_
        return self._singular_init_(singular)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/rings/polynomial/polynomial_singular_interface.py"", line 241, in _singular_init_
        self.__singular = singular.ring(self.characteristic(), _vars, order=order, check=False)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/interfaces/singular.py"", line 897, in ring
        R = self('%s,%s,%s'%(char, vars, order), 'ring')
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/interfaces/singular.py"", line 660, in __call__
        return SingularElement(self, type, x, False)
      File ""/home/alex/sage-4.3.4/local/lib/python/site-packages/sage/interfaces/singular.py"", line 1109, in __init__
        raise TypeError, x
    TypeError: Unable to start singular because the command 'Singular -t --ticks-per-sec 1000' failed.

**********************************************************************
2 items had failures:
   2 of  13 in __main__.example_69
   1 of  16 in __main__.example_71
***Test Failed*** 3 failures.
For whitespace errors, see the file /home/alex/.sage//tmp/.doctest_free_module.py
	 [13.0 s]
}}}

Minh Nguyen reports seeing the same error a [http://gcc.gnu.org/wiki/CompileFarm GCC compile farm] Debian 5.0 machine (gcc100.fsffrance.org, AMD Opteron(tm) Processor 252 @ 2647.708 MHz) with a trial ""final"" 4.5.3 (essentially the same as 4.5.3.rc0).  [http://wiki.sagemath.org/devel/BuildFarm/sage-4.5.3?action=AttachFile&do=get&target=gcc100.fsffrance.log.bz2 Here] is the test log.",mpatel
3,9874,add a function for the derivative of ceil and floor,symbolics,sage-5.10,defect,burcin,new,2010-09-08T04:41:23-07:00,2012-01-12T06:48:25-08:00,"We should define a new symbolic function for the derivative of `ceil` or `floor`. 

In Maple:

{{{
> diff(floor(x),x);
                                  floor(1, x)
> diff(floor(x),x,x);
                                  floor(1, x)
> diff(ceil(x),x,x); 
                                  floor(1, x)
> eval(diff(ceil(x),x,x),x=1.5);
                                       0
> eval(diff(ceil(x),x,x),x=0);  
Error, (in floor) floor is not differentiable at integers
}}}",burcin
3,9875,"Can't upload from a notebook link, only from a .sws file",notebook,sage-5.10,defect,"jason, was",new,2010-09-08T08:12:26-07:00,2012-07-05T17:13:22-07:00,"Using the 'upload' dialogue in the notebook, where it says to put in a URL, currently it must be a link to a .sws file (which is said).  

But since the links in `/pub/` when you click on Published are given in the form `http://www.sagenb.org/home/pub/2423`, you should really be able to just give this as a link instead of a .sws file, which requires the additional step of clicking on the link and then copying the 'Download' link for use in the 'upload' dialogue.  But this causes an error currently.

Alternately, creating a link directly to the .sws on each worksheet list (including `/pub/`) would be ok, but I think that's inferior and less elegant.",kcrisman
3,9880,Pynac comparison functions do not provide a SWO,symbolics,sage-5.10,defect,burcin,needs_review,2010-09-09T02:01:09-07:00,2013-05-23T05:46:25-07:00,"Here is a short example found by Burcin and reproducing the bug:

{{{
b = [var('b_%s'%i) for i in range(4)]

precomp = (2^b_2 + 2)*(2^b_1 + 2^(-b_1) + 2^b_1*2^b_0 - 2^b_1*2^(-b_0)
- 2^(-b_1)*2^b_0 - 2^(-b_1)*2^(-b_0) + 2^b_0 + 2^(-b_0) - 9) + (2^b_1 +
2^(-b_1) + 2^b_1*2^b_0 - 2^b_1*2^(-b_0) - 2^(-b_1)*2^b_0 -
2^(-b_1)*2^(-b_0) + 2^b_0 + 2^(-b_0) - 9)/2^b_2

repl_dict = {b_0: b_0, b_3: b_1, b_2: b_3, b_1: b_2}
P = precomp.substitute(repl_dict)
P.expand() 
}}}
This is already being discussed here: http://groups.google.com/group/sage-support/browse_thread/thread/7c85f02c76012722

The following patches are for the Sage library to enable access to the PyNaC order and randomly test that it is a SWO:

Install the (test) package from here: http://sage.math.washington.edu/home/burcin/pynac/pynac-0.3.0.spkg

Then apply 
  1. [attachment:trac_9880_pynac_order-sage_5_10_beta2.patch]
  1. [attachment:trac_9880_randomized_testing-sage_5_10_beta2.patch]
  1. [attachment:trac_9880-doctest_for_9046-sage_5_10_beta2.patch]
  1. [attachment:trac_9880-fix_doctests-sage_5_10_beta2.take2.patch]
  1. [attachment:trac_9880-add_doctests-sage_5_10_beta2.patch]

",jpflori
3,9887,slow coercion from integer ring to integer mod ring,performance,sage-5.10,defect,tbd,needs_info,2010-09-09T09:09:17-07:00,2013-02-24T20:38:03-08:00,"Sage 4.5.3, 2.6GHz Opteron, Linux

{{{
sage: R = Integers(3^20)
sage: u = Integer(2)
sage: timeit(""z = R(u)"")
625 loops, best of 3: 6.84 µs per loop
}}}

Why does it take 18000 cycles to convert a tiny integer to an element of R?
",dmharvey
3,9902,base_extend() not implemented in MPolynomialRing,commutative algebra,sage-5.10,defect,malb,needs_info,2010-09-12T04:15:06-07:00,2010-12-20T11:53:16-08:00,"The base `class Ring` defines `base_extend()`, but the implementation needs to be overridden in the derived class `MPolynomialRing`:
{{{
sage: sage: P.<x,y,z> = PolynomialRing(QQ,'x, y, z'); P
Multivariate Polynomial Ring in x, y, z over Rational Field
sage: P.base_extend(CC)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/vbraun/opt/sage-4.5.3/devel/sage-main/<ipython console> in <module>()

/home/vbraun/Sage/sage/local/lib/python2.6/site-packages/sage/rings/ring.so in sage.rings.ring.Ring.base_extend (sage/rings/ring.c:3190)()

TypeError: no base extension defined
}}}
The patch implements the override and adds documentation.",vbraun
3,9905,Spkg logs should get timestamps,build,sage-5.10,defect,GeorgSWeber,new,2010-09-13T13:49:39-07:00,2010-09-29T23:44:25-07:00,"Put timestamps into the spkg logs, both at the beginning and the end of each build run for the spkg in question.

This aids both in debugging problems with the build and with evaluating performance issues in the build.


See also: #7183, #7188, #8385",justin
3,9908,maxima sum returns hypergeometric function,symbolics,sage-5.10,defect,burcin,new,2010-09-14T03:31:28-07:00,2011-02-16T17:51:30-08:00,"The parsing of Maxima's output is not good enough to handle this:

{{{
var('n')
sum(((2*I)^n/(n^3+1)*(1/4)^n), n, 0, infinity)
}}}
gives an exception
{{{
TypeError: unable to make sense of Maxima expression 'f[4,3]([1,1,-(sqrt(3)*I+1)/2,(sqrt(3)*I-1)/2],[2,-(sqrt(3)*I-1)/2,(sqrt(3)*I+1)/2],I/2)' in Sage
}}}
which is - i think - a f_43 hypergeometric function.",schilly
3,9912,extraneous argument in deprecation in #7154,graphics,sage-5.10,defect,"jason, was",new,2010-09-15T06:47:29-07:00,2010-09-16T02:25:44-07:00,"In #7154, the rename_keyword deprecation decorator has an extra argument.  Right now, it's:

{{{
@rename_keyword(deprecated='Sage 4.6', deprecated_option='thickness', thickness='width') 
}}}

but should just be

{{{
@rename_keyword(deprecated='Sage 4.6', thickness='width') 
}}}

My bad for not catching this in the review stage.",jason
3,9914,Remove some libraries from Cython modules in module_list.py,build,sage-5.10,defect,leif,needs_info,2010-09-16T01:16:45-07:00,2013-03-07T06:25:52-08:00,"Many extension modules in {{{devel/sage/module_list.py}}} are linked against libraries they do not use, some at least not directly.

This ticket will only address the removal of ''some'' unnecessary libraries listed; there are most probably more.

----

Apply [attachment:trac_9914.patch]",leif
3,9927,non-squarefree Hecke operators on BrandtModule,modular forms,sage-5.10,defect,craigcitro,new,2010-09-16T18:19:51-07:00,2010-09-16T18:19:51-07:00,"This was reported by Nicolás Sirolli on sage-nt:


{{{BrandtModule}}} has a problem when calculating the n-th Hecke operator
when n is not squarefree, and is smaller than the prime where the
algebra ramifies.

For example, I get a ""not implemented"" error if I run this

{{{
sage: B=BrandtModule(13)
sage: B.hecke_matrix(4)
}}}

Gonzalo Tornaría told me that the 'direct' algorithm is not
implemented when n is not squarefree; hence I found that

{{{
sage: B.hecke_matrix(4,algorithm='brandt')
}}}

instead, there is no trouble. A workaround could be (I'm not sure
whether this is the best to do) changing line 852 of brandt.py,

{{{
if self.level().gcd(n) != 1:
}}}

for

{{{
if self.level().gcd(n) != 1 or is_squarefree(n)==False:
}}}

(and adding {{{is_squarefree}}} to the ""imports"" block).
",AlexGhitza
3,9929,polynomial ring over pAdics doesn't respect the sparse argument,algebra,sage-5.10,defect,AlexGhitza,new,2010-09-17T00:27:14-07:00,2010-10-04T07:24:48-07:00,"{{{
sage: R.<x> = PolynomialRing(Zp(17), sparse=True)
sage: x**(10**10)
Traceback (most recent call last)
...
MemoryError:
}}}

This should work (and be fast). The solution is probably in the file `polynomial_ring_constructor.py` in the function `single_variate`.",ylchapuy
3,9935,Make a symbolic mod function,symbolics,sage-5.10,defect,burcin,new,2010-09-17T13:17:56-07:00,2010-09-18T15:05:52-07:00,"A participant in the PREP program noticed that mod is not a symbolic function:

{{{
sage: mod(x,4)
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (4562, 0))

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (4530, 0))

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (842, 0))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/grout/sage-4.5.2/devel/sage-main/sage/functions/<ipython console> in <module>()

/home/grout/sage/local/lib/python2.6/site-packages/sage/rings/finite_rings/integer_mod.so in sage.rings.finite_rings.integer_mod.Mod (sage/rings/finite_rings/integer_mod.c:2633)()

/home/grout/sage/local/lib/python2.6/site-packages/sage/rings/finite_rings/integer_mod.so in sage.rings.finite_rings.integer_mod.IntegerMod (sage/rings/finite_rings/integer_mod.c:2952)()

/home/grout/sage/local/lib/python2.6/site-packages/sage/rings/finite_rings/integer_mod.so in sage.rings.finite_rings.integer_mod.IntegerMod_int.__init__ (sage/rings/finite_rings/integer_mod.c:14249)()

/home/grout/sage/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:6407)()

/home/grout/sage/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.NamedConvertMap._call_ (sage/structure/coerce_maps.c:4053)()

/home/grout/sage/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression._integer_ (sage/symbolic/expression.cpp:4026)()

TypeError: unable to convert x (=x) to an integer
}}}

Hopefully it should be easy to wrap mod in a symbolic function, something like:

{{{
sage: def eval_mod(self, x):
....:     if isinstance(x, (int, Integer)):
....:         return mod(x,5)
....:     return None
....:
sage: f=function('f', eval_func=eval_mod)
sage: f(x)
f(x)
sage: f(13)
3
sage: f(x^2+x+1)
f(x^2 + x + 1)
sage: f(x^2+x+1).subs(x=2)
2
sage: f(x^2+x+1).subs(x=3)
3
sage: f(x^2+x^3).subs(x=1)
2
sage: f(x^2+x^3).subs(x=2)
2
sage: f(x^2+x^3).subs(x=3)
1 
}}}",jason
3,9948,Conversion between p-adics and PARI/GP,interfaces,sage-5.10,defect,was,new,2010-09-19T04:02:53-07:00,2012-01-06T04:38:53-08:00,"{{{
sage: gp(pAdicField(5)(0))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/jdemeyer/<ipython console> in <module>()

/usr/local/src/sage-4.6.prealpha4/local/lib/python2.6/site-packages/sage/interfaces/expect.pyc in __call__(self, x, name)
   1032             return cls(self, x, name=name)
   1033         try:
-> 1034             return self._coerce_from_special_method(x)
   1035         except TypeError:
   1036             raise

/usr/local/src/sage-4.6.prealpha4/local/lib/python2.6/site-packages/sage/interfaces/expect.pyc in _coerce_from_special_method(self, x)
   1056             s = '_gp_'
   1057         try:
-> 1058             return (x.__getattribute__(s))(self)
   1059         except AttributeError:
   1060             return self(x._interface_init_())

/usr/local/src/sage-4.6.prealpha4/local/lib/python2.6/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.SageObject._gp_ (sage/structure/sage_object.c:4092)()

/usr/local/src/sage-4.6.prealpha4/local/lib/python2.6/site-packages/sage/structure/sage_object.so in sage.structure.sage_object.SageObject._interface_ (sage/structure/sage_object.c:3501)()

/usr/local/src/sage-4.6.prealpha4/local/lib/python2.6/site-packages/sage/interfaces/expect.pyc in __call__(self, x, name)
   1030
   1031         if isinstance(x, basestring):
-> 1032             return cls(self, x, name=name)
   1033         try:
   1034             return self._coerce_from_special_method(x)

/usr/local/src/sage-4.6.prealpha4/local/lib/python2.6/site-packages/sage/interfaces/expect.pyc in __init__(self, parent, value, is_name, name)
   1449             except (TypeError, KeyboardInterrupt, RuntimeError, ValueError), x:
   1450                 self._session_number = -1
-> 1451                 raise TypeError, x
   1452         self._session_number = parent._session_number
   1453

TypeError: Error executing code in GP/PARI:
CODE:
        sage[2]=0 + O(5^+Infinity);
GP/PARI ERROR:
  ***   at top-level: sage[2]=0+O(5^+Infinity)
  ***                                ^---------
  ***   gtos expected an integer, got 'Infinity'.
}}}",jdemeyer
3,9964,Document _pari_ and _pari_init_,documentation,sage-5.10,defect,mvngu,new,2010-09-21T14:12:48-07:00,2010-10-07T05:23:42-07:00,"Many Sage objects have {{{_pari_}}} and/or {{{_pari_init_}}} member functions. However, it is not at all documented how these are supposed to work. Reading the source code gives some hints, but leaves some things unexplained, for example:
 * what exactly is the interaction between {{{_pari_}}} and {{{_pari_init_}}}. Which of these two functions (or both) should be implemented?
 * Why is {{{_pari_init_}}} also used for the GP interpreter {{{Gp}}}?
 * Why must {{{_pari_init_}}} return a string? Is it only because it is also used for the GP interpreter or is there a deeper reason?

Note also that the patch at #9400 contains important changes to a {{{_pari_init_}}} function which are completely not understood by the author.",jdemeyer
3,9971,Build problem in boehm_gc found with randomised testing,build,sage-5.10,defect,GeorgSWeber,needs_info,2010-09-22T15:42:46-07:00,2010-09-22T23:49:50-07:00,"In an attempt to uncover race conditions in Makefiles, a shell script called ""gcc"" was written which calls the normal ""gcc"" after some random time interval. This was done in response to build problems in Singular (see #9946), were the source code of the file for generating the random delay can be found. 

When I tried to build the whole of Sage, there's a failure of boehm_gc-7.1.p6. 

Despite the package name, this would appear to be an unstable snapshot taken from CVS, as the latest stable release is 6.8 - see http://www.hpl.hp.com/personal/Hans_Boehm/gc/

Here's the build failure, though a full log is attached in the file {{{boehm_gc-7.1.p6.log.nfg.txt}}} 

I'll try the latest CVS and see if this is the latest version, but its difficult to report this upstream when we use a non-stable release. 

{{{
 gcc ""-DPACKAGE_NAME=\""gc\"""" ""-DPACKAGE_TARNAME=\""gc\"""" ""-DPACKAGE_VERSION=\""7.1\"""" ""-DPACKAGE_STRING=\""gc 7.1\"""" ""-DPACKAGE_BUGREPORT=\""Hans.Boehm@hp.com\"""" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 ""-DPACKAGE=\""gc\"""" ""-DVERSION=\""7.1\"""" -DGC_SOLARIS_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSOLARIS25_PROC_VDB_BUG_FIXED=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I./include -fexceptions -I libatomic_ops/src -g -O2 -MT finalize.lo -MD -MP -MF .deps/finalize.Tpo -c finalize.c  -fPIC -DPIC -o .libs/finalize.o
 gcc ""-DPACKAGE_NAME=\""gc\"""" ""-DPACKAGE_TARNAME=\""gc\"""" ""-DPACKAGE_VERSION=\""7.1\"""" ""-DPACKAGE_STRING=\""gc 7.1\"""" ""-DPACKAGE_BUGREPORT=\""Hans.Boehm@hp.com\"""" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 ""-DPACKAGE=\""gc\"""" ""-DVERSION=\""7.1\"""" -DGC_SOLARIS_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSOLARIS25_PROC_VDB_BUG_FIXED=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I./include -fexceptions -I libatomic_ops/src -g -O2 -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c dyn_load.c  -fPIC -DPIC -o .libs/dyn_load.o
 gcc ""-DPACKAGE_NAME=\""gc\"""" ""-DPACKAGE_TARNAME=\""gc\"""" ""-DPACKAGE_VERSION=\""7.1\"""" ""-DPACKAGE_STRING=\""gc 7.1\"""" ""-DPACKAGE_BUGREPORT=\""Hans.Boehm@hp.com\"""" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 ""-DPACKAGE=\""gc\"""" ""-DVERSION=\""7.1\"""" -DGC_SOLARIS_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSOLARIS25_PROC_VDB_BUG_FIXED=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I./include -fexceptions -I libatomic_ops/src -g -O2 -MT blacklst.lo -MD -MP -MF .deps/blacklst.Tpo -c blacklst.c  -fPIC -DPIC -o .libs/blacklst.o
 gcc ""-DPACKAGE_NAME=\""gc\"""" ""-DPACKAGE_TARNAME=\""gc\"""" ""-DPACKAGE_VERSION=\""7.1\"""" ""-DPACKAGE_STRING=\""gc 7.1\"""" ""-DPACKAGE_BUGREPORT=\""Hans.Boehm@hp.com\"""" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 ""-DPACKAGE=\""gc\"""" ""-DVERSION=\""7.1\"""" -DGC_SOLARIS_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSOLARIS25_PROC_VDB_BUG_FIXED=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I./include -fexceptions -I libatomic_ops/src -g -O2 -MT dbg_mlc.lo -MD -MP -MF .deps/dbg_mlc.Tpo -c dbg_mlc.c  -fPIC -DPIC -o .libs/dbg_mlc.o
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [dyn_load.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [alloc.lo] Error 1
make[3]: *** [mallocx.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [finalize.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [gcj_mlc.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [checksums.lo] Error 1
make[3]: *** [allchblk.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [headers.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [gc_dlopen.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [dbg_mlc.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [blacklst.lo] Error 1
gcc: 7.1"": No such file or directory
<command-line>:0:16: warning: missing terminating "" character
make[3]: *** [malloc.lo] Error 1
make[3]: Leaving directory `/export/home/drkirkby/slow/sage-4.6.alpha1/spkg/build/boehm_gc-7.1.p6/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/export/home/drkirkby/slow/sage-4.6.alpha1/spkg/build/boehm_gc-7.1.p6/src'
Error building BoehmGC.

real	8m38.373s
user	0m4.844s
sys	0m5.826s
sage: An error occurred while installing boehm_gc-7.1.p6
}}}


 
",drkirkby
3,9982,Allow plotting more complex points,graphics,sage-5.10,defect,"jason, was",new,2010-09-23T11:21:33-07:00,2013-05-24T13:48:53-07:00,"See #4838 and #8082 for the first addition of this.  Unfortunately, it only supports things like `CC`:

{{{
sage: point([CC(1.00000000000000 + 0.500000000000000*I)]) # works
sage: point([1.00000000000000 + 0.500000000000000*I]) # nope
}}}

A little experimentation suggests that Python complexes also aren't supported.  Fixing this should also allow plotting `line`s in the complex plane pretty easily.

Also
{{{
sage: list_plot([1, I]) # works
sage: point([1, I]) # does not work
sage: point([I, 1]) # does not work
sage: point([CC(I), CC(1)]) # works
}}}
I'm labeling this a defect rather than enhancement because it would be confusing not to have both.",kcrisman
3,9995,Python reports compiler is broken on AIX 5.3,porting: AIX or HP-UX,sage-5.10,defect,drkirkby,new,2010-09-23T18:32:37-07:00,2010-10-06T00:21:57-07:00," == Hardware and software ==
 * IBM [http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.pseries.doc/hardware_docs/rs6000_7025f50series.htm RS/6000 7025 F50]
 * 4 x 332 MHz 32-bit PowerPC CPUs
 * 3 GB RAM
 * A fairly wide mixture of disks sizes (3 x 9 GB, 1 x 18 GB, 2 x 36 GB and 1 x 73 GB)
 * DDS-4 tape drive 
 * AIX 5.3 (A POSIX certified operating system)
 * gcc 4.2.4 downloaded from [http://pware.hvcc.edu/ pware]
 * sage-4.6.alpha1 (which has python-2.6.4.p9)

== The problem ==

Python believe the compiler is broken, but it looks to me as if it is searching for an IBM compiler, not gcc. This is based on the contents of config.log, which are attached. 

{{{
Warning: Attempted to overwrite SAGE_ROOT environment variable
python-2.6.4.p9
Machine:
AIX aixbox 3 5 000245984C00
Deleting directories from past builds of previous/current versions of python-2.6.4.p9
Extracting package /home/users/drkirkby/sage-4.6.alpha1/spkg/standard/python-2.6.4.p9.spkg ...
-rw-r--r--   1 drkirkby staff      11790083 25 Jul 22:53 /home/users/drkirkby/sage-4.6.alpha1/spkg/standard/python-2.6.4.p9.spkg
Warning: Attempted to overwrite SAGE_ROOT environment variable
python-2.6.4.p9
Machine:
AIX aixbox 3 5 000245984C00
Deleting directories from past builds of previous/current versions of python-2.6.4.p9
Extracting package /home/users/drkirkby/sage-4.6.alpha1/spkg/standard/python-2.6.4.p9.spkg ...
-rw-r--r--   1 drkirkby staff      11790083 25 Jul 22:53 /home/users/drkirkby/sage-4.6.alpha1/spkg/standard/python-2.6.4.p9.spkg
python-2.6.4.p9/
python-2.6.4.p9/SPKG.txt
python-2.6.4.p9/spkg-install
python-2.6.4.p9/.hg/
python-2.6.4.p9/.hg/undo.dirstate

<snip>

python-2.6.4.p9/src/Modules/almodule.c
python-2.6.4.p9/.hgignore
Finished extraction
****************************************************
Host system
uname -a:
AIX aixbox 3 5 000245984C00
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: ../stage/gcc-4.2.4/configure --disable-shared --enable-threads=posix --prefix=/opt/pware --with-long-double-128 --with-mpf
r=/opt/pware --with-gmp=/opt/pware
Thread model: aix
gcc version 4.2.4
****************************************************
checking for --with-universal-archs... 32-bit
checking MACHDEP... aix5
checking EXTRAPLATDIR... 
checking machine type as reported by uname -m... 000245984C00
checking for --without-gcc... 
checking for gcc... cc_r
checking for C compiler default output file name... 
configure: error: C compiler cannot create executables
See `config.log' for more details.
Error configuring Python.

real	0m6.032s
user	0m2.699s
sys	0m1.432s
sage: An error occurred while installing python-2.6.4.p9
}}}

I'll test this with the latest Python and see if it works any better. ",drkirkby
3,10017,reduced_basis for number field multiples wrong,number fields,sage-5.10,defect,davidloeffler,new,2010-09-26T03:24:30-07:00,2010-09-26T23:27:07-07:00,"This was reported by the ""report a problem"" link:

The reduced_basis for number fields applies LLL to basis of the maximal order in order to get a reduced basis. The problem is that after applying LLL, it multiples the transformation matrix by the vector [1,a,a^2,...], where 'a' is generator of the field - instead of using the vector it actually used for the maximal order.

How to reproduce:
{{{
x = QQ['x'].0
k = NumberField(x^6 + 2218926655879913714112*x^4 - \
32507675650290949030789018433536*x^3 + \
4923635504174417014460581055002374467948544*x^2 - \
36066074010564497464129951249279114076897746988630016*x + \
264187244046129768986806800244258952598300346857154900812365824,'a')
new_basis = k.reduced_basis()
print new_basis[0].minpoly()
}}}
This prints a crazy big polynomial. Looking a bit at what is returned it is clear that reduced_basis is multiplying the transformation matrix by the wrong vector.

To solve you just need to multiply by the vector of generators of the maximal order:
{{{
mp = pari( k.Minkowski_embedding(k.maximal_order().gens(), prec=120) )
ml = sage.libs.pari.gen.gen.qflll(mp)
T = matrix([[ZZ(y) for y in list(x)] for x in list(ml)]).transpose()
r = Matrix(O.gens())* T
for rr in r[0]:
print rr.minpoly()
}}}
This works fine.",schilly
3,10046,Polyhedron's incidence_matrix performs poorly on some numerical input,geometry,sage-5.10,defect,mhampton,needs_work,2010-10-01T06:26:10-07:00,2010-10-01T14:38:03-07:00,"The following 3D simplex shouldn't be all that challenging, but we don't handle it well:

{{{
test = Polyhedron(vertices=[[0.8333333333, 0.8333333333, 0.8333333333], [1.022799569, 0.6321252838, 0.0], [0.7354697967, 0.280924808, 0.4545456098], [1.348361678, 0.0, 0.5150289612]], field=RDF)

test.facial_incidences()
[[0, [0, 1, 3]], [1, [1, 2, 3]], [2, []], [3, [0, 1, 2]]]
}}}

The root of this seems to be in how the incidence_matrix is based on the is_zero method:
{{{
H = list(test.Hrep_generator())[2]
print H
for V in test.Vrep_generator():
    if test._is_zero(H*V):
        test._incidence_matrix[V.index(),H.index()] = 1
    else:
        print H*V, ' for vertex ', V.vector()

An inequality (848702.5784, 1373226.161, -2221927.54) x + -1.0 >= 0
-0.000499999849126  for vertex  (0.8333333333, 0.8333333333, 0.8333333333)
1736102.60814  for vertex  (1.022799569, 0.6321252838, 0.0)
-0.000186597928405  for vertex  (0.7354697967, 0.280924808, 0.4545456098)
-5.35207800567e-05  for vertex  (1.348361678, 0.0, 0.5150289612)
}}}

and in the _init_field method of Polyhedron:
{{{
# 1e-6 is the cddf+ default fuzzy zero cutoff
            self._is_zero = lambda x: abs(x)<=1e-6
}}}

I realize that there will always be some problems like this for numerical (i.e. inexact) polyhedra, but it seems pretty sad that we can't handle a nice, reasonably sized simplex in 3D.  The only thing that immediately occurs to me is to either change how the inequalities are scaled or do something more complicated than the current _is_zero.


",mhampton
3,10058,Segfault in backward and inverse FFT for 2**n elements,numerical,sage-5.10,defect,"jason, jkantor",needs_review,2010-10-02T14:13:11-07:00,2013-03-30T20:39:57-07:00,"Sage crashes when asked to do a backward or inverse FFT for sizes that are powers of two:
{{{
sage: a = FFT(5)
sage: a[1] = 2
sage: a.forward_transform()
sage: a.backward_transform()
sage: a = FFT(4)
sage: a[1] = 2
sage: a.forward_transform()
sage: a.backward_transform()


------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occurred in Sage.
This probably occurred because a *compiled* component
of Sage has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate (sorry).
------------------------------------------------------------
}}}
This is with 4.6.alpha2.

Joal Heagney reported this problem on [http://groups.google.com/group/sage-devel/browse_thread/thread/7830e0c484a0f38d sage-devel].

Apply: trac_10058.2.patch, trac_10058_doc.patch",mpatel
3,10059,PIL on OS X: ImportError: The _imaging C module is not installed,packages: standard,sage-5.10,defect,tbd,new,2010-10-02T14:29:57-07:00,2012-03-05T19:59:14-08:00,"The Python Imaging Library's `_imaging` module is not installed on some OS X systems.  This causes doctest failures in `sage/plot/plot3d/base.pyx`:

{{{
#!python
sage -t  -long devel/sage/sage/plot/plot3d/base.pyx
**********************************************************************
File ""/Users/Sage/sage-4.6.alpha0/devel/sage-main/sage/plot/plot3d/base.pyx"", line 1160:
    sage: G.save(f)
Exception raised:
    Traceback (most recent call last):
      File ""/Users/Sage/sage-4.6.alpha0/local/bin/ncadoctest.py"", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File ""/Users/Sage/sage-4.6.alpha0/local/bin/sagedoctest.py"", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File ""/Users/Sage/sage-4.6.alpha0/local/bin/ncadoctest.py"", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File ""<doctest __main__.example_35[4]>"", line 1, in <module>
        G.save(f)###line 1160:
    sage: G.save(f)
      File ""base.pyx"", line 1198, in sage.plot.plot3d.base.Graphics3d.save (sage/plot/plot3d/base.c:11722)
        Image.open(out_filename).save(filename)
      File ""/Users/Sage/sage-4.6.alpha0/local/lib/python2.6/site-packages/PIL/Image.py"", line 1372, in save
        self.load()
      File ""/Users/Sage/sage-4.6.alpha0/local/lib/python2.6/site-packages/PIL/ImageFile.py"", line 155, in load
        self.load_prepare()
      File ""/Users/Sage/sage-4.6.alpha0/local/lib/python2.6/site-packages/PIL/ImageFile.py"", line 223, in load_prepare
        self.im = Image.core.new(self.mode, self.size)
      File ""/Users/Sage/sage-4.6.alpha0/local/lib/python2.6/site-packages/PIL/Image.py"", line 36, in __getattr__
        raise ImportError(""The _imaging C module is not installed"")
    ImportError: The _imaging C module is not installed
[...]
}}}
See also: [http://groups.google.com/group/sage-devel/browse_thread/thread/bb883d9d9956d23e/334ba8ad6d65af7e?#334ba8ad6d65af7e sage-devel], [http://groups.google.com/group/sage-release/msg/fe720bce3f933171 sage-release].

Related tickets: #7344, #9864.",mpatel
3,10062,"With imag, sqrt and subs I get 0==1",calculus,sage-5.10,defect,burcin,needs_info,2010-10-03T07:38:15-07:00,2011-03-11T19:43:31-08:00,"I use Sage 4.5.3

{{{
var('m') ; y=sqrt(m^2-1)
y(m=0)         # =I, is right
imag(y)        # =.... feels right, arctan2(0,-1)=pi when m=0
imag(y(m=0))   # =1, is right
(imag(y))(m=0) # is 0 and I don't understand why ! 
}}}",fmaltey
3,10073,held variables aren't restored,symbolics,sage-5.10,defect,burcin,new,2010-10-05T06:52:47-07:00,2010-10-06T08:19:49-07:00,"See #9879, where this was discovered.  After #9901 is merged, this will be possible:
{{{
sage: I.log(hold=True).simplify()
1/2*I*pi
sage: var('I')
I
sage: I.log(hold=True).simplify()
log(I)
sage: restore('I')
sage: I.log(hold=True).simplify()
log(I)
}}}
It's totally unclear to me why this is happening.  It even happens across different classes in doctesting.  For now I'm putting this under symbolics, but it may be unrelated to that, and instead related to the miscellaneous commands.",kcrisman
3,10083,Python fails to build the 'math' module on AIX 5.3 - plus several other modules,porting: AIX or HP-UX,sage-5.10,defect,drkirkby,new,2010-10-06T00:30:59-07:00,2010-10-06T00:55:36-07:00,"== Hardware and software ==
 * IBM [http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.pseries.doc/hardware_docs/rs6000_7025f50series.htm RS/6000 7025 F50]
 * 4 x 332 MHz 32-bit PowerPC CPUs
 * 3 GB RAM
 * A fairly wide mixture of disks sizes (3 x 9 GB, 1 x 18 GB, 1 x 36 GB and 1 x 73 GB)
 * DDS-4 tape drive 
 * AIX 5.3 (A POSIX certified operating system)
 * gcc 4.2.4 downloaded from [http://pware.hvcc.edu/ pware]
 * sage-4.6.alpha1 with a patched python package to get around #9995

== The problem ==

As reported at #9995, the python package initially failed to build at all, as Python's configure script thought the compiler was broken. Once that was sorted out, Python built, but failed to install due to this error:


{{{
Sleeping for three seconds before testing python
Traceback (most recent call last):
  File ""<string>"", line 1, in <module>
ImportError: No module named math
math module failed to import

real    37m23.968s
user    34m46.809s
sys     6m19.683s
sage: An error occurred while installing python-2.6.4.p10
}}}

When I look at build log for Python (attached), I see a rather large number of modules actually failed to build, so {{{math}}} is not the only one, but it is one which causes Sage to fail to build. 

{{{
Failed to find the necessary bits to build these modules:
_bsddb             _curses_panel      _hashlib
_ssl               bsddb185           gdbm
linuxaudiodev      ossaudiodev        spwd
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Failed to build these modules:
_bisect            _bytesio           _codecs_cn
_codecs_hk         _codecs_iso2022    _codecs_jp
_codecs_kr         _codecs_tw         _collections
_csv               _ctypes            _ctypes_test
_curses            _elementtree       _fileio
_functools         _heapq             _hotshot
_json              _locale            _lsprof
_md5               _multibytecodec    _multiprocessing
_random            _sha               _sha256
_sha512            _socket            _sqlite3
_struct            _testcapi          _tkinter
_weakref           array              audioop
binascii           bz2                cmath
cPickle            crypt              cStringIO
datetime           dbm                dl
fcntl              future_builtins    grp
imageop            itertools          math
mmap               nis                operator
parser             pyexpat            readline
resource           select             strop
syslog             termios            time
unicodedata        zlib
}}}

Strangely enough, despite these modules not building, a large number of packages in Sage that require python would actually build on AIX. 

Since AIX is low on the priority list, I will not spend much time on this yet, until the 64-bit Solaris and !OpenSolaris ports are complete. 

I will investigate this more later, and report any problems upstream if they are needed. It might be something quite simple that's causing a lot of modules to fail to build on AIX.  
",drkirkby
3,10084,Lazy power series are created with incorrect order,combinatorics,sage-5.10,defect,sage-combinat,needs_work,2010-10-06T05:26:23-07:00,2012-08-10T18:20:17-07:00,"Reported by the ""Report a Problem"" Form:

When typing the following:

{{{
S = LazyPowerSeriesRing(ZZ)
one = S(0) + S(1)
one.order
}}}

I get a ""Infinite series order"" message. When asking for
{{{
one.coefficients(3)
}}}
I get ""[0, 0, 0]"".

Looking into the code sage/combinat/species/series.py, the _add_ method calls the _new method to create the sum series. Trying:
{{{
zero = S(0)
test_series = zero._new(lambda ao: Stream(const=1), lambda: 0)
test_series.order
test_series.coefficients(3)
}}}
I again get ""Infinite series order"" and ""[0, 0, 0]"".

As I understand it, the _new() method calls the __init__() method of !LazyPowerSeries in the line:
{{{
new_fps = self.__class__(parent, stream=None, order=unk, aorder=self.aorder, aorder_changed=True, is_initialized=False)
}}}
If the value self.aorder is inf, this puts new_fps.aorder to inf, which (in the __init__() code), also puts new_fps.order to inf, which makes Sage think that the series has infinite order.

Changing the argument aorder=self.aorder to aorder=unk in the above line solved the problem.
The sum of S(0) and S(1) should have order zero, and its first three coefficients should be [1, 0, 0].

The series test_series should also have order zero, and its coefficients should be [1, 1, 1].
",schilly
3,10085,The gen() method for power series over power series works incorrectly,combinatorics,sage-5.10,defect,sage-combinat,new,2010-10-06T05:27:36-07:00,2010-10-16T14:16:09-07:00,"If I type the following:
{{{
S1 = LazyPowerSeriesRing(ZZ)
S2 = LazyPowerSeriesRing(S1)
y = S2.gen()
y.coefficient(1) == 1
}}}
I get True, and
{{{
y.coefficient(1).coefficient(0)
}}}
gets me the ""'int' object has no attribute 'coefficient'"" error message.

I solved the problem by changing the following line in the gen() method:
{{{
res = self._new_initial(1, Stream([0,1,0]))
}}}
by
{{{
res = self.term(1, 1)
}}}

The coefficient of order 1 in the series y should not be the integer 1, but the power series [1, 0, ...] in S1.	",schilly
3,10086,Coercion works incorrectly for power series over power series,combinatorics,sage-5.10,defect,sage-combinat,new,2010-10-06T05:29:24-07:00,2010-10-16T14:15:35-07:00,"This was reported via the ""Report a Problem"" link:

When I try the following:
{{{
S1 = LazyPowerSeriesRing(ZZ)
S2 = LazyPowerSeriesRing(S1)

t = S1.term(1, 1) # same results with t = S1.gen()
tt = S2(t)
tt.coefficient(0)
}}}
this yields 0. Trying
{{{
tt.aorder
}}}
I get 1.

The series tt is the series with constant term equal to t, so its order should be zero and its 0th coefficient should be t.	",schilly
3,10108,"Calling mwrank(-10) hangs Sage, but uses very little CPU time",elliptic curves,sage-5.10,defect,cremona,needs_work,2010-10-09T12:53:29-07:00,2010-10-23T14:50:37-07:00,"Following some very quick hacks at using ""fuzz testing"" techniques, I found that

{{{
sage: mwrank(-10)
}}}

just hangs, but does not appear to be using any CPU time. Although I don't know what this is supposed to do, from discussions on sage-devel, I understand my suspicions this behavior is an error were correct. 

Can someone please select the component appropriately, as I don't have a clue myself. 
",drkirkby
3,10116,norm method does not work for sparse matrices,linear algebra,sage-5.10,defect,"jason, was",new,2010-10-10T10:03:57-07:00,2012-06-01T10:52:01-07:00,"{{{
sage: M = matrix(ZZ,4,4,sparse=True) 
sage: M.norm() 
Traceback (click to the left of this block for traceback) 
... 
AttributeError: 
'sage.matrix.matrix_generic_sparse.Matrix_generic_sparse' object has 
no 
attribute 'SVD' 
sage: M.norm(1) 
Traceback (click to the left of this block for traceback) 
... 
TypeError: base_ring (=Category of objects) must be a ring 
and similarly for any other argument to norm. 
When I do 
sage: M.base_ring() 
Integer Ring 
But if I do 
sage: M = matrix(ZZ,4,4) # without sparse=True 
everything works ok 
}}}
",victor
3,10133,"Make sin(0), log(1), cos(0), and similar expressions return Sage integers, not symbolic expressions or Python ints",symbolics,sage-5.10,defect,burcin,new,2010-10-15T12:19:44-07:00,2012-10-31T05:14:48-07:00,"From [http://groups.google.com/group/sage-devel/browse_thread/thread/cceabb7271022b1c/944c94af910269a0 this thread]:
{{{
> > sage: type(log(1))
> > <type 'int'>
> > sage: log(1).n()
> > ---------------------------------------------------------------------------
> > AttributeError: 'int' object has no attribute 'n'
> > sage: Integer(log(1)).n()
> > 0.000000000000000
> > sage: a = Integer(1)
> > sage: a.log()
> > 0
> > sage: type(a.log())
> > <type 'int'>
> > sage: from sage.functions.log import function_log
> > sage: function_log(Integer(1))
> > 0
> > sage: type(function_log(Integer(1)))
> > <type 'int'>
> 
> > Is there any way to get around this in the code, or are we pretty much
> > stuck with this because of how GinacFunctions work?  I'm not 100% sure
> > this is a bug in log; maybe instead we should extend int so that
> 
> This is a bug in the log() function, and any other function which
> returns exact values like 0 or 1. We already work around most cases,
> see lines 720-722 and 736-761 of sage/symbolic/function.pyx.
> 
> The correct fix is to change the corresponding pynac functions to
> coerce the exact value to the parent of the argument before returning
> it. For example, all the lines ""return _ex1;"" or ""return _ex0;"" in
> 
> http://pynac.sagemath.org/hg/file/b233d9dadcfa/ginac/inifcns_trans.cpp
> 
> has to be changed this way.
> 

Yup, I see what you are talking about - e.g. 

		if (x.is_equal(_ex1))  // log(1) -> 0
			return _ex0;

Although it might be nice to stay relatively close to Ginac and fix such things on the Sage level if that's not really bad.
}}}
This ticket's goal is to implement one of these solutions (that is, catch this in function.pyx or in Pynac).

We might as well also deal with {{{sin(0), tan(0), sin(pi)}}} from #10972 here as well, otherwise that really wasn't a duplicate.",kcrisman
3,10136,`log(x).operator() == log` should return `True`,symbolics,sage-5.10,defect,burcin,new,2010-10-16T12:06:12-07:00,2010-10-16T12:06:12-07:00,"Reported by Francois Maltey on sage-devel:

{{{
> log(x).operator() == ln # is True, yes the alias ln is better than
> the log name
> log(x).operator() == log # is False (this feature looks like the 
> binomial one)
> log(x).operator() == sage.function.log.function_log # is True
}}}

We should define a `__call__()` method in the `Function_log` class from `sage/functions/log.py`, to handle the base argument. Then `ln()` and  `log()` can be the same function and `log(x).operator() == log` will return `True`.
",burcin
3,10147,Inconsistent behaviour of p.roots(ring=CC) for p(x) in QQ['y']['x'] (incl. crashing),algebra,sage-5.10,defect,AlexGhitza,new,2010-10-20T11:55:44-07:00,2010-10-20T19:54:31-07:00,"`p.roots(ring=CC)` where `p` is an element `QQ['y']['x']` whose coefficient do not depend on `y` leads to several different errors depending on the value of p.  I guess there are in fact several distinct issues.  The final crash might be related to #9826.

{{{
~$ sage
----------------------------------------------------------------------
| Sage Version 4.5.3, Release Date: 2010-09-04                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: R.<x> = QQ['y'][]
sage: (-x+1).roots(ring=CC)
[(1.00000000000000, 1)]
sage: (-1/2*x+1).roots(ring=CC)
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (19469, 0))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/marc/<ipython console> in <module>()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.roots (sage/rings/polynomial/polynomial_element.c:31226)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.change_ring (sage/rings/polynomial/polynomial_element.c:16456)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:6407)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3108)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3010)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_ring.pyc in _element_constructor_(self, x, check, is_gen, construct, **kwds)
    311                 x = x.Polrev()
    312 
--> 313         return C(self, x, check, is_gen, construct=construct, **kwds)
    314 
    315     def is_integral_domain(self, proof = True):

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_real_mpfr_dense.so in sage.rings.polynomial.polynomial_real_mpfr_dense.PolynomialRealDense.__init__ (sage/rings/polynomial/polynomial_real_mpfr_dense.c:3609)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:6407)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3108)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3010)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/real_mpfr.so in sage.rings.real_mpfr.RealField_class._element_constructor_ (sage/rings/real_mpfr.c:5058)()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/real_mpfr.so in sage.rings.real_mpfr.RealNumber._set (sage/rings/real_mpfr.c:8767)()

TypeError: Unable to convert x (='-1/2') to real number.
sage: (-1/2*x+1/2).roots()
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)

/home/marc/<ipython console> in <module>()

/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.roots (sage/rings/polynomial/polynomial_element.c:31591)()

NotImplementedError: root finding for this polynomial not implemented
sage: (-1/2*x+1/2).roots(ring=CC)
*** glibc detected *** python: munmap_chunk(): invalid pointer: 0x0000000001208958 ***
======= Backtrace: =========
/lib/libc.so.6[0x3c38271ad6]
/home/marc/opt/sage-4.5.3/local/lib/libmpfr.so.1(mpfr_clear+0x45)[0x7fc911f80a45]
/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_real_mpfr_dense.so(+0x7867)[0x7fc90a74d867]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(+0xa241c)[0x7fc91e85841c]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyObject_Call+0x53)[0x7fc91e7fce13]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x3af3)[0x7fc91e89f973]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(+0x730df)[0x7fc91e8290df]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyObject_Call+0x53)[0x7fc91e7fce13]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(+0x5819f)[0x7fc91e80e19f]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyObject_Call+0x53)[0x7fc91e7fce13]
/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so(+0x12724)[0x7fc910609724]
/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/parent.so(+0x25ec2)[0x7fc9174a2ec2]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyObject_Call+0x53)[0x7fc91e7fce13]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(+0xaba8c)[0x7fc91e861a8c]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyObject_Call+0x53)[0x7fc91e7fce13]
/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so(+0xd3c2)[0x7fc90bc873c2]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyObject_Call+0x53)[0x7fc91e7fce13]
/home/marc/opt/sage-4.5.3/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so(+0xd191c)[0x7fc90bd4b91c]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5a8e)[0x7fc91e8a190e]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCode+0x32)[0x7fc91e8a2df2]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x6244)[0x7fc91e8a20c4]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5235)[0x7fc91e8a10b5]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5235)[0x7fc91e8a10b5]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5ab2)[0x7fc91e8a1932]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5235)[0x7fc91e8a10b5]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5235)[0x7fc91e8a10b5]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5235)[0x7fc91e8a10b5]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x8cd)[0x7fc91e8a2d1d]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyEval_EvalCode+0x32)[0x7fc91e8a2df2]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyRun_FileExFlags+0xb0)[0x7fc91e8c2c90]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(PyRun_SimpleFileExFlags+0xdc)[0x7fc91e8c2e5c]
/home/marc/opt/sage-4.5.3/local/lib/libpython2.6.so.1.0(Py_Main+0xb36)[0x7fc91e8d0186]
/lib/libc.so.6(__libc_start_main+0xfd)[0x3c3821ec4d]
python[0x400699]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:0a 1787644                            /home/marc/opt/sage-4.5.3/local/bin/python
00600000-00601000 rw-p 00000000 08:0a 1787644                            /home/marc/opt/sage-4.5.3/local/bin/python
00cb1000-05306000 rw-p 00000000 00:00 0                                  [heap]
32b2c00000-32b2c16000 r-xp 00000000 08:06 40741                          /lib/libgcc_s.so.1
32b2c16000-32b2e15000 ---p 00016000 08:06 40741                          /lib/libgcc_s.so.1
32b2e15000-32b2e16000 rw-p 00015000 08:06 40741                          /lib/libgcc_s.so.1
3c37e00000-3c37e1e000 r-xp 00000000 08:06 40724                          /lib/ld-2.11.2.so
3c3801d000-3c3801e000 r--p 0001d000 08:06 40724                          /lib/ld-2.11.2.so
3c3801e000-3c3801f000 rw-p 0001e000 08:06 40724                          /lib/ld-2.11.2.so
3c3801f000-3c38020000 rw-p 00000000 00:00 0 
3c38200000-3c38358000 r-xp 00000000 08:06 40737                          /lib/libc-2.11.2.so
3c38358000-3c38557000 ---p 00158000 08:06 40737                          /lib/libc-2.11.2.so
3c38557000-3c3855b000 r--p 00157000 08:06 40737                          /lib/libc-2.11.2.so
3c3855b000-3c3855c000 rw-p 0015b000 08:06 40737                          /lib/libc-2.11.2.so
3c3855c000-3c38561000 rw-p 00000000 00:00 0 
3c38600000-3c38680000 r-xp 00000000 08:06 40787                          /lib/libm-2.11.2.so
3c38680000-3c38880000 ---p 00080000 08:06 40787                          /lib/libm-2.11.2.so
3c38880000-3c38881000 r--p 00080000 08:06 40787                          /lib/libm-2.11.2.so
3c38881000-3c38882000 rw-p 00081000 08:06 40787                          /lib/libm-2.11.2.so
3c38a00000-3c38a02000 r-xp 00000000 08:06 40738                          /lib/libdl-2.11.2.so
3c38a02000-3c38c02000 ---p 00002000 08:06 40738                          /lib/libdl-2.11.2.so
3c38c02000-3c38c03000 r--p 00002000 08:06 40738                          /lib/libdl-2.11.2.so
3c38c03000-3c38c04000 rw-p 00003000 08:06 40738                          /lib/libdl-2.11.2.so
3c38e00000-3c38e17000 r-xp 00000000 08:06 40766                          /lib/libpthread-2.11.2.so
3c38e17000-3c39016000 ---p 00017000 08:06 40766                          /lib/libpthread-2.11.2.so
3c39016000-3c39017000 r--p 00016000 08:06 40766                          /lib/libpthread-2.11.2.so
3c39017000-3c39018000 rw-p 00017000 08:06 40766                          /lib/libpthread-2.11.2.so
3c39018000-3c3901c000 rw-p 00000000 00:00 0 
3c4ba00000-3c4ba08000 r-xp 00000000 08:06 40917                          /lib/libcrypt-2.11.2.so
3c4ba08000-3c4bc07000 ---p 00008000 08:06 40917                          /lib/libcrypt-2.11.2.so
3c4bc07000-3c4bc08000 r--p 00007000 08:06 40917                          /lib/libcrypt-2.11.2.so
3c4bc08000-3c4bc09000 rw-p 00008000 08:06 40917                          /lib/libcrypt-2.11.2.so
}}}

",mmezzarobba
3,10169,Operands and Operator of symbolic expressions,symbolics,sage-5.10,defect,burcin,new,2010-10-25T05:06:04-07:00,2010-10-25T05:10:03-07:00,"I think that for all symbolic expression {{{s}}} should hold
{{{
sage: s == s.operator()(*s.operands())
}}}

That currently does not work, for two reasons.

1. There may be no operator at all:
{{{
sage: print x.operator()
None
sage: x.operands()
[]
}}}
I believe there should instead be an identity operator.

2. The list of operands may be longer than what the operator accepts:
{{{
sage: s = 0.001*x^2+0.01*x+0.1*sin(1.01*x)+1
sage: s.operands()
[0.00100000000000000*x^2, 0.0100000000000000*x,
0.100000000000000*sin(1.01000000000000*x), 1]
sage: s.operator()(*s.operands())
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call
last)

/home/king/<ipython console> in <module>()