Skip to content
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

Merged
merged 79 commits into from
Feb 5, 2020
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
436eb29
update documentation to use more utf8, especially in math.
kellertuer Jan 25, 2020
fade359
update documentation, where this might not be that useful.
kellertuer Jan 25, 2020
8fca61f
Adds a notation page.
kellertuer Jan 25, 2020
ed6a6f1
\circ -> ⚬
kellertuer Jan 25, 2020
5f00666
fixes circ, since I mistakenly took the wrong circ.
kellertuer Jan 25, 2020
8ab0928
refactors a few further M.
kellertuer Jan 25, 2020
ed30878
removes a spurious 𝒩.
kellertuer Jan 26, 2020
103f773
Update docs/src/notation.md
kellertuer Jan 28, 2020
4bbd3da
Update src/manifolds/Hyperbolic.jl
kellertuer Jan 28, 2020
ffdcb35
replaces \gets with ←
kellertuer Jan 28, 2020
9bac84d
Merge branch 'documentation-rework' of github.com:JuliaNLSolvers/Mani…
kellertuer Jan 28, 2020
3cfa995
\dots to …
kellertuer Jan 28, 2020
7aba7f8
Replaces \to with → in docstrings.
kellertuer Jan 28, 2020
b0db476
Replace greek letters.
kellertuer Jan 28, 2020
ab8dc0e
Replaces \in \neq and \colon with their utf8s.
kellertuer Jan 28, 2020
783cebb
Changes lfloor and lfloor to their utf8s.
kellertuer Jan 28, 2020
7427d2a
revert ⨉ back to \times.
kellertuer Jan 28, 2020
adf01f7
revert ◦ back to \circ.
kellertuer Jan 28, 2020
eadf25a
removes double-mentioned functions.
kellertuer Jan 28, 2020
c7e8bbf
Fixes the notations table.
kellertuer Jan 28, 2020
e87d942
Fixes a copy-paste-error.
kellertuer Jan 28, 2020
d8d3c59
removes a few files that I added accidentially.
kellertuer Jan 28, 2020
177363e
move from x to p (to avoid confusion with x and X), revert · to \cdot…
kellertuer Jan 29, 2020
b8d62cc
Reworks/unifies the circle.
kellertuer Jan 29, 2020
06d4058
Finishes the Torus by completeing a docstring, unifies docstringforma…
kellertuer Jan 29, 2020
2b47fda
Merge branch 'master' into documentation-rework
kellertuer Jan 30, 2020
4040b41
update Euclidean docstrings.
kellertuer Jan 30, 2020
0a76a38
Replace \infty with ∞
kellertuer Jan 30, 2020
59ba59b
Starts reworking FixedRank.
kellertuer Jan 30, 2020
2f8a1fa
finishes documentation and variables until end of Hyperbolic manifold.
kellertuer Jan 30, 2020
fa11394
Finishes rework of Metric- and Powermanifold as well as Stiefel
kellertuer Jan 30, 2020
9873a60
Refactor SPD notations, especially LogCholesky now has p,q (X,Y) for …
kellertuer Jan 30, 2020
3474cca
Fixes bugs introduces by renaming Cholsky.
kellertuer Jan 30, 2020
bebdb2d
refactor Sphere & Vector Bundle.
kellertuer Jan 31, 2020
4c904bd
Finishes Symmetric & Rotations, replaces \pi->π.
kellertuer Feb 1, 2020
c5f41a1
rework product manifold.
kellertuer Feb 1, 2020
49e6329
refactor to notation.md
kellertuer Feb 1, 2020
46cbc06
use speaking and longer field names.
kellertuer Feb 1, 2020
f3269de
fixes a typo.
kellertuer Feb 1, 2020
2c46963
Fixes a few more replacement bugs.
kellertuer Feb 1, 2020
ae10f7b
Finally renamex fields `.x` to `.point`
kellertuer Feb 1, 2020
968a942
Fixes further .manifold fields, though I have introduced a bug that I…
kellertuer Feb 1, 2020
57d340c
Fixes two minor typos that were introduced by refactoring.
kellertuer Feb 1, 2020
e463523
fixes two mingled docstrings.
kellertuer Feb 4, 2020
d5cb228
improve capitalization and extend notation.md
kellertuer Feb 4, 2020
6431b7d
Update docs/src/orthonormal_bases.md
kellertuer Feb 4, 2020
7621743
Update src/groups/group.jl
kellertuer Feb 4, 2020
a44bddc
replaces two further math notations by utf8
kellertuer Feb 4, 2020
fc176a6
Merge branch 'documentation-rework' of github.com:JuliaNLSolvers/Mani…
kellertuer Feb 4, 2020
6e8ccb4
Update src/manifolds/CholeskySpace.jl
kellertuer Feb 4, 2020
a514bf2
Update src/manifolds/Circle.jl
kellertuer Feb 4, 2020
78a9b74
Update src/manifolds/ProductManifold.jl
kellertuer Feb 4, 2020
0fc2b70
Update src/manifolds/ProductManifold.jl
kellertuer Feb 4, 2020
3c77b77
Update src/manifolds/ProductManifold.jl
kellertuer Feb 4, 2020
24c8589
Replace wedge and vee by their utf8 representations.
kellertuer Feb 4, 2020
e89dc64
Update src/manifolds/ProductManifold.jl
kellertuer Feb 4, 2020
5ec77b8
Update src/manifolds/Circle.jl
kellertuer Feb 4, 2020
b1614d0
undo \vee since it rendered as a large or, replace `\times` with ×.
kellertuer Feb 4, 2020
4224994
Return from caligraphic UTF8 to $\mathcal ...$
kellertuer Feb 4, 2020
21837c3
replace `\partial` with `∂`.
kellertuer Feb 4, 2020
ddd69b3
Apply suggestions from code review
kellertuer Feb 4, 2020
59be2b2
Replace `\Gamme` with `Γ`.
kellertuer Feb 4, 2020
2a10ef7
update `\dim`.
kellertuer Feb 4, 2020
fcd9977
Merge branch 'documentation-rework' of github.com:JuliaNLSolvers/Mani…
kellertuer Feb 4, 2020
e1c06b0
use `\dim` more consistently throughout the docs of `manifold_dimensi…
kellertuer Feb 4, 2020
07f25b7
rename B.v to B.frame_direction in the DiagonalizingONB.
kellertuer Feb 4, 2020
3f72d23
adds a few test cases, rename B.v to B.frame_direction and unify Met…
kellertuer Feb 4, 2020
8c9cca5
fixes documentation for project tangent on the circle and adds a test.
kellertuer Feb 4, 2020
102c755
unify Metric Manifold to not implement exp/log neither but only exp!/…
kellertuer Feb 4, 2020
0be2cf3
Fixes a typo in MetricManifolds log documentation and explains that f…
kellertuer Feb 4, 2020
d20ab25
change vout to Y, introduce Cartesian product and power to notation, …
kellertuer Feb 5, 2020
92940a7
unifies spacing in math formulae, trace to tr, and adds further terms…
kellertuer Feb 5, 2020
b06cad5
Apply suggestions from code review
kellertuer Feb 5, 2020
741085b
apply the remaining changes from review.
kellertuer Feb 5, 2020
e7bba5c
Finalize notations.md.
kellertuer Feb 5, 2020
64f798f
Merge branch 'documentation-rework' of github.com:JuliaNLSolvers/Mani…
kellertuer Feb 5, 2020
fcb4895
Fixes a final typo.
kellertuer Feb 5, 2020
4e21e0e
unifies usage of \dim.
kellertuer Feb 5, 2020
4bef2c9
updates another docstring.
kellertuer Feb 5, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ makedocs(
"Statistics" => "statistics.md",
"Distributions" => "distributions.md",
"Orthonormal bases" => "orthonormal_bases.md",
"Notation" => "notation.md",
"Library" => [
"Number systems" => "lib/numbers.md",
"Public" => "lib/public.md",
Expand Down
2 changes: 1 addition & 1 deletion docs/src/manifolds/euclidean.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Euclidean space

The Euclidean space $\mathbb R^n$ is a simple model space, since it has curvature constantly zero everywhere; hence, nearly all operations simplify.
The Euclidean space $^n$ is a simple model space, since it has curvature constantly zero everywhere; hence, nearly all operations simplify.

```@autodocs
Modules = [Manifolds]
Expand Down
4 changes: 2 additions & 2 deletions docs/src/manifolds/graph.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Graph manifold

