Differences between revisions 3 and 4
Revision 3 as of 2009-02-27 06:36:09
Size: 2165
Editor: Minh Nguyen
Comment: Summarized #4470
Revision 4 as of 2009-03-01 05:30:36
Size: 3473
Editor: Minh Nguyen
Comment: Summarized #5366, #5345
Deletions are marked like this. Additions are marked like this.
Line 22: Line 22:
Line 23: Line 24:


 * Arrowheads in multi-edge digraphs (Emily Kirkman) -- This feature has been in Sage even before this release. However, in version 3.4, Emily worked on enhancing the visualization of multi-edge digraphs. In a multi-edge digraph, the arrowheads pointing to a vertex are now clearly displayed. Here's [[attachment:a plot]] of a multi-edge digraph, produced using the following code:
 {{{
sage: S = SupersingularModule(389)
sage: D = DiGraph(S.hecke_matrix(2))
sage: D.plot(vertex_size=50).show(figsize=10)
 }}}


== Linear Algebra ==


 * Optimize transpose and antitranspose for dense matrices (Rob Beezer, Yann Laigle-Chapuy) -- A rewrite of sections of the method {{{transpose()}}} in the class {{{sage/matrix/matrix_dense.Matrix_dense}}}, resulting in improved performance of between 15% to 20%, depending on the computer architecture. Here are some statistics:
 {{{
# Before

sage: m=identity_matrix(3000)
sage: time m2=m.transpose(); m3=m.antitranspose()
CPU times: user 14.13 s, sys: 1.11 s, total: 15.44 s
Wall time: 15.44 s
sage: get_memory_usage()
1254.28125

# After

sage: m=identity_matrix(3000)
sage: time m2=m.transpose(); m3=m.antitranspose()
CPU times: user 2.92 s, sys: 0.46 s, total: 3.38 s
Wall time: 3.38 s
sage: get_memory_usage()
835.6171875
 }}}

Sage 3.4 Release Tour

Sage 3.4 was released on FIXME. For the official, comprehensive release note, please refer to sage-3.4.txt. The following points are some of the foci of this release:

  • Merging of Jon Hanke's quadratic forms code
  • Sphinxifying the Sage documentation and move its content to the main Sage development repository

All tickets in the 3.4 milestone can be found on the trac server. Here's a summary of features in this release, categorized under various headings.

Algebra

Build

Combinatorics

Distribution

Doctest

Documentation

Graphics

  • Arrowheads in multi-edge digraphs (Emily Kirkman) -- This feature has been in Sage even before this release. However, in version 3.4, Emily worked on enhancing the visualization of multi-edge digraphs. In a multi-edge digraph, the arrowheads pointing to a vertex are now clearly displayed. Here's a plot of a multi-edge digraph, produced using the following code:

    sage: S = SupersingularModule(389)
    sage: D = DiGraph(S.hecke_matrix(2))
    sage: D.plot(vertex_size=50).show(figsize=10)

Linear Algebra

  • Optimize transpose and antitranspose for dense matrices (Rob Beezer, Yann Laigle-Chapuy) -- A rewrite of sections of the method transpose() in the class sage/matrix/matrix_dense.Matrix_dense, resulting in improved performance of between 15% to 20%, depending on the computer architecture. Here are some statistics:

    # Before
    
    sage: m=identity_matrix(3000)
    sage: time m2=m.transpose(); m3=m.antitranspose()
    CPU times: user 14.13 s, sys: 1.11 s, total: 15.44 s
    Wall time: 15.44 s
    sage: get_memory_usage()
    1254.28125
    
    # After
    
    sage: m=identity_matrix(3000)
    sage: time m2=m.transpose(); m3=m.antitranspose()
    CPU times: user 2.92 s, sys: 0.46 s, total: 3.38 s
    Wall time: 3.38 s
    sage: get_memory_usage()
    835.6171875

Miscellaneous

Notebook

Number Theory

Numerical

Packages

  • Update the libgcrypt spkg to libgcrypt-1.4.3.p0.spkg (Michael Abshoff) -- Originally based on Gnu Privacy Guard (GnuPG), libgcrypt is a general purpose library of cryptographic primitives. As such, it does not provide an implementation of any cryptographic protocols, but rather serves as a collection of cryptographic building blocks.

  • Update the Python spkg to python-2.5.2.p9.spkg (Michael Abshoff) -- Python is a general purpose, object oriented programming language. Together with various other open source components, Python serves as a fundamental tool that unify the components of Sage under a common interface.

Porting

Quadratic Forms

  • Merge Jon Hanke's quadratic forms code (Gonzalo Tornaria, Michael Abshoff) -- John Hanke has written a substantial amount of Sage code for working with quadratic forms. Hanke's code can serve as base for further enhancement to the case of binary quadratic forms, which are quadratic forms involving two variables. There are currently a number of patches on the trac server for enhancing the functionalities of binary quadratic forms.

Solaris

User Interface

Website/Wiki

ReleaseTours/sage-3.4 (last edited 2009-12-26 14:48:11 by Minh Nguyen)