-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UTF8 Documentation rework #104
Conversation
A first note is – despite the |
It looks quite nice in github file preview. I'll check it more closely later.
It's OK. One small issue is that I'm used to denoting tangent vectors by lower case letters (u, v, w) but I can use your notation here. |
i am not saying my proposal should definetly stay unchanged, it's just close to what I am used to (despite that we currently write |
Codecov Report
@@ Coverage Diff @@
## master #104 +/- ##
=======================================
Coverage 94.29% 94.29%
=======================================
Files 44 44
Lines 2715 2715
=======================================
Hits 2560 2560
Misses 155 155 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for getting started on this! I have a few general comments.
Set notation, greek letters, and arrows can be converted to unicode equivalents.
RE ×
and ∘
, these sometimes end up looking really cramped. This is especially the case for the latter, which is why I didn't end up using it.
I personally don't like the look of the script characters, which are much more slanted than their equivalent mathcal.
There are a number of places where the old latex forms are still used. I noted a few but not all of them; you may need to grep to make sure none were missed.
For the mathcals, |
Co-Authored-By: Seth Axen <[email protected]>
Co-Authored-By: Seth Axen <[email protected]>
…folds.jl into documentation-rework
Sometimes markdown (especially tables) math and utf8 within that seems to work not that nicely. Then I remembered that for |
Further, I would like to unify notations, the table is my proposal of what I noticed, feel free to suggest further notations and check whether you agree with my proposal. We can of course discuss, With a finished unified notation I would adapt the notation accordingly in the docstrings, where we currently have 3-4 different notations. |
Co-Authored-By: Seth Axen <[email protected]>
…folds.jl into documentation-rework
Thanks for so carefully revising my proposed unification. It was actually some work; after finishing here I will to the same to base, also introducing code blue there'n stuff. I think I already reworked all your changes – noticed that the proposed changes (thanks for directly doing those) can be batch-commited when going through them in the files changed tab :) Just two questions remain I think
Can you elaborate on those two? I added |
…icManifold to pass down only the mutating version of exp, since we do the same for log.
…or other than the default metric one has to provide an implementation.
Thanks for doing this!
What I meant here was the differential in the sense used for Also
but it is used extensively in docstrings in #96. We should probably use it more extensively in I'll continue the review where I left off yesterday. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whew! Okay I noted a bunch more changes. Some of them appear in more places including lines not yet edited, so I'll list some general observations here:
- We need notation for basis vectors (and potentially separately for
Ξ
if not the same) - Notation for coefficients of a tangent vector in a basis (we sometimes use
X^i
, which I like) - We sometimes use
tr
and sometimestrace
for trace, we should pick one - There are a number of places where
v
was changed toX
, but the norm or square, for example, ofX
still hasv
in the name, so that the code is harder to follow I noted a few, but there were more. (e.g.vout
). - transpose and conjugate transpose are both still missing from notations table (see previous review)
- identity matrix and zero matrix should be in the notation table, and we should choose a convention whether they are bold or non-bold, mathrm or not (see e.g.
Stiefel
andRotations
). I generally like them non-bold and non mathrm. - "eminating" was in a bunch of places and should be "emanating" everywhere
\exp_pX
->\exp_p X
for clarity. Likewise\log_pq
->\log_p q
.
I probably won't have the time to review again for a few days, so I'll mark approved, and feel free to merge when you are satisfied. Thanks again!
| $\mathcal M$ | a manifold | $\mathcal M_1, \mathcal M_2,\ldots,\mathcal N$ | | | ||
| $\operatorname{Exp}$ | the matrix exponential | | | ||
| $\operatorname{Log}$ | the matrix logarithm | | | ||
| $\mathcal P_{q\gets p}X$ | parallel transport | | of the vector $X$ from $T_p\mathcal M$ to $T_q\mathcal M$ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain the use of this notation vs P_{p \to q}
? The latter seems to read better to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thats easy, if you concatenate parallel transports
src/statistics.jl
Outdated
ytmp = copy(yold) | ||
v = zero_tangent_vector(M, y) | ||
v = zero_tangent_vector(M, q) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
v
to X
in this file. Probably useful to change x
to p
as elsewhere to avoid confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left x
when it was a vector of points on the manifold. but I changed x0
to p0
.
…correct emanating.
… to the notations table.
Co-Authored-By: Seth Axen <[email protected]>
…folds.jl into documentation-rework # Conflicts: # src/manifolds/Sphere.jl # src/manifolds/Stiefel.jl
Additionally to It would be great if you could add I tried to find further For the matrices I also prefer non-bold non-mathrm, just Basis vectors are just Finally, I don't know how I came to "eminating" I corrected those occurences. I will keep this one open a day or two just to give everybody a possibility to take a final look. |
docs/src/notation.md
Outdated
| $^{\wedge}$ | (n-ary) Cartesian power of a manifold | | see [`PowerManifold`](@ref) | | ||
| $T^*_p \mathcal M$ | the cotangent space at $p$ | | | | ||
| $\xi$ | a cotangent vector from $T^*_p \mathcal M$ | $\xi_1, \xi_2,\ldots,\eta,\zeta$ | sometimes written with base point $\xi_p$. | | ||
| $n$ | dimension (of a manifold) | $n_1,n_2,\ldots,m, \operatorname{dim}(\mathcal M)$| for the real dimension sometimes also $\operatorname{dim}_{\mathbb R}(\mathcal M)$| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In docstrings \dim
is used instead of \operatorname{dim}
. Is this due to a documentation rendering issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's mainly due to me having missed to replace those, after I noticed \dim
is available. I replaced those two, too, now.
Works on #101 and introduces a notation overview. Here's the current details
We can not to anything against
\mathrm{M}
,\mathrm{H}
,\mathrm{T}
(for the Minkowski-norm, Hermitian and transposed vectors),...\operatorname
sI replaced
I noticed that the links to
allocate,
allocate_resultand
number_eltypereturn warnings – are they properly exported in
ManifoldsBase`?Within the table on notations.md on my machine it seems random whether math is recognized or not... can someone verify that? My change from
$
to``
dioes only randomly take effect.What do you think to the proposed notation? Some of that is really not unified currently (especially dot/inner and (co)tangents).