For a given graph $G(V,E)$ implemented using [`LightGraphs.jl`](https://juliagraphs.github.io/LightGraphs.jl/latest/), the [`GraphManifold`](@ref) models a [`PowerManifold`](@ref) either on the nodes or edges of the graph, depending on the [`GraphManifoldType`](@ref).
i.e., it's either a $\mathcal M^{\lvert V \rvert}$ for the case of a vertex manifold or a $\mathcal M^{\lvert E \rvert}$ for the case of a edge manifold.
i.e., it's either a $^{\lvert V \rvert}$ for the case of a vertex manifold or a $^{\lvert E \rvert}$ for the case of a edge manifold.

## Example:

To make a graph manifold over $\mathbb{R}^2$ with three vertices and two edges, one can use
To make a graph manifold over $^2$ with three vertices and two edges, one can use
```@example
using Manifolds
using LightGraphs
Expand Down
2 changes: 1 addition & 1 deletion docs/src/manifolds/product.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Product manifold

Product manifold $M = M_1 \times M_2 \times \dots M_n$ of manifolds $M_1, M_2, \dots, M_n$.
Product manifold $M = M_1 M_2 \dots M_n$ of manifolds $M_1, M_2, \dots, M_n$.
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
Points on the product manifold can be constructed using [`ProductRepr`](@ref) with canonical projections $\Pi_i \colon M \to M_i$ for $i \in 1, 2, \dots, n$ provided by [`submanifold_component`](@ref).
kellertuer marked this conversation as resolved.
Show resolved Hide resolved

```@autodocs
Expand Down
4 changes: 2 additions & 2 deletions docs/src/manifolds/rotations.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Rotations

The manifold $\mathrm{SO}(n)$ of orthogonal matrices with determinant $+1$ in $\mathbb R^{n\times n}$, i.e.
The manifold $\mathrm{SO}(n)$ of orthogonal matrices with determinant $+1$ in $^{n n}$, i.e.

$\mathrm{SO}(n) = \bigl\{R \in \mathbb{R}^{n\times n} \big| RR^{\mathrm{T}} =
$\mathrm{SO}(n) = \bigl\{R \in ^{n n} \big| RR^{\mathrm{T}} =
R^{\mathrm{T}}R = \mathrm{I}_n, \det(R) = 1 \bigr\}$

The Lie group $\mathrm{SO}(n)$ is a subgroup of the orthogonal group $\mathrm{O}(n)$ and also known as the special orthogonal group or the set of rotations group.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/manifolds/symmetricpositivedefinite.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The symmetric positive definite matrices

```math
\mathcal P(n) = \bigl\{ A \in \mathbb R^{n\times n}\ \big|\ A = A^{\mathrm{T}} \text{ and } x^{\mathrm{T}}Ax > 0 \text{ for } 0\neq x \in\mathbb R^n \bigr\}
\mathcal P(n) = \bigl\{ A \in ^{n n}\ \big|\ A = A^{\mathrm{T}} \text{ and } x^{\mathrm{T}}Ax > 0 \text{ for } 0\neq x \inℝ^n \bigr\}
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
```

```@docs
Expand Down
6 changes: 3 additions & 3 deletions docs/src/manifolds/torus.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Torus
The torus $\mathbb T^d \equiv [-π,π)^d$ is modeled as an [`AbstractPowerManifold`](@ref) of
The torus $𝕋^d \equiv [-π,π)^d$ is modeled as an [`AbstractPowerManifold`](@ref) of
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
the (real-valued) [`Circle`](@ref) and uses [`MultidimentionalArrayPowerRepresentation`](@ref).
Points on the torus are hence row vectors, $x\in\mathbb R^{d}$.
Points on the torus are hence row vectors, $x\inℝ^{d}$.
kellertuer marked this conversation as resolved.
Show resolved Hide resolved

## Example

The following code can be used to make a three-dimensional torus $\mathbb{T}^3$ and compute a tangent vector.
The following code can be used to make a three-dimensional torus $𝕋^3$ and compute a tangent vector.
```@example
using Manifolds
M = Torus(3)
Expand Down
4 changes: 2 additions & 2 deletions docs/src/manifolds/vector_bundle.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Vector bundles

Vector bundle $E$ is a manifold that is built on top of another manifold $M$ (base space).
It is characterized by a continuous function $\Pi \colon E \to M$, such that for each point $x \in M$ the preimage of $x$ by $\Pi$, $\Pi^{-1}(\{x\})$, has a structure of a vector space.
Vector bundle $E$ is a manifold that is built on top of another manifold $$ (base space).
It is characterized by a continuous function $\Pi \colon E \to $, such that for each point $x \in $ the preimage of $x$ by $\Pi$, $\Pi^{-1}(\{x\})$, has a structure of a vector space.
These vector spaces are called fibers.
Bundle projection can be performed using function [`bundle_projection`](@ref).

Expand Down
24 changes: 24 additions & 0 deletions docs/src/notation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Notation overview

Since manifolds include a reasonable amount of elements and functions, the
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
following list tries to keep an overview of used notation throughout `Manifolds.jl`.
The order by terminology. Thy might be used in a plain form within the code or
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
when referring to that code. This is for example the case the caligraphic symbols.

Within the documented functions the utf8 symbols are used whenever possible,
as long as that renders still in TeX within this documentation.
kellertuer marked this conversation as resolved.
Show resolved Hide resolved

A

| Symbol | Description | Also used | Comment |
|:--:|:-------------- |:--:|:--- |
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
| ``T^*_x ℳ`` | The cotangent space at ``x`` | | |
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
| ``ξ`` | A cotangent vector from ``T^*_x ℳ`` | ``ξ_1,ξ_2,…,η,𝛇`` | |
| ``F`` | A fiber | |
| ``⟨·,·⟩`` | inner product (in ``T^*_x ℳ``) | ``⟨·,·⟩_x, g_x(·,·)`` |
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
| ``ℳ`` | A manifold | ``ℳ_1, ℳ_2,…,𝒩`` | |
| ``𝒫_{y\gets x}X`` | parallel Transport |
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
| ``x`` | A point on ℳ | ``x_1,x_2,…,y,z`` | |
| ``T_x ℳ`` | The tangent space at ``x`` | | |
| ``X`` | A tangent vector from ``T_x ℳ`` | ``X_1,X_2,…,Y,Z`` | sometimes with the base point in the index, ``X_x``. |
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
| ``B`` | The Vector bundle | |
4 changes: 2 additions & 2 deletions docs/src/orthonormal_bases.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Orthonormal bases

The following functions and types provide support for orthonormal bases of the tangent space of different manifolds.
An orthonormal basis of the tangent space $T_x M$ of (real) dimension $N$ has a real-coefficient basis $e_1, e_2, \dots, e_N$ if $\mathrm{Re}(g_x(e_i, e_j)) = \delta_{ij}$ for each $i,j \in \{1, 2, \dots, N\}$ where $g_x$ is the Riemannian metric at point $x$.
A vector $v$ from the tangent space $T_x M$ can be expressed as a sum $v = v^i e_i$ where coefficients $v^i$ are calculated as $v^i = \mathrm{Re}(g_x(v, e_i))$.
An orthonormal basis of the tangent space $T_x $ of (real) dimension $N$ has a real-coefficient basis $e_1, e_2, \dots, e_N$ if $\mathrm{Re}(g_x(e_i, e_j)) = \delta_{ij}$ for each $i,j \in \{1, 2, \dots, N\}$ where $g_x$ is the Riemannian metric at point $x$.
A vector $v$ from the tangent space $T_x $ can be expressed as a sum $v = v^i e_i$ where coefficients $v^i$ are calculated as $v^i = \mathrm{Re}(g_x(v, e_i))$.
kellertuer marked this conversation as resolved.
Show resolved Hide resolved

The main types are:
* [`ArbitraryOrthonormalBasis`](@ref), which is designed to work when no special properties of the tangent space basis are required.
Expand Down
32 changes: 16 additions & 16 deletions src/groups/group.jl
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ end
inv(G::AbstractGroupManifold, x)

Inverse $x^{-1} ∈ G$ of an element $x ∈ G$, such that
$x \circ x^{-1} = x^{-1} \circ x = e ∈ G$.
$x x^{-1} = x^{-1} x = e ∈ G$.
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
"""
inv(M::Manifold, x) = inv(M, x, is_decorator_manifold(M))
inv(M::Manifold, x, ::Val{true}) = inv(M.manifold, x)
Expand All @@ -253,7 +253,7 @@ end
inv!(G::AbstractGroupManifold, y, x)

Inverse $x^{-1} ∈ G$ of an element $x ∈ G$, such that
$x \circ x^{-1} = x^{-1} \circ x = e ∈ G$.
$x x^{-1} = x^{-1} x = e ∈ G$.
The result is saved to `y`.
"""
inv!(M::Manifold, y, x) = inv!(M, y, x, is_decorator_manifold(M))
Expand All @@ -265,7 +265,7 @@ end
@doc doc"""
identity(G::AbstractGroupManifold, x)

Identity element $e ∈ G$, such that for any element $x ∈ G$, $x \circ e = e \circ x = x$.
Identity element $e ∈ G$, such that for any element $x ∈ G$, $x e = e x = x$.
The returned element is of a similar type to `x`.
"""
identity(M::Manifold, x) = identity(M, x, is_decorator_manifold(M))
Expand Down Expand Up @@ -315,7 +315,7 @@ isapprox(::GT, ::E, ::E; kwargs...) where {GT<:GroupManifold,E<:Identity{GT}} =
@doc doc"""
compose(G::AbstractGroupManifold, x, y)

Compose elements $x,y ∈ G$ using the group operation $x \circ y$.
Compose elements $x,y ∈ G$ using the group operation $x y$.
"""
compose(M::Manifold, x, y) = compose(M, x, y, is_decorator_manifold(M))
compose(M::Manifold, x, y, ::Val{true}) = compose(M.manifold, x, y)
Expand Down Expand Up @@ -343,8 +343,8 @@ For group elements $x,y ∈ G$, translate $y$ by $x$ with the specified conventi
left $L_x$ or right $R_x$, defined as
```math
\begin{aligned}
L_x &: y ↦ x \circ y\\
R_x &: y ↦ y \circ x.
L_x &: y ↦ x y\\
R_x &: y ↦ y x.
\end{aligned}
```
"""
Expand All @@ -369,8 +369,8 @@ For group elements $x,y ∈ G$, translate $y$ by $x$ with the specified conventi
left $L_x$ or right $R_x$, defined as
```math
\begin{aligned}
L_x &: y ↦ x \circ y\\
R_x &: y ↦ y \circ x.
L_x &: y ↦ x y\\
R_x &: y ↦ y x.
\end{aligned}
```
Result of the operation is saved in `z`.
Expand All @@ -396,8 +396,8 @@ For group elements $x,y ∈ G$, inverse translate $y$ by $x$ with the specified
either left $L_x^{-1}$ or right $R_x^{-1}$, defined as
```math
\begin{aligned}
L_x^{-1} &: y ↦ x^{-1} \circ y\\
R_x^{-1} &: y ↦ y \circ x^{-1}.
L_x^{-1} &: y ↦ x^{-1} y\\
R_x^{-1} &: y ↦ y x^{-1}.
\end{aligned}
```
"""
Expand All @@ -422,8 +422,8 @@ For group elements $x,y ∈ G$, inverse translate $y$ by $x$ with the specified
either left $L_x^{-1}$ or right $R_x^{-1}$, defined as
```math
\begin{aligned}
L_x^{-1} &: y ↦ x^{-1} \circ y\\
R_x^{-1} &: y ↦ y \circ x^{-1}.
L_x^{-1} &: y ↦ x^{-1} y\\
R_x^{-1} &: y ↦ y x^{-1}.
\end{aligned}
```
Result is saved in `z`.
Expand All @@ -450,8 +450,8 @@ differential of the translation by $x$ on $v$, written as $(\mathrm{d}τ_x)_y (v
specified left or right convention. The differential transports vectors:
```math
\begin{aligned}
(\mathrm{d}L_x)_y (v) &: T_y G → T_{x \circ y} G\\
(\mathrm{d}R_x)_y (v) &: T_y G → T_{y \circ x} G\\
(\mathrm{d}L_x)_y (v) &: T_y G → T_{x y} G\\
(\mathrm{d}R_x)_y (v) &: T_y G → T_{y x} G\\
\end{aligned}
```
"""
Expand Down Expand Up @@ -494,8 +494,8 @@ $((\mathrm{d}τ_x)_y)^{-1} (v) = (\mathrm{d}τ_{x^{-1}})_y (v)$, with the specif
right convention. The differential transports vectors:
```math
\begin{aligned}
((\mathrm{d}L_x)_y)^{-1} (v) &: T_y G → T_{x^{-1} \circ y} G\\
((\mathrm{d}R_x)_y)^{-1} (v) &: T_y G → T_{y \circ x^{-1}} G\\
((\mathrm{d}L_x)_y)^{-1} (v) &: T_y G → T_{x^{-1} y} G\\
((\mathrm{d}R_x)_y)^{-1} (v) &: T_y G → T_{y x^{-1}} G\\
\end{aligned}
```
"""
Expand Down
16 changes: 8 additions & 8 deletions src/groups/group_action.jl
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ direction(::AbstractGroupAction{AD}) where {AD} = AD()

Apply action `a` to the point `x`. The action is specified by `A`.
Unless otherwise specified, right actions are defined in terms of the left action. For
point $x ∈ M$ and action element $a$, the right action is
point $x ∈ $ and action element $a$, the right action is

````math
x ⋅ a ≐ a^{-1} ⋅ x.
Expand Down Expand Up @@ -82,15 +82,15 @@ end
@doc doc"""
apply_diff(A::AbstractGroupAction, a, x, v)

For group point $x ∈ M$ and tangent vector $v ∈ T_x M$, compute the action of the
For group point $x ∈ $ and tangent vector $v ∈ T_x $, compute the action of the
differential of the action of $a ∈ G$ on $v$, specified by rule `A`. Written as
$(\mathrm{d}τ_a)_x (v)$, with the specified left or right convention, the differential
transports vectors

````math
\begin{aligned}
(\mathrm{d}L_a)_x (v) &: T_x M → T_{a ⋅ x} M\\
(\mathrm{d}R_a)_x (v) &: T_x M → T_{x ⋅ a} M
(\mathrm{d}L_a)_x (v) &: T_x → T_{a ⋅ x} \\
(\mathrm{d}R_a)_x (v) &: T_x → T_{x ⋅ a}
\end{aligned}
````
"""
Expand All @@ -105,15 +105,15 @@ end
@doc doc"""
inverse_apply_diff(A::AbstractGroupAction, a, x, v)

For group point $x ∈ M$ and tangent vector $v ∈ T_x M$, compute the action of the
For group point $x ∈ $ and tangent vector $v ∈ T_x $, compute the action of the
differential of the inverse action of $a ∈ G$ on $v$, specified by rule `A`. Written as
$(\mathrm{d}τ_a)_x^{-1} (v)$, with the specified left or right convention, the
differential transports vectors

````math
\begin{aligned}
(\mathrm{d}L_a)_x^{-1} (v) &: T_x M → T_{a^{-1} ⋅ x} M\\
(\mathrm{d}R_a)_x^{-1} (v) &: T_x M → T_{x ⋅ a^{-1}} M
(\mathrm{d}L_a)_x^{-1} (v) &: T_x → T_{a^{-1} ⋅ x} \\
(\mathrm{d}R_a)_x^{-1} (v) &: T_x → T_{x ⋅ a^{-1}}
\end{aligned}
````
"""
Expand All @@ -139,7 +139,7 @@ the element closest to `x2` in the metric of the G-manifold:
```math
\arg\min_{g ∈ G} d_M(g ⋅ x_1, x_2)
```
where $G$ is the group that acts on the G-manifold $M$.
where $G$ is the group that acts on the G-manifold $$.
"""
function optimal_alignment(A::AbstractGroupAction, x1, x2)
error("optimal_alignment not implemented for $(typeof(A)) and points $(typeof(x1)) and $(typeof(x2)).")
Expand Down
2 changes: 1 addition & 1 deletion src/groups/semidirect_product_group.jl
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ $G = N ⋊_θ H$, where $θ: H × N \to N$ is an automorphism action
of $H$ on $N$. The group $G$ has the composition rule

````math
g \circ g' = (n, h) \circ (n', h') = (n \circ θ_h(n'), h \circ h')
g g' = (n, h) (n', h') = (n θ_h(n'), h h')
````

and the inverse
Expand Down
2 changes: 1 addition & 1 deletion src/groups/special_euclidean.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ SemidirectProductGroup(Tn, SOn, RotationAction(Tn, SOn))
```

Points on $\mathrm{SE}(n)$ may be represented as points on the underlying product manifold
$\mathrm{T}(n) \times \mathrm{SO}(n)$ or as affine matrices with size `(n + 1, n + 1)`.
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
$\mathrm{T}(n) \mathrm{SO}(n)$ or as affine matrices with size `(n + 1, n + 1)`.
"""
const SpecialEuclidean{N} = SemidirectProductGroup{
TranslationGroup{Tuple{N},ℝ},
Expand Down
8 changes: 4 additions & 4 deletions src/manifolds/CholeskySpace.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ are for example summarized in Table 1 of [^Lin2019].

CholeskySpace(n)

Generate the manifold of $n\times n$ lower triangular matrices with positive diagonal.
Generate the manifold of $n n$ lower triangular matrices with positive diagonal.

[^Lin2019]:
> Lin, Zenhua: "Riemannian Geometry of Symmetric Positive Definite Matrices via
Expand Down Expand Up @@ -83,7 +83,7 @@ matrices `x`, `y` that are lower triangular with positive diagonal. The formula
reads

````math
d_{\mathcal M}(x,y) = \sqrt{\sum_{i>j} (x_{ij}-y_{ij})^2 +
d_{}(x,y) = \sqrt{\sum_{i>j} (x_{ij}-y_{ij})^2 +
\sum_{j=1}^m (\log x_{jj} - \log y_{jj})^2
}
````
Expand Down Expand Up @@ -191,11 +191,11 @@ Parallely transport the tangent vector `v` at `x` along the geodesic to `y`
on to the [`CholeskySpace`](@ref) manifold `M`. The formula reads

````math
\mathcal P_{y\gets x}(v) = \lfloor v \rfloor
\mathcal 𝒫_{y\gets x}(v) = \lfloor v \rfloor
+ \operatorname{diag}(y)\operatorname{diag}(x)^{-1}\operatorname{diag}(v),
````

where $\lfloor\cdot\rfloor$ denotes the strictly lower triangular matrix,
where $\lfloor·\rfloor$ denotes the strictly lower triangular matrix,
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
and $\operatorname{diag}$ extracts the diagonal matrix.
"""
vector_transport_to(::CholeskySpace, ::Any, ::Any, ::Any, ::ParallelTransport)
Expand Down
16 changes: 8 additions & 8 deletions src/manifolds/Circle.jl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
@doc doc"""
Circle{F} <: Manifold

The circle $\mathbb S^1$ as a manifold ere manifold represented by
real-valued data in $[-\pi,\pi)$ or complex-valued data $z\in \mathbb C$ of absolute value
The circle $𝕊^1$ as a manifold ere manifold represented by
kellertuer marked this conversation as resolved.
Show resolved Hide resolved
real-valued data in $[-\pi,\pi)$ or complex-valued data $z\in $ of absolute value
$\lvert z\rvert = 1$.
# Constructor

Expand All @@ -21,7 +21,7 @@ Circle(f::AbstractNumbers = ℝ) = Circle{f}()

Check whether `x` is a point on the [`Circle`](@ref) `M`.
For the real-valued case, `x` is an angle and hence it checks that $x \in [-\pi,\pi)$.
for the complex-valued case its a unit number, $x \in \mathbb C$ with $\lvert x \rvert = 1$.
for the complex-valued case its a unit number, $x \in $ with $\lvert x \rvert = 1$.
"""
check_manifold_point(::Circle, ::Any...)

Expand Down Expand Up @@ -100,7 +100,7 @@ Compute the exponential map on the [`Circle`](@ref).
````math
\exp_xv = (x+v)_{2\pi},
````
where $(\cdot)$ is the (symmetric) remainder with respect to division by $2\pi$,
where $(·)$ is the (symmetric) remainder with respect to division by $2\pi$,
i.e. in $[-\pi,\pi)$.

For the complex-valued case the formula is the same as for the [`Sphere`](@ref)
Expand Down Expand Up @@ -203,7 +203,7 @@ Compute the logarithmic map on the [`Circle`](@ref) `M`.
````math
\exp_xv = (y,x)_{2\pi},
````
where $(\cdot)$ is the (symmetric) remainder with respect to division by $2\pi$,
where $(·)$ is the (symmetric) remainder with respect to division by $2\pi$,
i.e. in $[-\pi,\pi)$.

For the complex-valued case the formula is the same as for the [`Sphere`](@ref)
Expand Down Expand Up @@ -244,15 +244,15 @@ end
manifold_dimension(M::Circle)

Return the dimension of the [`Circle`](@ref) `M`,
i.e. $\operatorname{dim}(\mathbb S^1) = 1$.
i.e. $\operatorname{dim}(𝕊^1) = 1$.
"""
manifold_dimension(::Circle) = 1

@doc doc"""
mean(M::Circle, x::AbstractVector[, w::AbstractWeights])

Compute the Riemannian [`mean`](@ref mean(M::Manifold, args...)) of `x` on the
[`Circle`](@ref) $\mathbb S^1$ by the wrapped mean, i.e. the remainder of the
[`Circle`](@ref) $𝕊^1$ by the wrapped mean, i.e. the remainder of the
mean modulo 2π.
"""
mean(::Circle, ::Any)
Expand Down Expand Up @@ -320,7 +320,7 @@ For the real-valued case this results in the identity.
For the complex-valud case, the formula is the same as for the [`Sphere`](@ref)`(1)` in the
complex plane.
````math
P_{y\gets x}(v) = v - \frac{\langle \log_xy,v\rangle_x}{d^2_{\mathbb C}(x,y)}
𝒫_{y\gets x}(v) = v - \frac{⟨\log_xy,v⟩_x}{d^2_{}(x,y)}
\bigl(\log_xy + \log_yx \bigr),
````
where [`log`](@ref) denotes the logarithmic map on `M`.
Expand Down
Loading