Opened 15 months ago
Last modified 28 hours ago
#26355 needs_review enhancement
Degenerate Metric and Degenerate Metric Manifold
Reported by:  Dicolevrai  Owned by:  

Priority:  major  Milestone:  sage9.0 
Component:  geometry  Keywords:  Degenerate (or lightlike) submanifold 
Cc:  eric, gourgoulhon  Merged in:  
Authors:  Hans Fotsing Tetsing  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  public/manifolds/DegenerateMetricManifold (Commits)  Commit:  fac366bf56712dd7cc792197dbb179a98ad4567d 
Dependencies:  Stopgaps: 
Description (last modified by )
An *embedded (resp. immersed) degenerate submanifold of a proper
pseudoRiemannian manifold* (M,g)
is an embedded (resp. immersed)
submanifold H
of M
as a differentiable manifold such that pull
back of the metric tensor g
via the embedding (resp. immersion)
endows H
with the structure of a degenerate manifold.
Degenerate submanifolds are study in many fields of mathematics and physics,
for instance in Differential Geometry (especially in geometry of
lightlike submanifold) and in General Relativity. In geometry of lightlike
submanifolds, according to the dimension r
of the radical distribution
(see below for definition of radical distribution), degenerate submanifolds
have been classify into 4 subgroups: r
lightlike submanifolds, Coisotropic
submanifolds, Isotropic submanifolds and Totally lightlike submanifolds.
(See the book of Krishan L. Duggal and Aurel Bejancu in *REFERENCES*.)
In the present module, one can define any of the 4 types but most of the methods are implemented only for degenerate hypersurfaces who belong to
r
lightlike submanifolds. However, there might be generalized to
1
lightlike submanifolds. In the literature, there is a new approach (the rigging technique) for studying 1
lightlike submanifolds but
here we the method of Krishan L. Duggal and Aurel Bejancu base on
the screen distribution.
Let H
be a lightlike hypersurface of a pseudoRiemannian manifold
(M,g)
. Then the normal bundle T^\perp H
intersect the tangent
bundle TH
. The radical distribution is defined as
Rad(TH)=TH\cap T^\perp H
. In case of hypersurfaces, and more
generally 1
lightlike submanifolds, this is a rank 1 distribution.
A screen distribution S(TH)
is a complementary of Rad(TH)
in TH
.
Giving a screen distribution S(TH)
and a null vector field \xi
locally defined and spanning Rad(TH)
, there exists a unique
transversal null vector field 'N' locally defined and such that
g(N,\xi)=1
. From a transverse vector 'v', the null rigging 'N'
is giving by the formula
.. MATH::
N = \frac{1}{g(\xi, v)}\left(v\frac{g(v,v)}{2g(xi, v)}\xi\right)
Tensors on the ambient manifold M
are projected on H
along N
to obtain induced objects. For instance, the induced connection is the linear connexion defined on H
through the LeviCivitta connection of g
along N
.
To work on a degenerate submanifold, after defining H
as an instance of :class:~sage.manifolds.differentiable.manifold.DifferentiableManifold
, with the keyword *structure='degenerate_metric'*, you have to set a transvervector v
and screen distribution together with the radical distribution.
An example of degenerate submanifold from General Relativity is the
horizon of the Schwarzschild black hole. Allow us to recall that
Schwarzschild black hole is the first nontrivial solution of Einstein's equations. It describes the metric inside a star of radius R = 2m
, being m
the inertial mass of the star. It can be seen as an open ball in a Lorentzian manifold structure on \RR^4
::
Attachments (2)
Change History (42)
comment:1 Changed 15 months ago by
 Branch public/manifolds/DegenerateSubmanifold deleted
 Commit b2523bbbf62de2e1c4a39fab1aa557f68d92e2cf deleted
comment:2 Changed 15 months ago by
 Branch set to public/manifolds/LightlikeSubmanifold
 Commit set to 3ad4c004301268127b8c43989d33708eacb53370
 Status changed from new to needs_info
comment:3 Changed 15 months ago by
 Commit changed from 3ad4c004301268127b8c43989d33708eacb53370 to 9e1db14f7cb149995a0d7df91925811d3cbfe917
Branch pushed to git repo; I updated commit sha1. New commits:
9e1db14  Classes DegenerateManifold and DegenerateSubmanifold

comment:4 Changed 15 months ago by
 Cc egourgoulhon added; Eric Gourgoulhon removed
comment:5 Changed 14 months ago by
 Branch public/manifolds/LightlikeSubmanifold deleted
 Commit 9e1db14f7cb149995a0d7df91925811d3cbfe917 deleted
 Milestone changed from sage8.4 to sage8.5
comment:6 Changed 14 months ago by
 Branch set to public/manifolds/LightlikeSubmanifolds
 Commit set to 165d66a3437f45a100ace98a7b7500872b90828a
 Status changed from needs_info to needs_review
