From 1f8dae9a1e18051509c9bd927588fa170a3e4825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Chapoton?= Date: Wed, 16 Oct 2024 21:18:19 +0200 Subject: [PATCH] fix all pep E302 in manifolds and geometry --- src/sage/geometry/cone_catalog.py | 1 + src/sage/geometry/cone_critical_angles.py | 1 + .../geometry/hyperbolic_space/hyperbolic_coercion.py | 12 ++++++++++++ .../geometry/hyperbolic_space/hyperbolic_isometry.py | 3 +++ .../geometry/hyperbolic_space/hyperbolic_point.py | 1 + .../hyperplane_arrangement/check_freeness.py | 2 ++ src/sage/geometry/lattice_polytope.py | 3 +++ src/sage/geometry/polyhedron/backend_polymake.py | 2 ++ src/sage/geometry/polyhedron/base0.py | 1 + src/sage/geometry/polyhedron/base2.py | 1 + src/sage/geometry/polyhedron/base3.py | 1 + src/sage/geometry/polyhedron/base4.py | 1 + src/sage/geometry/polyhedron/base5.py | 1 + src/sage/geometry/polyhedron/base6.py | 1 + src/sage/geometry/polyhedron/base7.py | 1 + src/sage/geometry/polyhedron/cdd_file_format.py | 4 ++++ src/sage/geometry/polyhedron/double_description.py | 1 + src/sage/geometry/polyhedron/face.py | 1 + src/sage/geometry/polyhedron/library.py | 2 ++ src/sage/geometry/ribbon_graph.py | 3 +++ src/sage/manifolds/catalog.py | 2 ++ src/sage/manifolds/chart.py | 1 + src/sage/manifolds/chart_func.py | 1 + src/sage/manifolds/continuous_map.py | 1 + src/sage/manifolds/continuous_map_image.py | 1 + .../manifolds/differentiable/affine_connection.py | 1 + .../manifolds/differentiable/automorphismfield.py | 1 + .../differentiable/automorphismfield_group.py | 1 + src/sage/manifolds/differentiable/chart.py | 1 + src/sage/manifolds/differentiable/curve.py | 1 + .../manifolds/differentiable/de_rham_cohomology.py | 2 ++ src/sage/manifolds/differentiable/degenerate.py | 2 ++ .../differentiable/degenerate_submanifold.py | 1 + .../manifolds/differentiable/diff_form_module.py | 1 + src/sage/manifolds/differentiable/diff_map.py | 1 + .../manifolds/differentiable/examples/euclidean.py | 2 ++ .../manifolds/differentiable/examples/real_line.py | 1 + src/sage/manifolds/differentiable/examples/sphere.py | 1 + .../manifolds/differentiable/integrated_curve.py | 2 ++ .../differentiable/levi_civita_connection.py | 1 + src/sage/manifolds/differentiable/manifold_homset.py | 4 ++++ .../manifolds/differentiable/mixed_form_algebra.py | 1 + .../manifolds/differentiable/multivector_module.py | 1 + .../manifolds/differentiable/multivectorfield.py | 1 + .../manifolds/differentiable/pseudo_riemannian.py | 1 + .../manifolds/differentiable/scalarfield_algebra.py | 1 + .../manifolds/differentiable/symplectic_form_test.py | 1 + src/sage/manifolds/differentiable/tangent_space.py | 1 + .../manifolds/differentiable/tensorfield_module.py | 1 + src/sage/manifolds/differentiable/vector_bundle.py | 2 ++ src/sage/manifolds/differentiable/vectorfield.py | 1 + src/sage/manifolds/differentiable/vectorframe.py | 2 ++ src/sage/manifolds/family.py | 2 ++ src/sage/manifolds/local_frame.py | 3 +++ src/sage/manifolds/manifold_homset.py | 1 + src/sage/manifolds/operators.py | 5 +++++ src/sage/manifolds/point.py | 1 + src/sage/manifolds/scalarfield_algebra.py | 1 + src/sage/manifolds/section.py | 2 ++ src/sage/manifolds/section_module.py | 2 ++ src/sage/manifolds/structure.py | 7 +++++++ src/sage/manifolds/subset.py | 1 + src/sage/manifolds/subsets/closure.py | 1 + src/sage/manifolds/trivialization.py | 2 ++ src/sage/manifolds/utilities.py | 5 +++++ src/sage/manifolds/vector_bundle.py | 1 + src/sage/manifolds/vector_bundle_fiber.py | 1 + src/sage/manifolds/vector_bundle_fiber_element.py | 1 + 68 files changed, 121 insertions(+) diff --git a/src/sage/geometry/cone_catalog.py b/src/sage/geometry/cone_catalog.py index da2ab39a0e6..d58302d5915 100644 --- a/src/sage/geometry/cone_catalog.py +++ b/src/sage/geometry/cone_catalog.py @@ -72,6 +72,7 @@ # the top-level non-underscore functions defined in this module. # + def _preprocess_args(ambient_dim, lattice): r""" Preprocess arguments for cone-constructing functions. diff --git a/src/sage/geometry/cone_critical_angles.py b/src/sage/geometry/cone_critical_angles.py index 55636a15da8..9e5252a4bf9 100644 --- a/src/sage/geometry/cone_critical_angles.py +++ b/src/sage/geometry/cone_critical_angles.py @@ -40,6 +40,7 @@ from sage.rings.real_double import RDF from sage.symbolic.constants import pi + def _normalize_gevp_solution(gevp_solution): r""" Normalize the results of :func:`solve_gevp_nonzero` and diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py b/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py index c88d573e0cb..1e2c7270b39 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py @@ -29,6 +29,7 @@ from sage.misc.lazy_import import lazy_import lazy_import('sage.misc.call', 'attrcall') + class HyperbolicModelCoercion(Morphism): """ Abstract base class for morphisms between the hyperbolic models. @@ -148,6 +149,7 @@ def __invert__(self): # From UHP # ############ + class CoercionUHPtoPD(HyperbolicModelCoercion): """ Coercion from the UHP to PD model. @@ -188,6 +190,7 @@ def image_isometry_matrix(self, x): return matrix([[1,-I],[-I,1]]) * x * matrix([[1,I],[I,1]]).conjugate()/Integer(2) return matrix([[1,-I],[-I,1]]) * x * matrix([[1,I],[I,1]])/Integer(2) + class CoercionUHPtoKM(HyperbolicModelCoercion): """ Coercion from the UHP to KM model. @@ -227,6 +230,7 @@ def image_isometry_matrix(self, x): """ return SL2R_to_SO21(x) + class CoercionUHPtoHM(HyperbolicModelCoercion): """ Coercion from the UHP to HM model. @@ -269,6 +273,7 @@ def image_isometry_matrix(self, x): # From PD # ########### + class CoercionPDtoUHP(HyperbolicModelCoercion): """ Coercion from the PD to UHP model. @@ -318,6 +323,7 @@ def image_isometry_matrix(self, x): return matrix([[1,I],[I,1]]) * x * matrix([[1,-I],[-I,1]]).conjugate() / Integer(2) return matrix([[1,I],[I,1]]) * x * matrix([[1,-I],[-I,1]]) / Integer(2) + class CoercionPDtoKM(HyperbolicModelCoercion): """ Coercion from the PD to KM model. @@ -444,6 +450,7 @@ def image_isometry_matrix(self, x): """ return SO21_to_SL2R(x) + class CoercionKMtoPD(HyperbolicModelCoercion): """ Coercion from the KM to PD model. @@ -482,6 +489,7 @@ def image_isometry_matrix(self, x): return (matrix(2,[1,-I,-I,1]) * SO21_to_SL2R(x) * matrix(2,[1,I,I,1])/Integer(2)) + class CoercionKMtoHM(HyperbolicModelCoercion): """ Coercion from the KM to HM model. @@ -524,6 +532,7 @@ def image_isometry_matrix(self, x): # From HM # ########### + class CoercionHMtoUHP(HyperbolicModelCoercion): """ Coercion from the HM to UHP model. @@ -560,6 +569,7 @@ def image_isometry_matrix(self, x): """ return SO21_to_SL2R(x) + class CoercionHMtoPD(HyperbolicModelCoercion): """ Coercion from the HM to PD model. @@ -596,6 +606,7 @@ def image_isometry_matrix(self, x): return (matrix(2,[1,-I,-I,1]) * SO21_to_SL2R(x) * matrix(2,[1,I,I,1])/Integer(2)) + class CoercionHMtoKM(HyperbolicModelCoercion): """ Coercion from the HM to KM model. @@ -635,6 +646,7 @@ def image_isometry_matrix(self, x): ##################################################################### ## Helper functions + def SL2R_to_SO21(A): r""" Given a matrix in `SL(2, \RR)` return its irreducible representation in diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py b/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py index 03a646b7059..2dd20676215 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py @@ -620,6 +620,7 @@ def attracting_fixed_point(self): fp = self._cached_isometry.attracting_fixed_point() return self.domain().get_point(fp) + class HyperbolicIsometryUHP(HyperbolicIsometry): r""" Create a hyperbolic isometry in the UHP model. @@ -881,6 +882,7 @@ def attracting_fixed_point(self): # UHP return self.domain().get_point(infinity) return self.domain().get_point(v[0] / v[1]) + class HyperbolicIsometryPD(HyperbolicIsometry): r""" Create a hyperbolic isometry in the PD model. @@ -982,6 +984,7 @@ def _orientation_preserving(A): #PD return bool(A[1][0] == A[0][1].conjugate() and A[1][1] == A[0][0].conjugate() and abs(A[0][0]) - abs(A[0][1]) != 0) + class HyperbolicIsometryKM(HyperbolicIsometry): r""" Create a hyperbolic isometry in the KM model. diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_point.py b/src/sage/geometry/hyperbolic_space/hyperbolic_point.py index 3c408e69d95..16e96692a92 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_point.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_point.py @@ -74,6 +74,7 @@ from sage.geometry.hyperbolic_space.hyperbolic_isometry import HyperbolicIsometry + class HyperbolicPoint(Element): r""" Abstract base class for hyperbolic points. This class should never diff --git a/src/sage/geometry/hyperplane_arrangement/check_freeness.py b/src/sage/geometry/hyperplane_arrangement/check_freeness.py index f1691634f69..42943d72669 100644 --- a/src/sage/geometry/hyperplane_arrangement/check_freeness.py +++ b/src/sage/geometry/hyperplane_arrangement/check_freeness.py @@ -26,6 +26,7 @@ from sage.matrix.constructor import matrix import sage.libs.singular.function_factory as fun_fact + def less_generators(X): """ Reduce the generator matrix of the module defined by ``X``. @@ -63,6 +64,7 @@ def less_generators(X): Kd = set(range(X.nrows())).difference(K) X = X.matrix_from_rows(sorted(Kd)) + def construct_free_chain(A): """ Construct the free chain for the hyperplanes ``A``. diff --git a/src/sage/geometry/lattice_polytope.py b/src/sage/geometry/lattice_polytope.py index 65cacb35d0c..857eadba882 100644 --- a/src/sage/geometry/lattice_polytope.py +++ b/src/sage/geometry/lattice_polytope.py @@ -415,6 +415,7 @@ def ReflexivePolytope(dim, n): # Sequences of reflexive polytopes _rp = [None] * 4 + def ReflexivePolytopes(dim): r""" Return the sequence of all 2- or 3-dimensional reflexive polytopes. @@ -494,6 +495,7 @@ def is_LatticePolytope(x): deprecation(34307, "is_LatticePolytope is deprecated, use isinstance instead") return isinstance(x, LatticePolytopeClass) + @richcmp_method class LatticePolytopeClass(ConvexSet_compact, Hashable, sage.geometry.abc.LatticePolytope): r""" @@ -4982,6 +4984,7 @@ def part_of_point(self, i): _palp_dimension = None + def _palp(command, polytopes, reduce_dimension=False): r""" Run ``command`` on vertices of given diff --git a/src/sage/geometry/polyhedron/backend_polymake.py b/src/sage/geometry/polyhedron/backend_polymake.py index 9b497b421ac..84fdd48177b 100644 --- a/src/sage/geometry/polyhedron/backend_polymake.py +++ b/src/sage/geometry/polyhedron/backend_polymake.py @@ -724,6 +724,8 @@ def _test_polymake_pickling(self, tester=None, other=None, **options): tester.assertEqual(P.AFFINE_HULL, P1.AFFINE_HULL) ######################################################################### + + class Polyhedron_QQ_polymake(Polyhedron_polymake, Polyhedron_QQ): r""" Polyhedra over `\QQ` with polymake. diff --git a/src/sage/geometry/polyhedron/base0.py b/src/sage/geometry/polyhedron/base0.py index 7ba3007ea35..c710c5dfa62 100644 --- a/src/sage/geometry/polyhedron/base0.py +++ b/src/sage/geometry/polyhedron/base0.py @@ -35,6 +35,7 @@ from sage.structure.element import Element import sage.geometry.abc + class Polyhedron_base0(Element, sage.geometry.abc.Polyhedron): """ Initialization and basic access for polyhedra. diff --git a/src/sage/geometry/polyhedron/base2.py b/src/sage/geometry/polyhedron/base2.py index f9a48e45b1c..f2626b6efa3 100644 --- a/src/sage/geometry/polyhedron/base2.py +++ b/src/sage/geometry/polyhedron/base2.py @@ -37,6 +37,7 @@ from sage.modules.free_module_element import vector from .base1 import Polyhedron_base1 + class Polyhedron_base2(Polyhedron_base1): """ Methods related to lattice points. diff --git a/src/sage/geometry/polyhedron/base3.py b/src/sage/geometry/polyhedron/base3.py index 6347132e0fb..b0a4284a743 100644 --- a/src/sage/geometry/polyhedron/base3.py +++ b/src/sage/geometry/polyhedron/base3.py @@ -38,6 +38,7 @@ from sage.rings.rational_field import QQ from .base2 import Polyhedron_base2 + class Polyhedron_base3(Polyhedron_base2): """ Methods related to the combinatorics of a polyhedron. diff --git a/src/sage/geometry/polyhedron/base4.py b/src/sage/geometry/polyhedron/base4.py index a6fd6dad1ea..ea0423c60fe 100644 --- a/src/sage/geometry/polyhedron/base4.py +++ b/src/sage/geometry/polyhedron/base4.py @@ -36,6 +36,7 @@ from sage.misc.cachefunc import cached_method from .base3 import Polyhedron_base3 + class Polyhedron_base4(Polyhedron_base3): """ Methods relying on :mod:`sage.graphs`. diff --git a/src/sage/geometry/polyhedron/base5.py b/src/sage/geometry/polyhedron/base5.py index 21a463f1234..c94efd9428c 100644 --- a/src/sage/geometry/polyhedron/base5.py +++ b/src/sage/geometry/polyhedron/base5.py @@ -42,6 +42,7 @@ from .base4 import Polyhedron_base4 + class Polyhedron_base5(Polyhedron_base4): """ Methods constructing new polyhedra diff --git a/src/sage/geometry/polyhedron/base6.py b/src/sage/geometry/polyhedron/base6.py index f9bc49d7821..bccb57a09f4 100644 --- a/src/sage/geometry/polyhedron/base6.py +++ b/src/sage/geometry/polyhedron/base6.py @@ -37,6 +37,7 @@ from sage.geometry.convex_set import AffineHullProjectionData from .base5 import Polyhedron_base5 + class Polyhedron_base6(Polyhedron_base5): r""" Methods related to plotting including affine hull projection. diff --git a/src/sage/geometry/polyhedron/base7.py b/src/sage/geometry/polyhedron/base7.py index 7b86d534017..1b232a00fa2 100644 --- a/src/sage/geometry/polyhedron/base7.py +++ b/src/sage/geometry/polyhedron/base7.py @@ -37,6 +37,7 @@ from sage.rings.rational_field import QQ from .base6 import Polyhedron_base6 + class Polyhedron_base7(Polyhedron_base6): r""" Methods related to triangulation and volume. diff --git a/src/sage/geometry/polyhedron/cdd_file_format.py b/src/sage/geometry/polyhedron/cdd_file_format.py index 9dfedcad58d..edc04b4cb8f 100644 --- a/src/sage/geometry/polyhedron/cdd_file_format.py +++ b/src/sage/geometry/polyhedron/cdd_file_format.py @@ -14,6 +14,8 @@ from .misc import _set_to_None_if_empty, _common_length_of, _to_space_separated_string ######################################################################### + + def cdd_Vrepresentation(cdd_type, vertices, rays, lines, file_output=None): r""" Return a string containing the V-representation in cddlib's ext format. @@ -92,6 +94,8 @@ def cdd_Vrepresentation(cdd_type, vertices, rays, lines, file_output=None): return s ######################################################################### + + def cdd_Hrepresentation(cdd_type, ieqs, eqns, file_output=None): r""" Return a string containing the H-representation in cddlib's ine format. diff --git a/src/sage/geometry/polyhedron/double_description.py b/src/sage/geometry/polyhedron/double_description.py index b38e108640f..82bb0685d61 100644 --- a/src/sage/geometry/polyhedron/double_description.py +++ b/src/sage/geometry/polyhedron/double_description.py @@ -704,6 +704,7 @@ def add_inequality(self, a): self.R = R_pos + R_nul + R_new self.A.append(a) + class StandardAlgorithm(Problem): """ Standard implementation of the double description algorithm. diff --git a/src/sage/geometry/polyhedron/face.py b/src/sage/geometry/polyhedron/face.py index 9b72f1fc691..1f1969353a2 100644 --- a/src/sage/geometry/polyhedron/face.py +++ b/src/sage/geometry/polyhedron/face.py @@ -991,6 +991,7 @@ def stacking_locus(self): return parent.element_class(parent, None, [locus_ieqs, locus_eqns]) + def combinatorial_face_to_polyhedral_face(polyhedron, combinatorial_face): r""" Convert a combinatorial face to a face of a polyhedron. diff --git a/src/sage/geometry/polyhedron/library.py b/src/sage/geometry/polyhedron/library.py index 97ca4131fe9..5c58abb9564 100644 --- a/src/sage/geometry/polyhedron/library.py +++ b/src/sage/geometry/polyhedron/library.py @@ -91,6 +91,7 @@ lazy_import('sage.graphs.graph', 'Graph') lazy_import('sage.combinat.root_system.associahedron', 'Associahedron') + def zero_sum_projection(d, base_ring=None): r""" Return a matrix corresponding to the projection on the orthogonal of @@ -319,6 +320,7 @@ def gale_transform_to_polytope(vectors, base_ring=None, backend=None): return P + def gale_transform_to_primal(vectors, base_ring=None, backend=None): r""" Return a point configuration dual to a totally cyclic vector configuration. diff --git a/src/sage/geometry/ribbon_graph.py b/src/sage/geometry/ribbon_graph.py index 6f10912ff79..5c2950519ad 100644 --- a/src/sage/geometry/ribbon_graph.py +++ b/src/sage/geometry/ribbon_graph.py @@ -32,6 +32,7 @@ #Auxiliary functions that will be used in the classes. + def _find(l, k): r""" Return the two coordinates of the element ``k`` in the list of @@ -1078,6 +1079,7 @@ def normalize(self): PermutationConstructor([tuple(x) for x in aux_rho]) ) + def make_ribbon(g, r): r""" Return a ribbon graph whose thickening has genus ``g`` and ``r`` @@ -1151,6 +1153,7 @@ def make_ribbon(g, r): return RibbonGraph(PermutationConstructor([tuple(x) for x in repr_sigma]), PermutationConstructor([tuple(x) for x in repr_rho])) + def bipartite_ribbon_graph(p, q): r""" Return the bipartite graph modeling the corresponding diff --git a/src/sage/manifolds/catalog.py b/src/sage/manifolds/catalog.py index 0cbd69b6768..c3c40c42b9a 100644 --- a/src/sage/manifolds/catalog.py +++ b/src/sage/manifolds/catalog.py @@ -93,6 +93,7 @@ def Minkowski(positive_spacelike=True, names=None): g[1,1], g[2,2], g[3,3] = sgn, sgn, sgn return M + def Kerr(m=1, a=0, coordinates='BL', names=None): """ Generate a Kerr spacetime. @@ -217,6 +218,7 @@ def Kerr(m=1, a=0, coordinates='BL', names=None): raise NotImplementedError("coordinates system not implemented, see help" " for details") + def Torus(R=2, r=1, names=None): """ Generate a 2-dimensional torus embedded in Euclidean space. diff --git a/src/sage/manifolds/chart.py b/src/sage/manifolds/chart.py index 86c3087d101..d0d3148be7e 100644 --- a/src/sage/manifolds/chart.py +++ b/src/sage/manifolds/chart.py @@ -3270,6 +3270,7 @@ def _plot_xx_list(xx_list, rem_coords, ranges, steps, number_values): # ***************************************************************************** + class CoordChange(SageObject): r""" Transition map between two charts of a topological manifold. diff --git a/src/sage/manifolds/chart_func.py b/src/sage/manifolds/chart_func.py index fed078a2baa..aae7a2b1fff 100644 --- a/src/sage/manifolds/chart_func.py +++ b/src/sage/manifolds/chart_func.py @@ -2613,6 +2613,7 @@ def collect_common_factors(self): self._del_derived() return self + class ChartFunctionRing(Parent, UniqueRepresentation): """ Ring of all chart functions on a chart. diff --git a/src/sage/manifolds/continuous_map.py b/src/sage/manifolds/continuous_map.py index f715d2e5738..88a880b922f 100644 --- a/src/sage/manifolds/continuous_map.py +++ b/src/sage/manifolds/continuous_map.py @@ -34,6 +34,7 @@ from sage.categories.homset import Hom from sage.categories.morphism import Morphism + class ContinuousMap(Morphism): r""" Continuous map between two topological manifolds. diff --git a/src/sage/manifolds/continuous_map_image.py b/src/sage/manifolds/continuous_map_image.py index cf3b073e875..bbcfa672a5a 100644 --- a/src/sage/manifolds/continuous_map_image.py +++ b/src/sage/manifolds/continuous_map_image.py @@ -19,6 +19,7 @@ from sage.manifolds.subset import ManifoldSubset + class ImageManifoldSubset(ManifoldSubset): r""" Subset of a topological manifold that is a continuous image of a manifold subset. diff --git a/src/sage/manifolds/differentiable/affine_connection.py b/src/sage/manifolds/differentiable/affine_connection.py index 2c24b7c3ba9..d1e25cc3e31 100644 --- a/src/sage/manifolds/differentiable/affine_connection.py +++ b/src/sage/manifolds/differentiable/affine_connection.py @@ -35,6 +35,7 @@ from sage.parallel.decorate import parallel from sage.parallel.parallelism import Parallelism + class AffineConnection(SageObject): r""" Affine connection on a smooth manifold. diff --git a/src/sage/manifolds/differentiable/automorphismfield.py b/src/sage/manifolds/differentiable/automorphismfield.py index 4143e29228a..3556fc56e95 100644 --- a/src/sage/manifolds/differentiable/automorphismfield.py +++ b/src/sage/manifolds/differentiable/automorphismfield.py @@ -28,6 +28,7 @@ from sage.manifolds.differentiable.tensorfield import TensorField from sage.manifolds.differentiable.tensorfield_paral import TensorFieldParal + class AutomorphismField(TensorField): r""" Field of automorphisms of tangent spaces to a generic (a priori diff --git a/src/sage/manifolds/differentiable/automorphismfield_group.py b/src/sage/manifolds/differentiable/automorphismfield_group.py index 78a906466b3..c6315670c9e 100644 --- a/src/sage/manifolds/differentiable/automorphismfield_group.py +++ b/src/sage/manifolds/differentiable/automorphismfield_group.py @@ -48,6 +48,7 @@ from sage.manifolds.differentiable.automorphismfield import (AutomorphismField, AutomorphismFieldParal) + class AutomorphismFieldGroup(UniqueRepresentation, Parent): r""" General linear group of the module of vector fields along a differentiable diff --git a/src/sage/manifolds/differentiable/chart.py b/src/sage/manifolds/differentiable/chart.py index af74ac85669..bcfa37dc237 100644 --- a/src/sage/manifolds/differentiable/chart.py +++ b/src/sage/manifolds/differentiable/chart.py @@ -1069,6 +1069,7 @@ def restrict(self, subset, restrictions=None): #****************************************************************************** + class DiffCoordChange(CoordChange): r""" Transition map between two charts of a differentiable manifold. diff --git a/src/sage/manifolds/differentiable/curve.py b/src/sage/manifolds/differentiable/curve.py index 8b88a0351eb..e28e44b8adb 100644 --- a/src/sage/manifolds/differentiable/curve.py +++ b/src/sage/manifolds/differentiable/curve.py @@ -37,6 +37,7 @@ from sage.manifolds.point import ManifoldPoint from sage.manifolds.differentiable.diff_map import DiffMap + class DifferentiableCurve(DiffMap): r""" Curve in a differentiable manifold. diff --git a/src/sage/manifolds/differentiable/de_rham_cohomology.py b/src/sage/manifolds/differentiable/de_rham_cohomology.py index 53a5b50aaa0..9bc766f5a78 100644 --- a/src/sage/manifolds/differentiable/de_rham_cohomology.py +++ b/src/sage/manifolds/differentiable/de_rham_cohomology.py @@ -53,6 +53,7 @@ from .characteristic_cohomology_class import (CharacteristicCohomologyClassRing, CharacteristicCohomologyClassRingElement) + class DeRhamCohomologyClass(AlgebraElement): r""" Define a cohomology class in the de Rham cohomology ring. @@ -298,6 +299,7 @@ def __eq__(self, other): return True raise NotImplementedError('comparison via exact forms is currently not supported') + class DeRhamCohomologyRing(Parent, UniqueRepresentation): r""" The de Rham cohomology ring of a de Rham complex. diff --git a/src/sage/manifolds/differentiable/degenerate.py b/src/sage/manifolds/differentiable/degenerate.py index da83139ed6e..b34fefc3a89 100644 --- a/src/sage/manifolds/differentiable/degenerate.py +++ b/src/sage/manifolds/differentiable/degenerate.py @@ -22,6 +22,7 @@ ############################################################################### + class DegenerateManifold(DifferentiableManifold): r""" @@ -370,6 +371,7 @@ def open_subset(self, name, latex_name=None, coord_def={}): from sage.manifolds.differentiable.tensorfield_paral import TensorFieldParal from sage.manifolds.differentiable.tensorfield import TensorField + class TangentTensor(TensorFieldParal): r""" Let ``S`` be a lightlike submanifold embedded in a pseudo-Riemannian diff --git a/src/sage/manifolds/differentiable/degenerate_submanifold.py b/src/sage/manifolds/differentiable/degenerate_submanifold.py index 7608c97612b..a119fb57802 100644 --- a/src/sage/manifolds/differentiable/degenerate_submanifold.py +++ b/src/sage/manifolds/differentiable/degenerate_submanifold.py @@ -172,6 +172,7 @@ if TYPE_CHECKING: from sage.manifolds.differentiable.metric import DegenerateMetric + class DegenerateSubmanifold(DegenerateManifold, DifferentiableSubmanifold): r""" Degenerate submanifolds. diff --git a/src/sage/manifolds/differentiable/diff_form_module.py b/src/sage/manifolds/differentiable/diff_form_module.py index 291893b6cc9..ee0dd856697 100644 --- a/src/sage/manifolds/differentiable/diff_form_module.py +++ b/src/sage/manifolds/differentiable/diff_form_module.py @@ -570,6 +570,7 @@ def degree(self): # ***************************************************************************** + class DiffFormFreeModule(ExtPowerDualFreeModule): r""" Free module of differential forms of a given degree `p` (`p`-forms) along diff --git a/src/sage/manifolds/differentiable/diff_map.py b/src/sage/manifolds/differentiable/diff_map.py index ac9a7f74e99..6ac44fa7fb6 100644 --- a/src/sage/manifolds/differentiable/diff_map.py +++ b/src/sage/manifolds/differentiable/diff_map.py @@ -43,6 +43,7 @@ from sage.manifolds.point import ManifoldPoint from sage.tensor.modules.free_module_morphism import FiniteRankFreeModuleMorphism + class DiffMap(ContinuousMap): r""" Differentiable map between two differentiable manifolds. diff --git a/src/sage/manifolds/differentiable/examples/euclidean.py b/src/sage/manifolds/differentiable/examples/euclidean.py index 08fef01cbda..ec0f30be82c 100644 --- a/src/sage/manifolds/differentiable/examples/euclidean.py +++ b/src/sage/manifolds/differentiable/examples/euclidean.py @@ -419,6 +419,7 @@ ############################################################################### + class EuclideanSpace(PseudoRiemannianManifold): r""" Euclidean space. @@ -1041,6 +1042,7 @@ def sphere(self, radius=1, center=None, name=None, latex_name=None, ############################################################################### + class EuclideanPlane(EuclideanSpace): r""" Euclidean plane. diff --git a/src/sage/manifolds/differentiable/examples/real_line.py b/src/sage/manifolds/differentiable/examples/real_line.py index 746bae34c91..52b3dfad182 100644 --- a/src/sage/manifolds/differentiable/examples/real_line.py +++ b/src/sage/manifolds/differentiable/examples/real_line.py @@ -33,6 +33,7 @@ from sage.manifolds.structure import RealDifferentialStructure from sage.categories.manifolds import Manifolds + class OpenInterval(DifferentiableManifold): r""" Open interval as a 1-dimensional differentiable manifold over `\RR`. diff --git a/src/sage/manifolds/differentiable/examples/sphere.py b/src/sage/manifolds/differentiable/examples/sphere.py index ceb9ad849e1..43956a3ba1a 100644 --- a/src/sage/manifolds/differentiable/examples/sphere.py +++ b/src/sage/manifolds/differentiable/examples/sphere.py @@ -173,6 +173,7 @@ from sage.rings.real_mpfr import RR from sage.manifolds.differentiable.examples.euclidean import EuclideanSpace + class Sphere(PseudoRiemannianSubmanifold): r""" Sphere smoothly embedded in Euclidean Space. diff --git a/src/sage/manifolds/differentiable/integrated_curve.py b/src/sage/manifolds/differentiable/integrated_curve.py index 2ce087ba3e8..135e6d53d32 100644 --- a/src/sage/manifolds/differentiable/integrated_curve.py +++ b/src/sage/manifolds/differentiable/integrated_curve.py @@ -2864,6 +2864,7 @@ def plot_integrated(self, chart=None, ambient_coords=None, aspect_ratio=aspect_ratio, color=color, style=style, label_axes=label_axes) + class IntegratedAutoparallelCurve(IntegratedCurve): r""" Autoparallel curve on the manifold with respect to a given @@ -3648,6 +3649,7 @@ def system(self, verbose=False): return [self._equations_rhs, v0, chart] + class IntegratedGeodesic(IntegratedAutoparallelCurve): r""" Geodesic on the manifold with respect to a given metric. diff --git a/src/sage/manifolds/differentiable/levi_civita_connection.py b/src/sage/manifolds/differentiable/levi_civita_connection.py index a995cf804cd..55c4aca9416 100644 --- a/src/sage/manifolds/differentiable/levi_civita_connection.py +++ b/src/sage/manifolds/differentiable/levi_civita_connection.py @@ -34,6 +34,7 @@ from sage.manifolds.differentiable.affine_connection import AffineConnection from sage.manifolds.differentiable.vectorframe import CoordFrame + class LeviCivitaConnection(AffineConnection): r""" Levi-Civita connection on a pseudo-Riemannian manifold. diff --git a/src/sage/manifolds/differentiable/manifold_homset.py b/src/sage/manifolds/differentiable/manifold_homset.py index 52a75ac61ad..d26e1cfea91 100644 --- a/src/sage/manifolds/differentiable/manifold_homset.py +++ b/src/sage/manifolds/differentiable/manifold_homset.py @@ -49,6 +49,7 @@ from sage.manifolds.differentiable.integrated_curve import IntegratedAutoparallelCurve from sage.manifolds.differentiable.integrated_curve import IntegratedGeodesic + class DifferentiableManifoldHomset(TopologicalManifoldHomset): r""" Set of differentiable maps between two differentiable manifolds. @@ -508,6 +509,7 @@ def _an_element_(self): #****************************************************************************** + class IntegratedCurveSet(DifferentiableCurveSet): r""" Set of integrated curves in a differentiable manifold. @@ -962,6 +964,7 @@ def one(self): #****************************************************************************** + class IntegratedAutoparallelCurveSet(IntegratedCurveSet): r""" Set of integrated autoparallel curves in a differentiable manifold. @@ -1415,6 +1418,7 @@ def _an_element_(self): #****************************************************************************** + class IntegratedGeodesicSet(IntegratedAutoparallelCurveSet): r""" Set of integrated geodesic in a differentiable manifold. diff --git a/src/sage/manifolds/differentiable/mixed_form_algebra.py b/src/sage/manifolds/differentiable/mixed_form_algebra.py index c3ab8bbbbe9..26339c0d6ad 100644 --- a/src/sage/manifolds/differentiable/mixed_form_algebra.py +++ b/src/sage/manifolds/differentiable/mixed_form_algebra.py @@ -37,6 +37,7 @@ from sage.symbolic.ring import SR from sage.manifolds.differentiable.mixed_form import MixedForm + class MixedFormAlgebra(Parent, UniqueRepresentation): r""" An instance of this class represents the graded algebra of mixed forms. diff --git a/src/sage/manifolds/differentiable/multivector_module.py b/src/sage/manifolds/differentiable/multivector_module.py index 2dc036a878c..fa2d5fce099 100644 --- a/src/sage/manifolds/differentiable/multivector_module.py +++ b/src/sage/manifolds/differentiable/multivector_module.py @@ -489,6 +489,7 @@ def degree(self): #*********************************************************************** + class MultivectorFreeModule(ExtPowerFreeModule): r""" Free module of multivector fields of a given degree `p` (`p`-vector diff --git a/src/sage/manifolds/differentiable/multivectorfield.py b/src/sage/manifolds/differentiable/multivectorfield.py index 08b6d4d75a8..1e739dfdd17 100644 --- a/src/sage/manifolds/differentiable/multivectorfield.py +++ b/src/sage/manifolds/differentiable/multivectorfield.py @@ -40,6 +40,7 @@ from sage.manifolds.differentiable.tensorfield import TensorField from sage.manifolds.differentiable.tensorfield_paral import TensorFieldParal + class MultivectorField(TensorField): r""" Multivector field with values on a generic (i.e. a priori not diff --git a/src/sage/manifolds/differentiable/pseudo_riemannian.py b/src/sage/manifolds/differentiable/pseudo_riemannian.py index 3ad49659de8..505900ad0df 100644 --- a/src/sage/manifolds/differentiable/pseudo_riemannian.py +++ b/src/sage/manifolds/differentiable/pseudo_riemannian.py @@ -274,6 +274,7 @@ ############################################################################### + class PseudoRiemannianManifold(DifferentiableManifold): r""" PseudoRiemannian manifold. diff --git a/src/sage/manifolds/differentiable/scalarfield_algebra.py b/src/sage/manifolds/differentiable/scalarfield_algebra.py index 205f8cef841..fc716f5fcc4 100644 --- a/src/sage/manifolds/differentiable/scalarfield_algebra.py +++ b/src/sage/manifolds/differentiable/scalarfield_algebra.py @@ -35,6 +35,7 @@ class `C^k` over a topological field `K` (in from sage.manifolds.scalarfield_algebra import ScalarFieldAlgebra from sage.manifolds.differentiable.scalarfield import DiffScalarField + class DiffScalarFieldAlgebra(ScalarFieldAlgebra): r""" Commutative algebra of differentiable scalar fields on a differentiable diff --git a/src/sage/manifolds/differentiable/symplectic_form_test.py b/src/sage/manifolds/differentiable/symplectic_form_test.py index c38feb90cef..804c8956b6e 100644 --- a/src/sage/manifolds/differentiable/symplectic_form_test.py +++ b/src/sage/manifolds/differentiable/symplectic_form_test.py @@ -158,6 +158,7 @@ def test_omega_on_one_forms_is_omega_on_dual_vectors( b = M.one_form(3,4) assert omega.on_forms(a, b) == omega(a.up(omega), b.up(omega)) + def generic_scalar_field(M: DifferentiableManifold, name: str) -> DiffScalarField: chart_functions = {chart: function(name)(*chart[:]) for chart in M.atlas()} return M.scalar_field(chart_functions, name=name) diff --git a/src/sage/manifolds/differentiable/tangent_space.py b/src/sage/manifolds/differentiable/tangent_space.py index fd2576f8917..0320b70bb93 100644 --- a/src/sage/manifolds/differentiable/tangent_space.py +++ b/src/sage/manifolds/differentiable/tangent_space.py @@ -34,6 +34,7 @@ if TYPE_CHECKING: from sage.manifolds.point import ManifoldPoint + class TangentSpace(FiniteRankFreeModule): r""" Tangent space to a differentiable manifold at a given point. diff --git a/src/sage/manifolds/differentiable/tensorfield_module.py b/src/sage/manifolds/differentiable/tensorfield_module.py index fcdd93a9f0f..22d42050b89 100644 --- a/src/sage/manifolds/differentiable/tensorfield_module.py +++ b/src/sage/manifolds/differentiable/tensorfield_module.py @@ -587,6 +587,7 @@ def zero(self): #*********************************************************************** + class TensorFieldFreeModule(TensorFreeModule): r""" Free module of tensor fields of a given type `(k,l)` along a diff --git a/src/sage/manifolds/differentiable/vector_bundle.py b/src/sage/manifolds/differentiable/vector_bundle.py index f65bba7a79d..79e940a19e6 100644 --- a/src/sage/manifolds/differentiable/vector_bundle.py +++ b/src/sage/manifolds/differentiable/vector_bundle.py @@ -37,6 +37,7 @@ from sage.misc.superseded import deprecated_function_alias from sage.rings.rational_field import QQ + class DifferentiableVectorBundle(TopologicalVectorBundle): r""" An instance of this class represents a differentiable vector bundle @@ -333,6 +334,7 @@ def total_space(self): # ***************************************************************************** + class TensorBundle(DifferentiableVectorBundle): r""" Tensor bundle over a differentiable manifold along a differentiable map. diff --git a/src/sage/manifolds/differentiable/vectorfield.py b/src/sage/manifolds/differentiable/vectorfield.py index 6b0b51582a3..44ae84089de 100644 --- a/src/sage/manifolds/differentiable/vectorfield.py +++ b/src/sage/manifolds/differentiable/vectorfield.py @@ -1376,6 +1376,7 @@ def cross_product(self, other, metric=None): #****************************************************************************** + class VectorFieldParal(FiniteRankFreeModuleElement, MultivectorFieldParal, VectorField): r""" diff --git a/src/sage/manifolds/differentiable/vectorframe.py b/src/sage/manifolds/differentiable/vectorframe.py index a284c6487b6..594d2e9a729 100644 --- a/src/sage/manifolds/differentiable/vectorframe.py +++ b/src/sage/manifolds/differentiable/vectorframe.py @@ -1554,6 +1554,7 @@ def set_name(self, symbol, latex_symbol=None, indices=None, #****************************************************************************** + class CoordCoFrame(CoFrame): r""" Coordinate coframe on a differentiable manifold. @@ -1667,6 +1668,7 @@ def _repr_(self): #****************************************************************************** + class CoordFrame(VectorFrame): r""" Coordinate frame on a differentiable manifold. diff --git a/src/sage/manifolds/family.py b/src/sage/manifolds/family.py index f9c3404535e..565fa2401cc 100644 --- a/src/sage/manifolds/family.py +++ b/src/sage/manifolds/family.py @@ -28,6 +28,7 @@ from functools import total_ordering from sage.sets.family import FiniteFamily + @total_ordering class ManifoldObjectFiniteFamily(FiniteFamily): @@ -181,6 +182,7 @@ def _latex_(self): """ return self._latex_name + class ManifoldSubsetFiniteFamily(ManifoldObjectFiniteFamily): r""" diff --git a/src/sage/manifolds/local_frame.py b/src/sage/manifolds/local_frame.py index 99fcbe4acff..42e1579640d 100644 --- a/src/sage/manifolds/local_frame.py +++ b/src/sage/manifolds/local_frame.py @@ -408,6 +408,7 @@ def set_name(self, symbol, latex_symbol=None, indices=None, #****************************************************************************** + class LocalFrame(FreeModuleBasis): r""" Local frame on a vector bundle. @@ -1232,6 +1233,7 @@ def set_name(self, symbol, latex_symbol=None, indices=None, #****************************************************************************** + class TrivializationCoFrame(LocalCoFrame): r""" Trivialization coframe on a vector bundle. @@ -1364,6 +1366,7 @@ def _repr_(self): #****************************************************************************** + class TrivializationFrame(LocalFrame): r""" Trivialization frame on a topological vector bundle. diff --git a/src/sage/manifolds/manifold_homset.py b/src/sage/manifolds/manifold_homset.py index 78c9bc9984c..c390233ca55 100644 --- a/src/sage/manifolds/manifold_homset.py +++ b/src/sage/manifolds/manifold_homset.py @@ -33,6 +33,7 @@ from sage.manifolds.continuous_map import ContinuousMap from sage.misc.cachefunc import cached_method + class TopologicalManifoldHomset(UniqueRepresentation, Homset): r""" Set of continuous maps between two topological manifolds. diff --git a/src/sage/manifolds/operators.py b/src/sage/manifolds/operators.py index 636c11db149..eed5df22eb5 100644 --- a/src/sage/manifolds/operators.py +++ b/src/sage/manifolds/operators.py @@ -43,6 +43,7 @@ # http://www.gnu.org/licenses/ #***************************************************************************** + def grad(scalar): r""" Gradient operator. @@ -94,6 +95,7 @@ def grad(scalar): """ return scalar.gradient() + def div(tensor): r""" Divergence operator. @@ -167,6 +169,7 @@ def div(tensor): """ return tensor.divergence() + def curl(vector): r""" Curl operator. @@ -234,6 +237,7 @@ def curl(vector): """ return vector.curl() + def laplacian(field): r""" Laplace-Beltrami operator. @@ -294,6 +298,7 @@ def laplacian(field): """ return field.laplacian() + def dalembertian(field): r""" d'Alembert operator. diff --git a/src/sage/manifolds/point.py b/src/sage/manifolds/point.py index f50ae75f553..b3647cc1447 100644 --- a/src/sage/manifolds/point.py +++ b/src/sage/manifolds/point.py @@ -92,6 +92,7 @@ from sage.symbolic.expression import Expression from sage.rings.integer_ring import ZZ + class ManifoldPoint(Element): r""" Point of a topological manifold. diff --git a/src/sage/manifolds/scalarfield_algebra.py b/src/sage/manifolds/scalarfield_algebra.py index 311f749adf3..960b4514387 100644 --- a/src/sage/manifolds/scalarfield_algebra.py +++ b/src/sage/manifolds/scalarfield_algebra.py @@ -38,6 +38,7 @@ from sage.symbolic.ring import SymbolicRing, SR from sage.manifolds.scalarfield import ScalarField + class ScalarFieldAlgebra(UniqueRepresentation, Parent): r""" Commutative algebra of scalar fields on a topological manifold. diff --git a/src/sage/manifolds/section.py b/src/sage/manifolds/section.py index 50ab4531cb6..75af42a57e5 100644 --- a/src/sage/manifolds/section.py +++ b/src/sage/manifolds/section.py @@ -25,6 +25,7 @@ from sage.rings.integer import Integer from sage.rings.integer_ring import ZZ + class Section(ModuleElementWithMutability): r""" Section in a vector bundle. @@ -2250,6 +2251,7 @@ def set_immutable(self): #****************************************************************************** + class TrivialSection(FiniteRankFreeModuleElement, Section): r""" Section in a trivial vector bundle. diff --git a/src/sage/manifolds/section_module.py b/src/sage/manifolds/section_module.py index 5c654762977..6192045f45a 100644 --- a/src/sage/manifolds/section_module.py +++ b/src/sage/manifolds/section_module.py @@ -34,6 +34,7 @@ from sage.tensor.modules.finite_rank_free_module import FiniteRankFreeModule from sage.manifolds.section import Section, TrivialSection + class SectionModule(UniqueRepresentation, Parent): r""" Module of sections over a vector bundle `E \to M` of class `C^k` on a domain @@ -476,6 +477,7 @@ def set_default_frame(self, basis): #****************************************************************************** + class SectionFreeModule(FiniteRankFreeModule): r""" Free module of sections over a vector bundle `E \to M` of class `C^k` on a diff --git a/src/sage/manifolds/structure.py b/src/sage/manifolds/structure.py index cf6a9466f9a..ed166b6438a 100644 --- a/src/sage/manifolds/structure.py +++ b/src/sage/manifolds/structure.py @@ -35,6 +35,8 @@ # This is a slight abuse by making this a Singleton, but there is no # need to have different copies of this object. + + class TopologicalStructure(Singleton): """ The structure of a topological manifold over a general topological field. @@ -82,6 +84,7 @@ def subcategory(self, cat): """ return cat + class DifferentialStructure(Singleton): """ The structure of a differentiable manifold over a general topological @@ -130,6 +133,7 @@ def subcategory(self, cat): """ return cat + class PseudoRiemannianStructure(Singleton): """ The structure of a pseudo-Riemannian manifold. @@ -153,6 +157,7 @@ def subcategory(self, cat): """ return cat + class RiemannianStructure(Singleton): """ The structure of a Riemannian manifold. @@ -176,6 +181,7 @@ def subcategory(self, cat): """ return cat + class LorentzianStructure(Singleton): """ The structure of a Lorentzian manifold. @@ -199,6 +205,7 @@ def subcategory(self, cat): """ return cat + class DegenerateStructure(Singleton): """ The structure of a degenerate manifold. diff --git a/src/sage/manifolds/subset.py b/src/sage/manifolds/subset.py index 5a3f9238a9a..453fa02de2f 100644 --- a/src/sage/manifolds/subset.py +++ b/src/sage/manifolds/subset.py @@ -75,6 +75,7 @@ from sage.manifolds.family import ManifoldObjectFiniteFamily, ManifoldSubsetFiniteFamily from sage.manifolds.point import ManifoldPoint + class ManifoldSubset(UniqueRepresentation, Parent): r""" Subset of a topological manifold. diff --git a/src/sage/manifolds/subsets/closure.py b/src/sage/manifolds/subsets/closure.py index 9be9f7f9939..b1eb8d37835 100644 --- a/src/sage/manifolds/subsets/closure.py +++ b/src/sage/manifolds/subsets/closure.py @@ -17,6 +17,7 @@ from sage.manifolds.subset import ManifoldSubset + class ManifoldSubsetClosure(ManifoldSubset): r""" diff --git a/src/sage/manifolds/trivialization.py b/src/sage/manifolds/trivialization.py index 940ce857132..4c718db8ffe 100644 --- a/src/sage/manifolds/trivialization.py +++ b/src/sage/manifolds/trivialization.py @@ -24,6 +24,7 @@ from sage.structure.unique_representation import UniqueRepresentation from sage.manifolds.local_frame import TrivializationFrame + class Trivialization(UniqueRepresentation, SageObject): r""" A local trivialization of a given vector bundle. @@ -302,6 +303,7 @@ def coframe(self): # ***************************************************************************** + class TransitionMap(SageObject): r""" Transition map between two trivializations. diff --git a/src/sage/manifolds/utilities.py b/src/sage/manifolds/utilities.py index b51b7ace03d..190213eeb41 100644 --- a/src/sage/manifolds/utilities.py +++ b/src/sage/manifolds/utilities.py @@ -672,6 +672,7 @@ def simplify_chain_generic(expr): expr = expr.expand_sum() return expr + def simplify_chain_generic_sympy(expr): r""" Apply a chain of simplifications to a sympy expression. @@ -731,6 +732,7 @@ def simplify_chain_generic_sympy(expr): expr = expr.simplify() return expr + def simplify_chain_real_sympy(expr): r""" Apply a chain of simplifications to a sympy expression, assuming the @@ -804,6 +806,7 @@ def simplify_chain_real_sympy(expr): #****************************************************************************** + class ExpressionNice(Expression): r""" Subclass of :class:`~sage.symbolic.expression.Expression` for a @@ -1229,6 +1232,7 @@ def _list_functions(ex, list_f): #****************************************************************************** + def set_axes_labels(graph, xlabel, ylabel, zlabel, **kwds): r""" Set axes labels for a 3D graphics object ``graph``. @@ -1278,6 +1282,7 @@ def set_axes_labels(graph, xlabel, ylabel, zlabel, **kwds): graph += text3d(' ' + zlabel, (xmin1, ymin1, z1), **kwds) return graph + def exterior_derivative(form): r""" Exterior derivative of a differential form. diff --git a/src/sage/manifolds/vector_bundle.py b/src/sage/manifolds/vector_bundle.py index fa2d277d012..ad830d68469 100644 --- a/src/sage/manifolds/vector_bundle.py +++ b/src/sage/manifolds/vector_bundle.py @@ -41,6 +41,7 @@ from sage.rings.integer import Integer from sage.manifolds.vector_bundle_fiber import VectorBundleFiber + class TopologicalVectorBundle(CategoryObject, UniqueRepresentation): r""" An instance of this class is a topological vector bundle `E \to B` over a diff --git a/src/sage/manifolds/vector_bundle_fiber.py b/src/sage/manifolds/vector_bundle_fiber.py index da255d46fd7..325ac1582b2 100644 --- a/src/sage/manifolds/vector_bundle_fiber.py +++ b/src/sage/manifolds/vector_bundle_fiber.py @@ -21,6 +21,7 @@ from sage.tensor.modules.finite_rank_free_module import FiniteRankFreeModule from sage.manifolds.vector_bundle_fiber_element import VectorBundleFiberElement + class VectorBundleFiber(FiniteRankFreeModule): r""" Fiber of a given vector bundle at a given point. diff --git a/src/sage/manifolds/vector_bundle_fiber_element.py b/src/sage/manifolds/vector_bundle_fiber_element.py index 19eaf08bb77..39f18691463 100644 --- a/src/sage/manifolds/vector_bundle_fiber_element.py +++ b/src/sage/manifolds/vector_bundle_fiber_element.py @@ -20,6 +20,7 @@ from sage.tensor.modules.free_module_element import FiniteRankFreeModuleElement + class VectorBundleFiberElement(FiniteRankFreeModuleElement): r""" Vector in a fiber of a vector bundle at the given point.