Path to this page:
Subject: CVS commit: pkgsrc/math/py-sympy
From: Wen Heping
Date: 2012-12-02 13:33:24
Message id: 20121202123324.2F447175DD@cvs.netbsd.org
Log Message:
Update to 0.7.2
Upstream changes:
Release Notes for 0.7.2New Page Edit Page Page History
These are the release notes for SymPy 0.7.2. SymPy 0.7.2 was released on October \
16, 2012.
Major Changes
Python 3 support
SymPy now supports Python 3. The officially supported versions are 3.2 and 3.3, \
but 3.1 should also work in a pinch. The Python 3-compatible tarballs will be \
provided separately, but it is also possible to download Python 2 code and \
convert it manually, via the bin/use2to3 utility. See the README for more
PyPy support
All SymPy tests pass in recent nightlies of PyPy, and so it should have full \
support as of the next version after 1.9.
Combinatorics
A new module called Combinatorics was added which is the result of a successful \
GSoC project. It attempts to replicate the functionality of Combinatorica and \
currently has full featured support for Permutations, Subsets, Gray codes and \
Prufer codes.
In another GSoC project, facilities from computational group theory were added \
to the combinatorics module, mainly following the book "Handbook of \
computational group theory". Currently only permutation groups are \
supported. The main functionalities are: basic properties (orbits, stabilizers, \
random elements...), the Schreier-Sims algorithm (three implementations, in \
increasing speed: with Jerrum's filter, incremental, and randomized (Monte \
Carlo)), backtrack searching for subgroups with certain properties.
Definite Integration
A new module called meijerint was added, which is also the result of a \
successful GSoC project. It implements a heuristic algorithm for (mainly) \
definite integration, similar to the one used in Mathematica. The code is \
automatically called by the standard integrate() function. This new algorithm \
allows computation of important integral transforms in many interesting cases, \
so helper functions for Laplace, Fourier and Mellin transforms were added as \
well.
Random Variables
A new module called stats was added. This introduces a RandomSymbol type which \
can be used to model uncertainty in expressions.
Matrix Expressions
A new matrix submodule named expressions was added. This introduces a \
MatrixSymbol type which can be used to describe a matrix without explicitly \
stating its entries. A new family of expression types were also added: \
Transpose, Inverse, Trace, and BlockMatrix. ImmutableMatrix was added so that \
explicitly defined matrices could interact with other SymPy expressions.
Sets
A number of new sets were added including atomic sets like FiniteSet, Reals, \
Naturals, Integers, UniversalSet as well as compound sets like ProductSet and \
TransformationSet. Using these building blocks it is possible to build up a \
great variety of interesting sets.
Classical Mechanics
A physics submodule named machanics was added which assists in formation of \
equations of motion for constrained multi-body systems. It is the result of 3 \
GSoC projects. Some nontrivial systems can be solved, and examples are provided.
Quantum Mechanics
Density operator module has been added. The operator can be initialized with \
generic Kets or Qubits. The Density operator can also work with TensorProducts \
as arguments. Global methods are also added that compute entropy and fidelity of \
states. Trace and partial-trace operations can also be performed on these \
density operators.
To enable partial trace operations a Tr module has been added to the core \
library. While the functionality should remain same, this module is likely to be \
relocated to an alternate folder in the future. One can currently also use \
sympy.core.Tr to work on general trace operations, but this module is what is \
needed to work on trace and partial-trace operations on any \
sympy.physics.quantum objects.
The Density operators, Tr and Partial trace functionality was implemented as \
part of student participation in GSoC 2012
Expanded angular momentum to include coupled-basis states and product-basis \
states. Operators can also be treated as acting on the coupled basis (default \
behavior) or on one component of the tensor product states. The methods for \
coupling and uncoupling these states can work on an arbitrary number of states. \
Representing, rewriting and applying states and operators between bases has been \
improved.
Commutative Algebra
A new module agca was started which seeks to support computations in commutative \
algebra (and eventually algebraic geometry) in the style of Macaulay2 and \
Singular. Currently there is support for computing Groebner bases of modules \
over a (generalized) polynomial ring over a field. Based on this, there are \
algorithms for various standard problems in commutative algebra, e.g., computing \
intersections of submodules, equality tests in quotient rings, etc....
Plotting Module
A new plotting module has been added which uses Matplotlib as its back-end. The \
plotting module has functions to plot the following:
2D line plots
2D parametric plots.
2D implicit and region plots.
3D surface plots.
3D parametric surface plots.
3D parametric line plots.
Differential Geometry
Thanks to a GSoC project the beginning of a new module covering the theory of \
differential geometry was started. It can be imported with sympy.diffgeom. It is \
based on "Functional Differential Geometry" by Sussman and Wisdom. \
Currently implemented are scalar, vector and form fields over manifolds as well \
as covariant and other derivatives.
Files: