Differences between revisions 22 and 23
Revision 22 as of 2021-10-19 21:39:31
Size: 6856
Editor: mkoeppe
Comment:
Revision 23 as of 2021-10-20 00:29:42
Size: 6856
Editor: mkoeppe
Comment: 9.5.beta4
Deletions are marked like this. Additions are marked like this.
Line 99: Line 99:
The [[https://groups.google.com/g/sage-release/c/3Kc0y5g-VXs/m/ocUI0ysCAwAJ|first beta release]] in the 9.5 development series was tagged on 2021-08-31. The current development release is 9.5.beta2, tagged 2021-09-26. The [[https://groups.google.com/g/sage-release/c/3Kc0y5g-VXs/m/ocUI0ysCAwAJ|first beta release]] in the 9.5 development series was tagged on 2021-08-31. The current development release is 9.5.beta4, tagged 2021-19-19.

Sage 9.5 Release Tour

current development cycle (2021)

Symbolics

Changes to symbolic expressions

  • symbolic_expression is now able to create vectors and matrices of symbolic expressions for more general inputs. #16761

    • For example, if the input is a list or tuple of lists/tuples/vectors:
      • sage: M = symbolic_expression([[1, x, x^2], (x, x^2, x^3), vector([x^2, x^3, x^4])]); M
        [  1   x x^2]
        [  x x^2 x^3]
        [x^2 x^3 x^4]
        sage: M.parent()
        Full MatrixSpace of 3 by 3 dense matrices over Symbolic Ring
  • Symbolic expressions can no longer be called with positional arguments. #14270

    • This was deprecated since Sage 4.0, although a bug prevented the deprecation warning from being issued in Sage versions 8.4 to 9.3. #32319

      Instead of (x+1)(2), write either (x+1)(x=2), or (x+1).subs(x=2), or ((x+1).function(x))(2).

Interface to Mathics, a free implementation of the Wolfram language

Sage now has an optional package providing Mathics, a free (open-source) general-purpose computer algebra system featuring Mathematica-compatible syntax and functions, and an interface to it.#31778

Linear Algebra

Manifolds

Algebra

Deprecated and removed functionality

  • The package sage.finance is now deprecated. (The module sage.finance.time_series is now available as sage.stats.time_series.) #32427

  • The module sage.interfaces.primecount is now deprecated. #32412

  • The package sage.media is now deprecated. #12673

  • The module sage.stats.basic_stats is now deprecated. #29662

    • In the deprecation messages, we point users to suitable numpy, and scipy.stats, and pandas functions. (Python 3 also comes with a basic ​built-in stats module, but much of its functionality is unfortunately incompatible with SageMath's number types, #28234.)

  • Many is_... functions are now deprecated.

Package upgrades

Modularization and packaging changes

New distribution package: sage-setup

The build system of the Sage library, sage_setup, is now provided by a separate distribution package sage-setup. The source tree is the subdirectory pkgs/sage-setup/ of the Sage git repository. #29847

Pynac merged into the Sage library

The core of the symbolic expressions subsystem of Sage, an adaptation of the GiNaC library to Python known as Pynac, has been merged into the Sage library source code as src/sage/symbolic/ginac/; all future development of Pynac is intended to happen here. #32386, #32387

  • This removes an obstacle to Python packaging: Pynac was a shared library with a dependency on the Python C API but not an extension module, and it could not be installed using standard Python tools. Now the shared library is gone; all of Pynac (about 60kLOC of C++ code spread over 100 *.h and *.cpp files) is put in a single extension module sage.symbolic.expression. All other extension modules that used to link to libpynac (sage.libs.pynac.pynac, sage.symbolic.function, sage.symbolic.series etc.) have either been merged into sage.symbolic.expression, or the dependency has been resolved through refactoring. The integration of Pynac into the Sage source tree will also make it easier for Sage developers to make changes to symbolics.

Module-level "# optional - FEATURE" for doctests

In the Sage doctesting framework, a line of tests can be conditionalized on the presence of a feature, such as an installed optional package, using a comment of the form # optional - FEATURE.

Sage 9.5 extends this mechanism by allowing developers to mark all doctests in a Python file as conditional on a feature. #30778

These module-level directives go to the top of the source file and take the form

# sage.doctest: optional - FEATURE

Abstract base classes for "isinstance" testing

The new module sage.rings.abc defines a number of abstract base classes that can be used for isinstance testing instead of importing is_... functions from various implementation modules. #32566, #32600, #32606, #32610, #32612

Likewise, sage.structure.element now defines an abstract base class Expression that can be used for isinstance testing, instead of importing is_Expression or the implementation class Expression from sage.symbolic.expression. #32638

See also Meta-ticket #32414.

Availability of Sage 9.5 and installation help

The first beta release in the 9.5 development series was tagged on 2021-08-31. The current development release is 9.5.beta4, tagged 2021-19-19.

  • See sage-devel for development discussions and sage-release for announcements of beta versions and release candidates.

More details

ReleaseTours/sage-9.5 (last edited 2022-02-06 20:55:34 by mkoeppe)