Sage Manifolds
SageManifolds (following styling of SageMath) is an extension fully integrated into SageMath, to be used as a package for differential geometry and tensor calculus. The official page for the project is sagemanifolds.obspm.fr. It can be used on CoCalc.
SageManifolds deals with differentiable manifolds of arbitrary dimension. The basic objects are tensor fields and not tensor components in a given vector frame or coordinate chart. In other words, various charts and frames can be introduced on the manifold and a given tensor field can have representations in each of them.
An important class of treated manifolds is that of pseudo-Riemannian manifolds, among which Riemannian manifolds and Lorentzian manifolds, with applications to General Relativity. In particular, SageManifolds implements the computation of the Riemann curvature tensor and associated objects (Ricci tensor, Weyl tensor). SageManifolds can also deal with generic affine connections, not necessarily Levi-Civita ones.
Functionalities
Version | Date | Description (From Changelog) |
---|---|---|
0.1 | 7 July 2013 | First released |
0.2 | 12 September 2013 | Defined six classes, and "many doctests changed to comply with Sage 5.11. New methods in each class. |
0.3 | 24 November 2013 | Development repository moved from svn to git. New example worksheets. More classes and methods (some inherited from Sage). |
0.4 | 10 February 2014 | New classes, members, and methods. |
0.5 | 12 July 2014 | This is a major release, involving the introduction of algebraic structures to describe tensor fields, namely modules over the algebra of scalar fields, among which free modules of finite rank. This is achieved via Sage Parent /Element scheme and coercion model. |
0.6 | 28 September 2014 |
|
0.7 | 12 March 2015 | For the end user, new features are
|
0.8 | 16 May 2015 | Changes for the end user:
|
0.9 | 10 December 2015 | This is a major release, resulting from an important refactoring of the code, in view of a full integration of SageManifolds into SageMath (cf. the metaticket #18528 on the SageMath developer trac). The major changes are
|
0.9.1 | 19 September 2016 | *The full change is now listed for the Wikipedia (this) page*
This release propagates further code changes related to the integration of SageManifolds into SageMath (cf. the metaticket#18528); it also adds a few new functionalities. New functionalities:
Syntactic changes:
More internal changes:
|
1.0 | 11 January 2017 | Besides the full integration in SageMath 7.5, there are only minor changes with respect to v0.9.1:
Syntactic changes:
Internal changes:
Other changes:
|
1.0.1 | 25 March 2017 | |
1.0.2 | 21 July 2017 | |
1.1 | 7 December 2017 |
More documentation is on doc.sagemath.org/html/en/reference/manifolds/.
Free & Open Software
As SageMath is, SageManifolds is a free and open source software based on the Python programming language. It is released under the GNU General Public License. To download and install SageManifolds, see here. It is more specifically GPL v2+ (meaning that a user may elect to use a licence higher than GPL version 2.)
Development
Much of the source is on tickets at trac.sagemath.org.
There are GitHub repositories at github.com/sagemanifolds/SageManifolds.
Other links are provided at sagemanifolds.obspm.fr/contact.html.