New commits:
165d66a  Lightlike submanifolds an degenerate metrics

comment:7 Changed 14 months ago by
 Commit changed from 165d66a3437f45a100ace98a7b7500872b90828a to 69fdf2237a3a1633e979d7e8e250824a9425a2d6
comment:8 Changed 14 months ago by
The keyword value degenerate
by
degenerate_metric
for the keyword
structure
of the constructor :function:
~sage.manifolds.manifold
, and all doctests have been written.
comment:9 Changed 12 months ago by
 Milestone changed from sage8.5 to sage8.6
comment:10 Changed 11 months ago by
 Milestone changed from sage8.6 to sage8.7
Retarging tickets optimistically to the next milestone. If you are responsible for this ticket (either its reporter or owner) and don't believe you are likely to complete this ticket before the next release (8.7) please retarget this ticket's milestone to sagepending or sagewishlist.
comment:11 Changed 11 months ago by
 Commit changed from 69fdf2237a3a1633e979d7e8e250824a9425a2d6 to 8f7d13e008b1e6620ebe85fec1214d6024c94a41
comment:12 Changed 9 months ago by
 Milestone changed from sage8.7 to sage8.8
Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)
comment:13 Changed 8 months ago by
 Branch public/manifolds/LightlikeSubmanifolds deleted
 Commit 8f7d13e008b1e6620ebe85fec1214d6024c94a41 deleted
comment:14 Changed 8 months ago by
 Branch set to public/manifolds/DegenerateMetric
 Commit set to d01c38a77546a11bcc00e7f442ecc34cd4091661
comment:15 Changed 5 months ago by
 Milestone changed from sage8.8 to sage8.9
Moving tickets from the Sage 8.8 milestone that have been actively worked on in the last six months to the next release milestone (optimistically).
comment:16 Changed 4 months ago by
 Branch public/manifolds/DegenerateMetric deleted
 Commit d01c38a77546a11bcc00e7f442ecc34cd4091661 deleted
comment:17 Changed 4 months ago by
 Branch set to public/manifolds/DegenerateMetrics
 Commit set to 86fce263f3b84eaee97038545637764fcf05c471
 Summary changed from Classes DegenerateManifold and DegenerateSubmanifold to Degenerate Metric and Degenerate Metric Manifold
Dear,
All tests passed this time. I will be happy if you would find time to review.
New commits:
86fce26  Degenerate Metric

comment:18 Changed 4 months ago by
 Commit changed from 86fce263f3b84eaee97038545637764fcf05c471 to d5926b27de12d1c5b929e657be6c43880f6746ab
comment:19 Changed 4 months ago by
 Commit changed from d5926b27de12d1c5b929e657be6c43880f6746ab to 3456617784ad22d949d216651cbde29d9ebe8705
Branch pushed to git repo; I updated commit sha1. New commits:
3456617  rst

comment:20 Changed 4 months ago by
 Branch changed from public/manifolds/DegenerateMetrics to public/manifolds/DegenerateMetricManifold
 Cc egourgoulhon removed
 Commit changed from 3456617784ad22d949d216651cbde29d9ebe8705 to 089b2103a5c951707a890fa10d66d2d147014b88
comment:21 Changed 3 months ago by
 Status changed from needs_review to needs_work
The documentation does not build (it looks like a file degenerate_metric.rst
is missing in src/doc/en/reference/manifolds
)
comment:22 Changed 3 months ago by
 Commit changed from 089b2103a5c951707a890fa10d66d2d147014b88 to 7693085d89d30cfe5f9451228b2036406bf6e82e
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
7693085  Adding degenerate_metric.rst

comment:23 Changed 3 months ago by
 Status changed from needs_work to needs_review
New commits:
7693085  Adding degenerate_metric.rst

