Hello folks, Sage 2.11 has been released on March 30th, 2008. It is available at http://sagemath.org/download.html * About Sage (http://www.sagemath.org) Sage is developed by volunteers and combines 71 open source packages. It is available for download from sagemath.org and its mirrors in source or binary form. If you have any questions and/or problems please report them to the google groups sage-devel or sage-support. You can also drop by in #sage-devel or #sage-support in freenode. --------------------------------------------------------------------- The following 31 people contributed code to this release: * Tim Abbott * Michael Abshoff * Martin Albrecht * Nick Alexander * Tom Boothby * Robert Bradshaw * Craig Citro * John Cremona * Dan Drake * Didier Deshommes * Burcin Erocal * Lars Fischer * Gary Furnish * Alex Ghitza * Jason Grout * Marshall Hampton * Carlo Hamalainen * Mike Hansen * Ryan Hinton * David Joyner * Michael Kallweit * Emily Kirkman * Robert Miller * Joel Mohler * R. Rishikesh * David Roe * William Stein * Jaap Spies * Justin Walker * Carl Witty * Yi Qiang Cheers, Michael Abshoff (release chair), William Stein * Major Features, New Spkgs and Bugfixes * ATLAS: Michael Abshoff and Burcin Erocal upgraded ATLAS to the 3.8.1 release. In addition tuning info for 32 bit Prescott CPUs as well as Powerbook G4s under Linux was added. * zn_poly: David Harvey's zn_poly library is now a standard package for Sage. zn_poly is a new C library for polynomial arithmetic in (Z/nZ)[x] where 3≤n≤ULONG_MAX (i.e. any machine-word-sized modulus). The main benefit is speed. The library is used so far only to compute the zeta function for hyperelliptic curves. * Small roots method for polynomials mod N (N composite): Martin Albrecht implemented Coppersmith's method for finding small roots of univariate polynomials modulo N where N is composite. * Generic Multivariate Polynomial Arithmetic: Joel Mohler improved the efficiency of the generic multivariate polynomial arithmetic in Sage by roughly a factor of ten. * k-Schur Functions and Non-symmetric Macdonald Polynomials: Mike Hansen: k-Schur functions s^(k)_\lambda are a relatively new family of symmetric functions which play a role in Z[h1,...,hk] as the Schur functions s_\lambda do in \Lambda. The k-Schur functions, amongst other things, provide a natural basis for the quantum cohomology of the Grassmannian. The k-Schur functions can be used like any other symmetric functions and are created with kSchurFunctions. Non-symmetric Macdonald polynomials in type A can now be accessed in Sage. The polynomials are computed from the main theorem in "A Combinatorial Formula for the Non-symmetric Macdonald Polynomials" by Haglun, Haiman, and Loehr. * Marshall Hampton did upgrade gfan as well as the optional phcpack spkgs and their interfaces. He also increased doctest coverage to 100% for both interfaces. * Improved capabilities for solving matrix equations: William Stein implemented code so that one can now solve matrix equations AX=B and XA=B whenever a solution exists. In particular, solving linear equations now works even if A is singular or nonsquare. * Generators for congruence subgroups: Robert Miller implemented an algorithm for very quickly computing generators for congruence subgroups \Gamma_0(N), \Gamma_1(N), and \Gamma_H(N). * Various other people fixed a number of bugs and did improve other bits of Sage. * Known Issues with 2.11: * None * Bug Statistics We closed 129 tickets. For details see http://trac.sagemath.org/sage_trac/milestone/sage-2.11 or check out the closed ticket section at the end of the announcement. * Upcoming Releases The next release will be 3.0, chaired by Michael Abshoff. The release is planned in about two weeks. Potential features include: * DOCTESTS: Raise the doctest coverage of the Sage library to 50%. * INTERACT: Interactive versions of functions in the notebook; kind of like Mathematica's Manipulate command. * R: a pexpect R interface * TIMING/BENCHMARK: Making it so doctesting Sage also saves complete timing and profiling information. Start using and publishing the results of this. * PORTING: OSX 10.5 64 bit, FreeBSD, PPC 64 bit build support out of the box. Experimental 32 bit Solaris 10 build support. * MODULAR ABELIAN VARIETIES: Implement Stein's algorithms for computing with modular abelian varieties. This is very symbolic, because Stein started the Sage project in the first place specifically to implement these algorithms. * Doctesting Coverage For 2.10.4 we had: Overall weighted coverage score: 47.6% Total number of functions: 18616 We increased coverage by 1.3% in 2.11 while adding 237 functions: Overall weighted coverage score: 48.9% Total number of functions: 18853 * Closed Tickets: Merged in final: #2736: Yi Qiang: fix for dsage doctest failures in sage-2.11.rc0 Merged in rc0: #1882: Marshall Hampton, Carl Witty: update optional phcpack.spkg to 2.3.39, mixed volume computation #1990: Carl Witty: ZZ.random_element() -- never returns 0 and typos/nonsense in docstrings #2173: Tim Abbott: SAGE setup.py should run cython as "python2.5 cython" and other debian fixes #2688: Emily Kirkman: Kuratowski subgraph isolator for planarity checking #2702: Martin Albrecht, Mike Hansen: get coverage of multi_polynomial_libsingular to almost 100% #2709: Nick Alexander: add a prime_above() function to NumberField_generic for finding prime ideals above other ideals #2714: Carl Witty: many interfaces have gp-specific code #2715: Mike Hansen: sage -coverage currently counts functions that are defined in doctests #2717: Carl Witty: maxima expect interface synchronization not sufficiently robust #2718: Michael Abshoff: increase the default doctest timeout to 360 seconds #2719: Robert Bradshaw: bitset is completely broken on OSX 10.4 G5 #2720: Michael Abshoff: Sage 2.11.alpha2: fix documentation build issues #2721: Gary Furnish: parallel doctest not robust against filesystem issues #2722: William Stein: interact -- a doctest problem #2723: Joel Mohler: coercion error in monomial_quotient #2725: Joel Mohler: MPolynomial_polydict doc-tests and some refactoring #2727: Tim Abbott: fix uninitialized cdef in multi_polynomial_libsingular.pyx Merged in alpha2: #1010: Marshall Hampton: upgrade gfan to version 0.3 #1618: Michael Abshoff: Make SCons ignore Intel ifort's linker options #1707: Carlo Hamalainen: add Carlo Hamalainen's latin square stuff to Sage #2276: Martin Albrecht: M.divides(N) gives an error if M and N are monomials in R. = PolynomialRing(QQ) #2355: Didier Deshommes, Gary Furnish: Write a clearer submatrix implementation #2415: Michael Abshoff: update NTL to 5.4.2 (bugfix release) #2417: Alex Ghitza: discriminant method sometimes returns values in the fraction field #2470: Yi Qiang: dsage docs in tutorial -- can't tex them #2498: Alex Ghitza: PARI's is_irreducible being used inappropriately #2565: Dan Drake: logging is extremely broken #2596: William Stein: Sage 2.11.alpha0: sage/plot/plot.py doctest failure #2597: Ryan Hinton: Add reduced adjacency matrix and a list file format support to BipartiteGraph #2600: Carl Witty: vector plot throws error when function contains a float #2609: Robert Miller: generators for congruence subgroups #2611: Martin Albrecht: add monomial_coefficent to boolean polynomials #2612: Robert Bradshaw: String to Integer Conversion #2614: Joel Mohler: MPolynomial coefficient/ polynomial_coefficient merging #2627: Robert Bradshaw: Integer(abs(gamma(n+1))) is not always equal to factorial(n) for n a positive integer #2634: Martin Albrecht: Unable to create certain multivariate polynomial rings since libsingular is invoked instead of generic code #2642: Martin Albrecht, Carl Witty: doctest failure in polynomial_modn_dense_ntl.pyx: .small_roots() #2645: Jason Grout: arrow3d is sometimes too long #2653: Robert Bradshaw: norm and trace of elements of orders are Rational not Integer #2657: Tim Abbott: Debian fplll cleanup #2660: Michael Abshoff: copy work around stdint.h on Solaris 9 #2661: Mike Hansen: sage cannot compute floor / ceil of log(8)/log(2) #2664: Nick Alexander: implement a symplectic form for finding symplectic bases #2668: Nick Alexander, Carl Witty: loads/dumps do not work with QQbar and AA #2672: Michael Abshoff: Fix OSX 10.5 detection code - it fails for the currect OSX 10.5.2 #2674: Craig Citro, Justin Walker: Bug in modforms #2676: Robert Miller: equitable partitions: two bugs #2677: Didier Deshommes: sage 2.11.alpha1: doctest failures in real_double_dense.pyx #2681: Alex Ghitza:improve doctest coverage in libs/pari/gen.pyx #2683: Mike Hansen: Add initial support of k-Schur functions #2685: Robert Miller: compute the girth of a graph #2689: Robert Miller: compute blocks and cut-vertices of a graph #2690: Emily Kirkman: add circular argument to genus command #2691: Robert Miller: generate digraphs #2692: William Stein: bug displaying list of published worksheets #2701: David Joyner: simple bug fixed for linear_codes #2706: Robert Bradshaw: Fast bitset implimentation #2707: Nick Alexander: clean and better document is_totally_real(), add is_totally_imaginary() to NumberField_generic #2708: Mike Hansen: add support for nonsymmetric Macdonald polynomials in type A via HHL formula #2712: Justin Walker: Add 'scalar_part()' and other methods for quaternion elements Merged in alpha1: #291: Joel Mohler: strange printing of -1 in multivariate polynomial rings #679: Gary Furnish: print statistics about the number of failed doctests and exact nature of failures #2287: Michael Abshoff: error installing rubiks related to location of install #2493: Jaap Spies: Updated experimental vtk spkg (vtk-5.0.4.spkg) #2495: Jaap Spies: Updated experimental Mayavi2 spkg (mayavi_2.1.1) linux only #2514: David Joyner, Robert Miller: additions to coding modules #2572: Carl Witty: imag() not defined for Algebraic Real Field #2586: Alex Ghitza, Michael Abshoff: latex products need to be space separated #2595: Michael Abshoff: rubiks and polymake both have a cube binary #2598: Martin Albrecht: allow ZZ element to be constructed from GF(2) list #2599: Mike Hansen: Permutation -> PermutationGroupElement fails for the identity #2613: Michael Kallweit: Moving all_paths() to GenericGraph #2618: Martin Albrecht: documentation for QuotientRingElement #2619: Martin Albrecht: Gröbner bases over quotient rings #2621: Gary Furnish: parallel doctest: concurrency problem when creating .doctest directories #2622: Martin Albrecht: add PolyBoRi to reference manual #2623: Michael Abshoff: fix repo consistency issue with sage/schemes/hyperelliptic_curves/hypellfrob/README #2626: Martin Albrecht: useless __list__ methods #2635: Tom Boothby: MAJOR NOTEBOOK BUG -- sending unevaluated cells back to the server is severly broken #2639: Carl Witty: ZZ(QQbar(0)) fails #2640: Michael Abshoff: add sage-edu to list of mailing lists #2644: Didier Deshommes: fix numerical noise doctest failures in matrix_real_double_dense #2647: Tim Abbott: Fixed Debian support for linbox #2648: William Stein: bug in octave version Merged in alpha0: #1567: David Harvey: Make zn_poly a standard package #1568: David Harvey: hypellfrob -- faster zeta functions for hyperelliptic curves #2108: Burcin Erocal, Michael Abshoff: Add Atlas Tuning information for 32 bit Pentium D CPUs under Linux #2148: Burcin Erocal: PolyBoRi monomial orders are wrong #2260: Michael Abshoff: Upgrade ATLAS to 3.8.1 #2262: Michael Abshoff: Move the debian directory from the sage to the ext repo #2368: Michael Abshoff: Add Atlas Tuning information for G4 Powerbook under Linux #2405: Joel Mohler: increase Polydict speed #2424: Martin Albrecht: small roots method for polynomials mod N (N composite) #2426: Michael Abshoff: inst.tex - update compiler and operating system support #2431: Marshall Hampton: fix optional polymake-2.2.p4.spkg #2437: Tom Boothby, Michael Abshoff: update eclib.spkg to eclib-20080304.p0 #2468: Didier Deshommes: inverting a non-invertible matrix over RDF returns weird results #2517: Jason Grout: ignore bad values in plot #2545: Burcin Erocal: FractionFieldElement lacks derivative method #2566: Robert Miller: fix all known bugs in graph_isom and binary_code #2571: John Cremona: problem with copy() on sage.rings.integer_mod.IntegerMod_gmp #2574: David Joyner: problem with Abelian groups and trivial elements #2576: William Stein: preserve docstrings of decorated methods in multi_polynomial_ideal.py #2579: R. Rishikesh: Inconsistency in integer quotient #2580: Robert Miller: Implement backends for graphs #2581: William Stein: extend solve_right to all cases; implement solve_left #2582: Robert Miller: fix bug in PermutationGroupElement #2583: Robert Miller: Sage 2.11.a0: doctest failure in plot.py due to #2580 #2584: Jason Grout, Mike Hansen: printing bug with list_function()) #2585: David Roe, Mike Hansen: padic bugfix for check=False in constructor #2587: Robert Miller: subgroup of a permutation group is so slow it's silly #2588: Nick Alexander: documentation and tests for sage.schemes.hyperelliptic_curves.jacobian_morphism #2593: Martin Albrecht: Sage chokes on utf-8 in .sage files #2594: Joel Mohler: MPolynomial_polydict __floordiv__ wrong arithmetic #2602: Jason Grout: plot_vector_field docs are unnecessarily complicated (and use the slow lambda functions!) #2610: Lars Fischer, Michael Abshoff: Website: add missing line for emacs config