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:
RevisionActionfile
1.13modifypkgsrc/math/py-sympy/Makefile
1.8modifypkgsrc/math/py-sympy/PLIST
1.7modifypkgsrc/math/py-sympy/distinfo
1.6modifypkgsrc/math/py-sympy/patches/patch-aa