comment:24 Changed 3 months ago by
The documentation does not build: I get the error message
OSError: /home/eric/sage/py3/local/lib/python3.7/sitepackages/sage/manifolds/differentiable/degenerate_submanifold.py:docstring of sage.manifolds.differentiable.degenerate_submanifold:7: WARNING: Inline interpreted text or phrase reference startstring without endstring.
See also the error in line 1772 of src/doc/en/reference/references/index.rst
reported by the patchbot.
comment:25 Changed 3 months ago by
Shouldn't "Shawrzschild" be "Schwarzschild" (appears several places).
Regarding the documentation, I skimmed it for formatting and fixed some of the problems. I am pretty sure there are more, for example cases where 'M'
should be `M`
(you want backquotes so the symbol will appear in math mode, not in quotes). In adapted_frame
, do you want to use \xi
instead of xi
?
I strongly encourage running make
and then opening up the reference manual (e.g. with ./sage c 'reference()'
, and then proofreading for both formatting and content. I just made formatting changes, no changes to the content.
comment:26 Changed 3 months ago by
 Commit changed from 7693085d89d30cfe5f9451228b2036406bf6e82e to 7b93c60a4397c9d028a8874b074374ca77093c3d
comment:27 Changed 3 months ago by
 Commit changed from 7b93c60a4397c9d028a8874b074374ca77093c3d to e9f8bba07c03da6e45bec04df721c115f4063959
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
e9f8bba  trac 26355: formatting for docstrings

comment:28 Changed 2 months ago by
 Description modified (diff)
comment:29 Changed 2 months ago by
 Milestone changed from sage8.9 to sage9.0
comment:30 Changed 2 months ago by
 Commit changed from e9f8bba07c03da6e45bec04df721c115f4063959 to 3a003dea55fe96685c7fe42ff03860211aea6c6b
comment:31 Changed 2 months ago by
 Cc eric gourgoulhon added
 Description modified (diff)
comment:32 Changed 2 weeks ago by
 Cc eric gourgoulhon removed
 Status changed from needs_review to positive_review
comment:33 Changed 2 weeks ago by
 Reviewers Eric Gourgoulhon deleted
 Status changed from positive_review to needs_review
Sorry for not having been able to do the review up to now. I will do it this week.
comment:34 followup: ↓ 35 Changed 7 days ago by
 Status changed from needs_review to needs_work
red branch
comment:35 in reply to: ↑ 34 Changed 7 days ago by
Replying to chapoton:
red branch
I'll perform a review in the coming days and will start by fixing the merge conflicts. They are due to the numerous tickets merged in the manifold section since the current ticket was prepared.
comment:36 Changed 6 days ago by
 Commit changed from 3a003dea55fe96685c7fe42ff03860211aea6c6b to 337d726800fd750409ae68e01aa8e046f5e64594
Branch pushed to git repo; I updated commit sha1. New commits:
337d726  Merge public/manifolds/DegenerateMetricManifold into Sage 9.0.beta9

comment:37 Changed 6 days ago by
 Status changed from needs_work to needs_review
The merge conflict is fixed. Let the patchbot run...
comment:38 Changed 5 days ago by
 Status changed from needs_review to needs_work
An issue is the time spent in doctesting the file degenerate_submanifold.py
: on my computer (core i7 processor), this takes 247 seconds. This is too long. For instance, doctesting pseudo_riemannian_submanifold.py
takes 95 seconds, which is already very long! Could you rewrite the doctests to reduce this time? (for instance by reducing the dimensionality). From the doctest section of the developer manual: long doctests should ideally complete in 5 seconds or less. We know that you (the author) want to show off the capabilities of your code, but this is not the place to do so. Longrunning tests will sooner or later hurt our ability to run the testsuite. Really, doctests should be as fast as possible while providing coverage for the code.
If you want to show capabilities of your code that requires rather long computations, please consider preparing a Jupyter notebook, that could be posted e.g. on the page of manifold examples.
Note that to track the long doctests, you can use the option warnlong
; for instance
./sage t long warnlong 5 src/sage/manifolds/differentiable/degenerate_submanifold.py
shows all doctests that takes more than 5 seconds.
Besides, there are some pyflakes errors:
degenerate_submanifold.py:174: 'sage.functions.other.factorial' imported but unused degenerate_submanifold.py:175: 'sage.symbolic.ring.SR' imported but unused degenerate_submanifold.py:176: 'sage.misc.cachefunc.cached_method' imported but unused degenerate_submanifold.py:177: 'sage.rings.integer.Integer' imported but unused degenerate_submanifold.py:178: 'queue.Queue' imported but unused degenerate_submanifold.py:582: local variable 'normal' is assigned to but never used degenerate_submanifold.py:2135: 'sage.tensor.modules.tensor_with_indices.TensorWithIndices' imported but unused
comment:39 Changed 28 hours ago by
 Commit changed from 337d726800fd750409ae68e01aa8e046f5e64594 to fac366bf56712dd7cc792197dbb179a98ad4567d
Branch pushed to git repo; I updated commit sha1. New commits:
8720884  Sheet to test DegenerateMetric

c063e00  Merge branch 'develop' of https://github.com/sagemath/sage into DegenerateMetric

3635ba4  Merge branch 'develop' of https://github.com/sagemath/sage into DegenerateMetric

8749a58  Degenerate Metric

c3a0991  Merge branch 'develop' of https://github.com/sagemath/sage into DegenerateMetric

6c756c8  Merge branch 'develop' of https://github.com/sagemath/sage into DegenerateMetric

4c00765  Fix conflicts

fac366b  Doctest time has been reduced

comment:40 Changed 28 hours ago by
 Cc eric gourgoulhon added
 Status changed from needs_work to needs_review
Time spent in doctesting the file degenerate_submanifold.py
has been considerably reduced. All imported but unused local variables have been deleted. I will be happy to post some Jupyter notebook to the page of manifold examples
New commits:
Classes DegenerateManifold and DegenerateSubmanifold