Opened 4 years ago

Last modified 3 years ago

#19147 closed enhancement

Affine connections on smooth manifolds — at Version 6

Reported by: egourgoulhon Owned by:
Priority: major Milestone: sage-7.5
Component: geometry Keywords: differentiable manifold, affine connection, curvature, torsion
Cc: mbejger, mmancini Merged in:
Authors: Eric Gourgoulhon, Michal Bjeger, Marco Mancini Reviewers:
Report Upstream: N/A Work issues:
Branch: public/manifolds/diff_manif_connections Commit: f86e5db06f2691867a5aed61fa2512300ee396db
Dependencies: #18100, #19092 Stopgaps:

Description (last modified by egourgoulhon)

This ticket implements affine connections on infinitely differentiable manifolds (i.e. smooth manifolds) . This is a follow-up of #19092 within the SageManifolds project (see the metaticket #18528 for an overview). As in #19092, the non-discrete topological field K over which the smooth manifold is defined is generic, although in most applications, K=R or K=C.

Affine connections are implemented via the Python class AffineConnection, the user interface being the method DiffManifold.affine_connection(). At the user choice, CPU-demanding computations (like that of the curvature tensor) can be parallelized, thanks to #18100.

Various methods of the class AffineConnection allow the computation of

  • the connection coefficients with respect to a given vector frame (from those w.r.t. another frame)
  • the connection 1-forms with respect to a given vector frame
  • the torsion tensor
  • the torsion 2-forms with respect to a given vector frame
  • the (Riemann) curvature tensor
  • the curvature 2-forms with respect to a given vector frame
  • the Ricci tensor
  • the action of the affine connection on any tensor field

Documentation: The reference manual is produced by sage -docbuild reference/manifolds html It can also be accessed online at http://sagemanifolds.obspm.fr/doc/19147/reference/manifolds/ More documentation (e.g. example worksheets) can be found here.

Change History (6)

comment:1 Changed 4 years ago by git

  • Commit changed from 0e013aee30e3cfc05918943aa419a3d2336c01ec to 477d0577753ca790205ea115053aefad1fed0d0c

Branch pushed to git repo; I updated commit sha1. New commits:

477d057Add doctests to AffineConnection; full coverage

comment:2 Changed 4 years ago by egourgoulhon

  • Description modified (diff)

comment:3 Changed 4 years ago by git

  • Commit changed from 477d0577753ca790205ea115053aefad1fed0d0c to a14806252bc9f787fec76a0e9dda60ceffa3d172

Branch pushed to git repo; I updated commit sha1. New commits:

a148062Major improvements in the documentation of diff. manifolds (affine connections part)

comment:4 Changed 4 years ago by git

  • Commit changed from a14806252bc9f787fec76a0e9dda60ceffa3d172 to a80dcccaf4d8164a23598e986120d48b0fb26008

Branch pushed to git repo; I updated commit sha1. New commits:

a80dcccImprove TensorField.__eq__ (case with no open cover known)

comment:5 Changed 4 years ago by git

  • Commit changed from a80dcccaf4d8164a23598e986120d48b0fb26008 to f86e5db06f2691867a5aed61fa2512300ee396db

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

325e832Corrected error in parallelisation of __mul__. Added parallism for the symmetric __add__
256d268changed name TensorParallelism to TensorParallelCompute
bea739dAdded Eric corrections to parallelism
a6d4bd4Merge branch 'public/18100-parallelization_tensors' into Sage 6.7
81f662cImprove documentation of class TensorParallelCompute.
ea38c84In doc, changed processor with process
819661dChanged variables name : set_nproc to set_nproc_tensor, get_nproc to get_nproc_tensor
53c248cParallelization: corrected doc
0bb79a3Merge #18100 into #19124
f86e5dbMerge #19147 into (#19124 + #18100)

comment:6 Changed 4 years ago by egourgoulhon

  • Description modified (diff)
  • Milestone changed from sage-6.9 to sage-6.10
  • Status changed from new to needs_review
Note: See TracTickets for help on using tickets.