Hello folks,
Sage 2.10.3 has been released on March 11th, 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, sage-support,
You can also drop by in #sage-devel or #sage-support infreenode.
We have closed the Google Groups sage-newbie and sage-forum so
that we can deal with support questions in sage-support only. We
decided to close those two groups since we had various inquiries
left unanswered due to people posting to the wrong group.
---------------------------------------------------------------------
The following 29 people contributed code to this release:
* Michael Abshoff
* Antti Ajanki
* Martin Albrecht
* Nick Alexander
* Jonathan Bober
* Tom Boothby
* Robert Bradshaw
* Craig Citro
* Timothy Clemans
* John Cremona
* Didier Deshommes
* Burcin Erocal
* Gary Furnish
* Alex Gitza
* Jason Grout
* Mike Hansen
* David Harvey
* David Joyner
* Simon King
* Emily Kirkman
* Robert Miller
* Bobby Moretti
* Clement Pernet
* Jaap Spies
* William Stein
* Chris Swierczewski
* John Voight
* Carl Witty
* Paul Zimmermann
Cheers,
Michael Abshoff (release chair), William Stein
* Major Features, New Spkgs and Bugfixes
* Interactive Functions: Sage now has a first version of
its "interact" command. Calling "@interact" before
defining a function will construct controls to
graphically control the input variables of the function,
making it dramatically easier to create interactive
functionality that is easy to use. See
http://wiki.sagemath.org/interact for details and
examples or just type "interact?" in Sage.
* Graph theory: Many of the results of Sage Days 7:
Combinatorics are included in this release, including
Schnyder's algorithm for producing straight-line drawings
of planar graphs in linear time (Jonathan Bober and Emily
Kirkman), and a new compiled backend for the base graph
structures (Robert Miller). This backend will be switched
into graphs proper in sage-2.10.4, and the basic functions,
such as add edge and has edge, will be sped up by at least
20 times in many cases, and often much more. In addition
most of graph.py was refactored and cleaned up, in
preparation for the switch.
* Plotting: The plot_vector_field function now takes
2-variable functions, allowing for much more complex
vector fields.
* Linear Algebra: Matrices now have a jordan_form method
which computes the Jordan canonical form.
* Unified derivative syntax: The derivative function now
accepts the same argument format across many different
data types, including symbolic objects, polynomials,
power series, and Laurent series.
* LinBox & Givaro updates: Clement Pernet did fix a large
number of issues in LinBox and Givaro in cooperation with
Michael Abshoff and we finally updated the code in Sage
to clean upstream code. While there are still issues left
we will do more work in that direction in 2.10.4 and 2.11.
* Known Issues with 2.10.3:
* None
* Bug Statistics
We closed 152 tickets. For details see
http://trac.sagemath.org/sage_trac/milestone/sage-2.10.3
or check out the closed ticket section at the end of the
announcement.
* Upcoming Releases
The next release will be 2.10.4, chaired by Robert Miller and
Michael Abshoff. The release is planned in about two weeks.
Potential features (which is also the goal for 3.0) include:
* 47% doctest coverage
* OSX 10.5 support in 64 bit mode [this will depend on fixing
a vexing segfault in libSingular and getting disutils to
play nice with numpy]
* Pexpect interace to R
* Doctesting Coverage
For 2.10.2 we had:
Overall weighted coverage score: 40.1%
Total number of functions: 18528
We increased coverage by 4.4% in 2.10.3 while adding 112 functions:
Overall weighted coverage score: 44.5%
Total number of functions: 18640
* Closed Tickets:
Merged in final:
#2435: Robert Bradshaw, Michael Abshoff: Fix memory leak
from #1337 workaround
#2453: William Stein: disable linbox minpoly and charpoly
mod p, since they are completely broken. Disabling
them removes "space.py segfaults".
#2471: William Stein: doctest failures in graph.py and
factorization.py (caused by architecture dependence))
Merged in rc5:
#2371: William Stein: tut.tex failures for 2.10.3.rc0
#2449: William Stein: interactive functionality for the notebook
#2463: Clement Pernet: Linbox static commentator make sage crash
on PPC
#2464: William Stein: slight change to coverage script to avoid
functions named "_"
#2465: William Stein: fix bug with phi(I) for I an ideal exposed
by groebner_fan.
#2466: William Stein: 2.10.3: doctest failure in const.tex
Merged in rc4:
#2340: Chris Swierczewski, John Cremona: Docstrings and doctests
for rings/ring.pyx
#2374: Gary Furnish: sage-ptest must run in $SAGE_ROOT
#2425: Jason Bandlow: In multipolynomials, the function jacob()
should be called gradient()
#2433: Robert Miller: Refactor graph code; prepare for backend
migration; miscellaneous small things from Waterloo
#2438: Martin Albrecht: get the reference manual to build again
#2439: Carl Witty: ZZ.random_element() crashes Sage with
probability 2^-31
#2440: Chris Swierczewski: Doctests for rings/quotient_ring.py
#2441: Robert Miller: fix typo in chromatic number
#2442: Timothy Clemans: Clone Mathematica's Differences function
#2443: Martin Albrecht: add LaTeX macros like \Singular
#2445: John Cremona: algebras module lacks many docstrings and tests
#2451: William Stein: plotting - contour_plot and plot_vector_field
are REALLY SLOW but it's easy to get a million times speedup
#2456: Gary Furnish: fix matrix_symbolic_dense doctest failures
#2457: Gary Furnish: fix ideal.py doctest failure
#2458: Michael Abshoff: bug in linbox's spkg-install: ${SAGE_LCOAL}
Merged in rc3:
#1337: Michael Abshoff, Gary Furnish, Robert Bradshaw: tp_new
leads to munmap_chunk(): invalid pointer segfault
#1711: Burcin Erocal: SIGSEGV in PolyBoRi's BooleSet iterator
#1884: Robert Bradshaw: memory leak in real numbers
#2305: Chris Swierczewski: Docstrings and doctests for
rings/ideal.py
#2142: Robert Bradshaw: product of two subdivided matrices
should yield a subdivided matrix if it makes sense
#2334: Michael Abshoff: $SAGE_LOCAL/include/eclib has wrong
permissions
#2398: William Stein: new Hermite normal form code returns
a zero row at the top of a matrix.
#2399: Jason Grout: allow utf8 characters in the notebook
cells
#2423: Jason Grout: notebook() opens up to the entire world
by defaultl
#2434: Robert Miller: fix doctest in plot.py
Merged in rc2:
#277: John Cremona: Add generic_discrete_logarithm and order
computation using Pollard's rho algorithm
#2155: William Stein: greatly speed up matrix inversion for
1x1 and 2x2 matrices over QQ by a factor of 20!;
speed up changing base rings (architecture); hadamard
bound
#2207: Mike Hansen: fcp for matrices over SR
#2310: William Stein: bug attaching files in files that
are attached
#2356: John Cremona: Bug in discrete_log_generic
#2370: Didier Deshommes: unable to coerce bool types to
Sage integers
#2381: Jason Grout: plot_vector_field: implement ability to
plot arbitrary vector fields
#2382: Gary Furnish: sage-doctest broken by removal of temp
files
#2388: Clement Pernet: linbox charpoly crashes on OSX 10.5
Intel - this is a work around fix
#2391: William Stein: module docstring bug running
filename.sage from the command line
#2392: Nick Alexander: generic univariate polynomial has
no discriminant function
#2395: Simon King: New features for number fields (gap
interface, matrix groups)
Merged in rc1:
#590: Mike Hansen: document extended_rational_field.py
#753: David Harvey, Carl Witty: derivative alias for diff
#915: Clement Pernet: Make LinBox interface use PID_Integer
instead of using old header as workaround
#1748: Carl Witty: Passing the ipython argument '-wthread' at
startup
#1805: William Stein: improve doctest coverage for
Factorization; fix several critical bugs
#1810: Martin Albrecht: refactoring to improve finite field
reference manual
#1868: Jaap Spies: New experimental mayavi2 package
#1902: John Cremona: mistake in the documentation for gens
for Finite field givaro
#2099: Nick Alexander, Gary Furnish: Make sage-test execute
multiple doctests in parallel
#2239: John Voight, William Stein: Leak in totallyreal.py
#2245: William Stein, Craig Cigtro: abvar -- increase the
doctest coverage to 100%
#2254: Clement Pernet:Upgrade linbox and givaro spkg to
upstream
#2268: Gary Furnish, Robert Bradshaw: has_coerce_map_from_c
performance improvements
#2275: Mike Hansen: get sloane_functions.py to 100% coverage
#2279: Craig Citro: Followup fix due to a typo in a doctestfix
#2298: Carl Witty: implement a way to compute a number field
containing given algebraic numbers
#2326: Robert Miller: compiled sparse and dense graph
datastructures
#2333: Mike Hansen: hg_sage.apply('http://foo.org/.../bar.patch')
should be made to work
#2343: Martin Albrecht: for zero-dimensional ideals, allow
computation of varieties over arbitrary fields
#2345: Mike Hansen: negative indicies in vectors
#2349: Martin Albrecht: homogenize does different things
in different contexts
#2350: Jason Grout: revert show(list) to the The 2.10.2 behavior
#2363: Gary Furnish: Integer.pyx mpz structure fix
#2365: Carl Witty: with sage -wthread, attach runs code in wrong
thread on subsequent loads
#2375: Robert Miller: Sage 2.10.3.rc1: graph_isom.py doctest
failure in PermutationGroup
#2376: Michael Abshoff: Sage 2.10.3.rc1: various doctest failure
in abvar
#2377: Simon King: Bugfix for the new __copy__ method of
SingularElement
Merged in rc0:
#37: William Stein: preparser doesn't parse hex input
#874: Jason Grout: Implement Jordan and Rational Canonical Form
#1151: Martin Albrecgh: Bug in creating elements in
multivariate quotient rings that cannot be coerced
to singular
#1186: Alex Gitza, Mike Hansen: Charpoly of a matrix of
polynomials sometimes breaks
#1209: Mike Hansen: make it so maple.gcd?? shows source code
#1320: Emily Kirkman: graph planarity testing
#1639: John Cremona: missing documentation P.completion()
#1722: Mike Hansen: Symbolic Matrices should be callable
#2037: David Joyner, Alex Ghitza: out-of-date tutorial
section on errors and exceptions
#2050: Nick Alexander: disallow *generic* matrix eigenspaces
for inexact fields
#2058: Martin Albrecht, Burcin Erocal: PolyBoRi evaluation
#2105: Martin Albrecht: Constructor for ntl.GF2X polynomials
does not take Polynomials over GF(2)
#2279: John Voight: numerical noise? doctest failure in
sage.rings.number_field.totallyreal.__selberg_zograf_bound
with 2.10.2
#2281: John Cremona: elliptic_curve_finite_field: order caching
problem
#2283: Jason Grout, Gary Furnish: the coercion code (in __mul__)
should call __rmul__ when left or right is not coercible
to a Sage element
#2284: Bobby Moretti: CallableSymbolicExpression._latex_()
has some odd behavior
#2286: Carl Witty: create and document a new "fp_rank" concept
#2289: Alex Ghitza: make the constructions document
prettier and more consistent
#2292: David Joyner: segfault in AbelianGroups
#2293: David Joyner: word_problem error in AbelianGroup
#2299: Nick Alexander: add zero_matrix constructor
#2300: Simon King: A copy method for SingularElement
#2301: Simon King: Bug in sage_structured_str_list
#2315: Jason Grout: Union of Graphs
#2323: Yi Qiang: updated tutorial to include dsage section
#2324: Carl Witty: RealNumber->QQ coercion fails for NaN,
infinity
#2327: Michael Abshoff: libgcrypt can't find libgpg-error
headers
#2336: William Stein: hermite -- this function in sage is broken
in more ways than it has lines of code
#2337: William Stein: fix typo in save_session
#2338: Martin Albrecht: add p.lexLmDeg to PolyBoRi polynomials
#2342: Robert Miller: digraphs show axes...
Merged in alpha0:
#1311: Tom Boothby: graphs: calculate chromatic number
#1313: Tom Boothby: graphs: calculate chromatic polynomial
#1382: Timothy Clemans, William Stein: conversion of sage
matrices to mathematica is completely totally broken
#1399: John Cremona, William Stein: improve and document
integer is_prime and is_irreducible
#1962: Robert Miller: set_edge_label creates edges when
multiple edges are allowed
#2087: Michael Abshoff: make the final output of "sage -i"
more user friendly
#2135: Robert Miller: allow for specifying initial position
in spring layout
#2154: Robert Miller: Infinite memory allocation bug in
PermutationGroupElement
#2180: William Stein: cython skipping (build optimization)
#2206: Jason Grout, Alex Ghitza: some fixes of Factorizations
#2240: Chris Swierczewski, Mike Hansen: Docstrings and
Doctests: calculus.py
#2265: Jason Grout: fix shortest_path_all_pairs
#2271: Antti Ajanki, Tom Boothby: Include Antti Ajanki's
DLX library
#2274: David Joyner: guava->python (Part 1)
#2282: Craig Citro: readline currently not building dynamic
library on Mac
#2285: Michael Abshoff: add "--trace-children=yes" back for
memcheck in sage-doctest
#2288: David Joyner: tutorial -- fix some typos
#2290: Paul Zimmermann, David Joyner: typo in calculus.py
#2294: Carl Witty: RealDoubleElement _interface_init_ is
very poor
#2295: Burcin Erocal: build cache check fails on paths
containing symlinks
#2297: Simon King: Tensor product of matrices
#2307: Robert Miller: has_edge ignores labels
#2308: Michael Abshoff: remove SAGE_ROOT/local/bin/sage-server
#2309: Carl Witty: The patch from #2267 introduced spurious
linebreak commands '\\'
#2311: William Stein: remove stupid timeout from sage-location