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.
This commit is contained in:
wen 2012-12-02 12:33:23 +00:00
parent fa70d60da3
commit c2b9662792
4 changed files with 591 additions and 95 deletions

View file

@ -1,8 +1,8 @@
# $NetBSD: Makefile,v 1.12 2012/09/11 23:04:32 asau Exp $
# $NetBSD: Makefile,v 1.13 2012/12/02 12:33:23 wen Exp $
#
DISTNAME= sympy-0.7.1
PKGNAME= ${PYPKGPREFIX}-sympy-0.7.1
DISTNAME= sympy-0.7.2
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= math
MASTER_SITES= http://sympy.googlecode.com/files/
@ -15,6 +15,19 @@ USE_LANGUAGES= # none
PYDISTUTILSPKG= yes
PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
SUBST_CLASSES+= python
SUBST_STAGE.python= post-patch
SUBST_MESSAGE.python= Fixing python path
SUBST_FILES.python+= sympy/galgebra/GA.py
SUBST_FILES.python+= sympy/galgebra/tests/test_GA.py
SUBST_SED.python= -e "s,/usr/bin/python,${PYTHONBIN},"
SUBST_CLASSES+= python2
SUBST_STAGE.python2= post-patch
SUBST_MESSAGE.python2= Fixing python path
SUBST_FILES.python2+= sympy/mpmath/tests/runtests.py
SUBST_SED.python2= -e "s,/usr/bin/env python,${PYTHONBIN},"
post-extract:
${CP} ${WRKSRC}/bin/isympy ${WRKSRC}/bin/isympy${PYVERSSUFFIX}
${CP} ${WRKSRC}/doc/man/isympy.1 \

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
$NetBSD: distinfo,v 1.6 2012/02/24 19:43:04 drochner Exp $
$NetBSD: distinfo,v 1.7 2012/12/02 12:33:23 wen Exp $
SHA1 (sympy-0.7.1.tar.gz) = b8609cc7e08d2883f96526ee8a4afdc90d77b911
RMD160 (sympy-0.7.1.tar.gz) = ba6f95435d72708a12e4c4285d82d5e51d38bce4
Size (sympy-0.7.1.tar.gz) = 3573079 bytes
SHA1 (patch-aa) = d9c2d20c3d0cb388f9df64cec9728493460dc106
SHA1 (sympy-0.7.2.tar.gz) = cc1a030acb40c273a104d10b5fb0123841c98236
RMD160 (sympy-0.7.2.tar.gz) = 5daa92e94a63f582b7739c214925cfd1a09a01ac
Size (sympy-0.7.2.tar.gz) = 5487284 bytes
SHA1 (patch-aa) = 60a7bb72006cf53ff9c83315abf7b660a4686090

View file

@ -1,9 +1,9 @@
$NetBSD: patch-aa,v 1.5 2012/02/24 19:43:04 drochner Exp $
--- setup.py.orig 2011-07-30 00:04:23.000000000 +0000
$NetBSD: patch-aa,v 1.6 2012/12/02 12:33:24 wen Exp $
Add the python version to the name of script and man file
--- setup.py.orig 2012-12-02 19:33:28.000000000 +0000
+++ setup.py
@@ -235,10 +235,10 @@ setup(
license = 'BSD',
@@ -274,10 +274,10 @@ setup(
keywords = "Math CAS",
url = 'http://code.google.com/p/sympy',
packages = ['sympy'] + modules + tests,
- scripts = ['bin/isympy'],