This metaticket collects tickets related to manifolds in Sage 9.3 or higher. For the initial implementation of manifolds in Sage up to version 9.2, see the metaticket 1: #18528 .
The works listed here result from the SageManifolds project , developed by the following authors .
Generic
Algebraic part
Enhance symmetry handling for tensors #28813 : Enhance symmetry handling for tensors
extension of admissible indices conventions for tensors with indices #29099 : Extension of admissible indices conventions for tensors with indices
Matrix and Components should have a sparse iterator #29619 : Sparse iterator for tensor components (merged in Sage 9.8.beta0)
Compacting the display of tensor product #29820 : Compacting the display of tensor product
Parallelization of Wedge Product #29796 : Parallelization of wedge product
sage.tensor.modules: Add SymPowerFreeModule #30095 : sage.tensor.modules: Add SymPowerFreeModule
sage.tensor.modules: Add backends using TensorFlow Core, PyTorch, SymPy #30096 : sage.tensor.modules: Add backends using TensorFlow Core and PyTorch:
Add category FreeModules (without distinguished basis) #30164 : Add category FreeModules (without distinguished basis)
Trivial coercion Modules(QQ)(FiniteRankFreeModule(QQ, 3)) fails #30174 : Trivial coercion Modules(QQ)(FiniteRankFreeModule(QQ, 3)) fails (merged in Sage 9.3.beta8)
Submodules of TensorFreeModule defined by the symmetries of a Components object #30229 : Submodules of TensorFreeModule defined by the symmetries of a Components object (merged in Sage 9.8.beta0)
Add construction methods to FiniteRankFreeModule, CombinatorialFreeModule and Cartesian products #30235 : Add construction methods to FiniteRankFreeModule, CombinatorialFreeModule and Cartesian products (merged in Sage 9.7.rc0)
New implementation class FiniteRankDualFreeModule #30241 : New implementation class FiniteRankDualFreeModule (merged in Sage 9.8.beta0)
Make ExtPowerFreeModule a quotient of TensorFreeModule #30242 : Make ExtPowerFreeModule a quotient of TensorFreeModule
FreeModuleAutomorphism should not inherit from FreeModuleTensor #30245 : FreeModuleAutomorphism should not inherit from FreeModuleTensor
Use _matmul_ operator (@) for matrix multiplication, map composition, tensor contraction #30244 : Use _matmul_ operator (@)
Phased permutation groups #30276 : Phased permutation groups
sage.tensor.modules.free_module_basis: Make Basis_abstract a subclass of AbstractFamily #30300 : Make Basis_abstract a subclass of AbstractFamily (merged in Sage 9.7.rc0)
Arithmetic on tensor module elements, manifold objects: Always Return a Copy #30302 : Arithmetic on tensor module elements, manifold objects: always return a copy
Refactor Components into parent & element #30307 : Refactor Components into parent & element
Tensor Product Method for FiniteRankFreeModule #31276 : Tensor product method for FiniteRankFreeModule (merged in Sage 9.7.rc0)
_sympy_ methods for tensor component classes #31946 : _sympy_ methods for tensor component classes
Meta-ticket: Efficient numerical computations with tensor trains #31991 : Metaticket: Efficient numerical computations with tensor trains
FiniteRankFreeModuleMorphism: Add method SVD (singular value decomposition) #31992 : FiniteRankFreeModuleMorphism: Add method SVD (singular value decomposition)
Tensor canonicalization #32028 : Tensor canonicalization
Action of a sympy TensorSymmetry #32029 : Action of a SymPy TensorSymmetry
Graphical representations of tensors #32034 : Graphical representations of tensors
Generate non-redundant indices of tensors with symmetries efficiently #32318 : Generate non-redundant indices of tensors with symmetries efficiently (merged in Sage 9.5.beta1)
Bug in multiple tensor contractions with scalar result #32355 : Bug in multiple tensor contractions with scalar result (merged in Sage 9.5.beta1)
Remove unnecessary uses of symbolic functions in sage.tensor.modules #32415 : Remove unnecessary uses of symbolic functions in sage.tensor.modules (merged in Sage 9.5.beta1)
sage.tensor.modules: remove dependency on sage.manifolds #32708 : sage.tensor.modules: remove dependency on sage.manifolds (merged in Sage 9.5.beta5)
sage.tensor.modules: make doctests involving SR optional #32712 : sage.tensor.modules: make doctests involving SR optional (merged in Sage 9.5.beta5)
Bad handling of tensor names in unary negation operator #33938 : Bad handling of tensor names in unary negation operator
Common base class for FiniteRankFreeModule and TensorFreeModule #34424 : Common base class for FiniteRankFreeModule and TensorFreeModule (merged in Sage 9.7.rc0)
TensorFreeModule.isomorphism_with_fixed_basis #34427 : TensorFreeModule.isomorphism_with_fixed_basis (merged in Sage 9.8.beta0)
Put tensor modules of FiniteRankFreeModule in Modules().TensorProducts() #34448 : Put tensor modules of FiniteRankFreeModule in Modules().TensorProducts() (merged in Sage 9.8.beta1)
sage.tensor: Canonicalize sym, antisym #34451 : sage.tensor: Canonicalize sym, antisym (merged in Sage 9.8.beta0)
Allow for tensor product of a FiniteRankFreeModule dual #34471 : Allow for tensor product of a FiniteRankFreeModule dual
Make FiniteRankFreeModule.tensor_module(0, 1) return the dual #34474 : Make FiniteRankFreeModule.tensor_module(0, 1) return the dual (merged in Sage 9.8.beta0)
FiniteRankFreeModule.tensor_from_comp: Deprecate #34482 : FiniteRankFreeModule.tensor_from_comp: Deprecate
Quotient modules of TensorFreeModule, TensorFreeSubmodule #34483 : Quotient modules of TensorFreeModule, TensorFreeSubmodule
Add method tensor_factor_index_maps to tensor products #34485 : Add method tensor_factor_index_maps to tensor products
Construction for tensor submodules with prescribed symmetries #34499 : Construction for tensor submodules with prescribed symmetries
Construction for FiniteRankDualFreeModule #34605 : Construction for FiniteRankDualFreeModule
Method dual_pairing for modules in sage.tensor #34621 : Method dual_pairing for modules in sage.tensor
Slight documentation update for modules built upon a FiniteRankFreeModule #34792 : Slight documentation update for modules built upon a FiniteRankFreeModule (merged in Sage 9.8.beta5)
Topological manifolds
Improve simplifications in calculus on manifolds #24151 : Improve simplifications in calculus on manifolds
Make simplifications in SymPy calculus on manifolds rely on SymPy only #24290 : Make simplifications in SymPy calculus on manifolds rely on SymPy only
Manifolds with boundary #30080 : Manifolds with boundary
symbolic ring, coercion, restriction: compatible? #30232 : Coercion/conversion SR to ScalarFieldAlgebra
Immutability of chart functions #30310 : Immutability of chart functions (merged in Sage 9.3.beta9)
Immutability of Scalar Fields II #30311 : Immutability of scalar fields II (merged in Sage 9.4.beta0)
Stronger Categories for Manifold Examples: Connectedness #31243 : Stronger categories for manifold examples: connectedness (merged in Sage 9.3.beta7)
product of manifolds #31371 : Product of manifolds
copy_from for scalar fields #31654 : Equip scalar fields with copy_from method (merged in Sage 9.4.beta1)
Make open subsets of immersed/embedded submanifolds immersed/embedded submanifolds #31674 : Make open subsets of immersed/embedded submanifolds immersed/embedded submanifolds (merged in Sage 9.4.beta1)
Open subsets of arbitrary subsets of manifolds #31677 : Open subsets of arbitrary subsets of manifolds (merged in Sage 9.4.beta1)
ContinuousMap.image: if map is an isomorphism and domain_subset is open, create a submanifold #31685 : ContinuousMap.image: if map is an isomorphism and domain_subset is open, create a submanifold
Sheaves on manifolds #31703 : Sheaves on manifolds
Manifold: Change some methods to generators #31720 : Manifold: Change some methods to generators
Chart.subchart_poset, superchart_poset, Manifold.chart_poset #31771 : Chart.subchart_poset, superchart_poset, Manifold.chart_poset
Pass name and latex_name to copy method in set_restriction #31854 : Pass name and latex_name to copy method in set_restriction (merged in Sage 9.4.beta3)
Refine category of ScalarField #31883 : Refine category of ScalarField (merged in Sage 9.4.beta4)
Refine categories of Chart objects, add method codomain #31894 : Refine categories of Chart objects, add method codomain
Chart: Implement pickling via __getstate__/__setstate__ #31901 : Chart: Implement pickling via __getstate__/__setstate__
The inverse of the inverse should be self in CoordChange #31923 : The inverse of the inverse should be self in CoordChange (merged in Sage 9.4.beta4)
Eliminate direct use of the Chart._domain attribute #32009 : Eliminate direct use of the Chart._domain attribute (merged in Sage 9.4.beta6)
Chart: Add init argument coord_restrictions, deprecate method add_restrictions #32102 : Chart: Add init argument coord_restrictions, deprecate method add_restrictions (merged in Sage 9.4.beta6)
Bug in Chart.__init__ regarding the determination of top charts #32112 : Bug in Chart.__init__ regarding the determination of top charts (merged in Sage 9.4.beta6)
Chart._parse_coordinates #32116 : Chart._parse_coordinates (merged in Sage 9.4.beta6)
Chart-wise assumptions #32120 : Chart-wise assumptions
Bad determination of the coordinate range when restricting charts to subdomains #32929 : Bad determination of the coordinate range when restricting charts to subdomains (merged in Sage 9.5.beta8)
Lazy transition maps #33225 : Lazy transition maps
Bug in ExpressionNice with composite variables #33399 : Bug in ExpressionNice with composite variables (merged in Sage 9.6.beta4)
Manifold.options.omit_function_arguments ineffective for arguments not in alphabetic order #33957 : Manifold.options.omit_function_arguments ineffective for arguments not in alphabetic order (merged in Sage 9.7.beta4)
Fix wrong link in the documentation of topological submanifolds #34565 : Fix wrong link in the documentation of topological submanifolds (merged in Sage 9.8.beta1)
Manifold subsets
Meta-ticket: Families, posets, complexes of manifold subsets #31740 Meta-ticket: Families, posets, complexes of manifold subsets
declare_union yields wrong results #30263 : declare_union yields wrong results
Topological closure of manifold subsets, methods ManifoldSubset.closure, is_closed, declare_closed #31644 : Topological closure of manifold subsets, methods ManifoldSubset.closure, is_closed, declare_closed (merged in Sage 9.4.beta4)
Images of continuous maps and embedded submanifolds as manifold subsets #31653 : Images of continuous maps and embedded submanifolds as manifold subsets (merged in Sage 9.4.beta1)
Plotting subsets of real manifolds #31675 : Plotting subsets of real manifolds
Poset of manifold subsets #31680 : Poset of manifold subsets (merged in Sage 9.4.beta3)
manifolds: Add _test_... methods that check invariants of subset relations #31682 : Add _test_... methods that check invariants of subset relations
ManifoldSubset: Change some methods to generators #31718 : ManifoldSubset: Change some methods to generators (merged in Sage 9.4.beta3)
Differentiable manifolds
Automorphism fields: remove SR enforcement when computing the inverse #28629 : Automorphism fields: remove SR enforcement when computing the inverse
Manifolds: Vector Valued Forms #28640 : Vector-valued forms:
Bug in parallelized computations involving symbolic functions #27492 : Bug in parallelized computations involving symbolic functions
Inheritance Structure: Tensor Fields -> Vec. Bdl. Sections #29234 : Inheritance structure: tensor fields as sections of vector bundles
New Algorithm for Characteristic Classes #29581 : New algorithm for characteristic classes (merged in Sage 9.5.beta3)
Characteristic Classes: Sequences #30211 : Characteristic classes: sequences (merged in Sage 9.4.beta0)
Meta-ticket: Immutability for manifold objects #30261 : Immutability for manifold objects
Mixed Forms: set_comp, comp #30272 : Mixed forms: set_comp, comp (merged in Sage 9.4.beta6)
Immutability of Bundle Connections #30284 : Immutability of bundle connections (merged in Sage 9.3.rc0)
sage.manifolds: Connect to Pymanopt #30495 : sage.manifolds: Connect to Pymanopt
Tensor Arithmetics on Minimal Amount of Domains #30714 : Tensor arithmetics on minimal amount of domains
Covariant Derivatives along smooth Maps #30781 : Covariant derivatives along smooth maps
Subintervals of OpenInterval and UniqueRepresentation #30830 : Subintervals of OpenInterval and UniqueRepresentation (merged in Sage 9.3.beta2)
Connect RealSet to sage.manifolds #30832 : Connect RealSet to sage.manifolds (merged in Sage 9.4.beta4)
Documentation of Item Assignment Behavior for Bundle Connections #31215 : Documentation of item assignment behavior for bundle connections (merged in Sage 9.3.beta7)
Grassmann Manifolds #31249 : Grassmann manifolds
Follow Up: Mutability of Sections and Tensor Fields #31255 : Follow up: Mutability of sections and tensor fields (merged in Sage 9.3.beta7)
Remove deprecated form input for bundle connections #31273 : Remove deprecated form input for bundle connections (merged in Sage 9.3.beta7)
Method subs() ineffective on tensor fields #31316 : Method subs() ineffective on tensor fields
Make self-diffeomorphisms default #31323 : Make self-diffeomorphisms default (merged in Sage 9.3.beta9)
Circle doesn't have an orientation #31324 : Circle doesn't have an orientation
Add method tangent_vector to differentiable manifolds #31609 : Add method tangent_vector() to differentiable manifolds (merged in Sage 9.4.beta1)
Follow-up: provide 3-sphere with additional features #31617 : Provide 3-sphere with additional features
Simplify VectorField.__call__ #31633 : Simplify VectorField.__call__ (merged in Sage 9.4.beta1)
Slight speed-up in copy method #31658 : Speeding-up copy method for tensor fields (merged in Sage 9.4.beta1)
DifferentiableManifold.open_subset: update vector frames and change of frames #31678 : DifferentiableManifold.open_subset: update vector frames and change of frames
Turn mixed form algebra into de Rham complex #31691 : Turn mixed form algebra into de Rham complex (and add de Rham cohomology) (merged in Sage 9.4.beta1)
Refactor display behavior of mixed forms #31692 : Refactor display behavior of mixed forms (merged in Sage 9.4.beta1)
Immutability for mixed forms #31706 : Immutability for mixed forms (merged in Sage 9.4.beta6)
Mixed form name bug for pullback bundle #31784 : Mixed form name bug for pullback bundle (merged in Sage 9.4.beta2)
Replace OpenInterval, RealLine instances by instances of a subclass of DifferentiableManifold+RealSet #31878 : Replace OpenInterval, RealLine instances by instances of a subclass of DifferentiableManifold + RealSet
Pullback silently fails in some cases with multiple charts #31904 : Pullback silently fails in some cases with multiple charts (merged in Sage 9.4.beta4)
remove deprecated diff. forms #32313 : Remove deprecated differential forms (merged in Sage 9.5.beta1)
Turn De Rham Cohomology into Algebra #32270 : Turn de Rham cohomology into algebra (merged in Sage 9.5.beta1)
Allow for coordinate changes in curve plots #32578 : Allow for coordinate changes in curve plots (merged in Sage 9.5.beta4)
Natural bundles: local data (and orientations) #32974 : Natural bundles: local data (and orientations)
Add example of projective space to manifold catalog #33221 : Add projective space to manifold catalog (merged in Sage 9.6.beta1)
Add examples of tangent vector fields to curves to plot documentation #33711 : Add examples of tangent vector fields to curves to plot documentation
Issue with set_name for interior products with zero result #33780 : Issue with set_name for interior products with zero result (merged in Sage 9.6.rc4)
Total space of vector bundles #34173 : Total space of vector bundles
VectorFieldModule: Faster fast path for tensor_module, exterior_power, dual_exterior_power #34486 : VectorFieldModule: Faster fast path for tensor_module, exterior_power, dual_exterior_power (merged in Sage 9.8.beta1)
New implementation class VectorFieldDualFreeModule #34501 : New implementation class VectorFieldDualFreeModule (merged in Sage 9.8.beta1)
VectorFieldModule, TensorFieldModule, DiffFormModule: Add methods tensor_product, tensor_power, update category of TensorFieldModule #34589 : VectorFieldModule, TensorFieldModule, DiffFormModule: Add methods tensor_product, tensor_power (merged in Sage 9.8.beta4)
Pseudo-Riemannian manifolds
Poisson manifolds
Complex and almost complex manifolds
CC: @tscrim @mkoeppe @mjungmath @honglizhaobob
Component: manifolds
Keywords: tensor, differential geometry
Author: see ticket description
Issue created by migration from https://trac.sagemath.org/ticket/30525
This metaticket collects tickets related to manifolds in Sage 9.3 or higher. For the initial implementation of manifolds in Sage up to version 9.2, see the metaticket 1: #18528.
The works listed here result from the SageManifolds project, developed by the following authors.
Generic
__eq__by_richcmp_for manifoldssrc/sage/manifolds/(merged in Sage 9.3.beta9)__copy__,__deepcopy__methods for all classes that definecopymethodssage.manifolds,sage.tensor: Fix spelling errors (merged in Sage 9.6.beta7)sage/manifolds(merged in Sage 9.7.beta7)sage.manifolds,sage.tensor: Remove imports fromsage.arith.all,sage.rings.all(merged in Sage 9.7.rc0)super()insage.manifolds(merged in Sage 9.8.beta1)Algebraic part
SymPowerFreeModuleFreeModules(without distinguished basis)Modules(QQ)(FiniteRankFreeModule(QQ, 3))fails (merged in Sage 9.3.beta8)TensorFreeModuledefined by the symmetries of aComponentsobject (merged in Sage 9.8.beta0)FiniteRankFreeModule,CombinatorialFreeModuleand Cartesian products (merged in Sage 9.7.rc0)FiniteRankDualFreeModule(merged in Sage 9.8.beta0)ExtPowerFreeModulea quotient ofTensorFreeModuleFreeModuleAutomorphismshould not inherit fromFreeModuleTensor_matmul_operator (@)Basis_abstracta subclass ofAbstractFamily(merged in Sage 9.7.rc0)Componentsinto parent & elementFiniteRankFreeModule(merged in Sage 9.7.rc0)_sympy_methods for tensor component classesFiniteRankFreeModuleMorphism: Add methodSVD(singular value decomposition)TensorSymmetrysage.tensor.modules(merged in Sage 9.5.beta1)sage.tensor.modules: remove dependency onsage.manifolds(merged in Sage 9.5.beta5)sage.tensor.modules: make doctests involving SR optional (merged in Sage 9.5.beta5)FiniteRankFreeModuleandTensorFreeModule(merged in Sage 9.7.rc0)TensorFreeModule.isomorphism_with_fixed_basis(merged in Sage 9.8.beta0)FiniteRankFreeModuleinModules().TensorProducts()(merged in Sage 9.8.beta1)sage.tensor: Canonicalizesym,antisym(merged in Sage 9.8.beta0)FiniteRankFreeModuledualFiniteRankFreeModule.tensor_module(0, 1)return the dual (merged in Sage 9.8.beta0)FiniteRankFreeModule.tensor_from_comp: DeprecateTensorFreeModule,TensorFreeSubmoduletensor_factor_index_mapsto tensor productsFiniteRankDualFreeModuledual_pairingfor modules insage.tensorFiniteRankFreeModule(merged in Sage 9.8.beta5)Topological manifolds
SRtoScalarFieldAlgebracopy_frommethod (merged in Sage 9.4.beta1)ContinuousMap.image: if map is an isomorphism anddomain_subsetis open, create a submanifoldChart.subchart_poset,superchart_poset,Manifold.chart_posetnameandlatex_nametocopymethod inset_restriction(merged in Sage 9.4.beta3)ScalarField(merged in Sage 9.4.beta4)Chartobjects, add methodcodomainChart: Implement pickling via__getstate__/__setstate__selfinCoordChange(merged in Sage 9.4.beta4)Chart._domainattribute (merged in Sage 9.4.beta6)Chart: Add init argumentcoord_restrictions, deprecate methodadd_restrictions(merged in Sage 9.4.beta6)Chart.__init__regarding the determination of top charts (merged in Sage 9.4.beta6)Chart._parse_coordinates(merged in Sage 9.4.beta6)ExpressionNicewith composite variables (merged in Sage 9.6.beta4)Manifold.options.omit_function_argumentsineffective for arguments not in alphabetic order (merged in Sage 9.7.beta4)Manifold subsets
declare_unionyields wrong resultsManifoldSubset.closure,is_closed,declare_closed(merged in Sage 9.4.beta4)_test_...methods that check invariants of subset relationsManifoldSubset: Change some methods to generators (merged in Sage 9.4.beta3)Differentiable manifolds
set_comp,comp(merged in Sage 9.4.beta6)OpenIntervalandUniqueRepresentation(merged in Sage 9.3.beta2)RealSettosage.manifolds(merged in Sage 9.4.beta4)forminput for bundle connections #31273: Remove deprecatedforminput for bundle connections (merged in Sage 9.3.beta7)subs()ineffective on tensor fieldstangent_vector()to differentiable manifolds (merged in Sage 9.4.beta1)VectorField.__call__(merged in Sage 9.4.beta1)DifferentiableManifold.open_subset: update vector frames and change of framesOpenInterval,RealLineinstances by instances of a subclass ofDifferentiableManifold+RealSetset_namefor interior products with zero result (merged in Sage 9.6.rc4)VectorFieldModule: Faster fast path fortensor_module,exterior_power,dual_exterior_power(merged in Sage 9.8.beta1)VectorFieldDualFreeModule(merged in Sage 9.8.beta1)VectorFieldModule,TensorFieldModule,DiffFormModule: Add methodstensor_product,tensor_power(merged in Sage 9.8.beta4)Pseudo-Riemannian manifolds
EuclideanSpacehodge_dual(merged in Sage 9.3.beta9)manifolds.Sphere: Add barycentric coordinates of spherical triangles / Whitney formstangent_vector_eval_atfor geodesics on manifolds integrated over multiple charts #31813: Add support fortangent_vector_eval_atfor geodesics on manifolds integrated over multiple chartssage.geometry.riemannian_manifoldstosage.manifoldsPoisson manifolds
Complex and almost complex manifolds
CC: @tscrim @mkoeppe @mjungmath @honglizhaobob
Component: manifolds
Keywords: tensor, differential geometry
Author: see ticket description
Issue created by migration from https://trac.sagemath.org/ticket/30525