The Circle mathbb S^1

The $1$-dimensional sphere $\mathbb S^1$ represented by angles

The circle $\mathbb S^1$ possesses the following instances of the abstract types Manifold, MPoint, and TVector.

Manopt.CircleType.
Circle <: Manifold

The one-dimensional manifold $\mathbb S^1$ represented by angles. Note that one can also use the $n$-dimensional sphere with $n=1$ to obtain the same manifold represented by unit vectors in $\mathbb R^2$.

Abbreviation

S1

Constructor

Circle()

construct a circle

source
Manopt.S1PointType.
S1Point <: MPoint

a point $x\in\mathbb S^1$ represented by an angle getValue(x)$\in[-\pi,\pi)$, usually referred to as “cyclic“ or “phase” data.

source
S1TVector <: TVector

a tangent vector $\xi\in\mathbb S^1$ represented by a real valiue getValue(ξ)$\in\mathbb R$.

source

Functions

Base.expFunction.
exp(M,x,ξ,[t=1.0])

compute the exponential map on the Circle $\mathbb S^1$ with respect to the S1Point x and the S1TVector ξ, which can be shortened with t to . The formula reads

$y = (x+\xi)_{2\pi}$

where $(\cdot)_{2\pi}$ is the symmetric remainder modulo $2\pi$, see symRem.

source
Base.logMethod.
log(M,x,y)

compute the logarithmic map on the Circle $\mathbb S^1$, i.e., the S1TVector ξ whose corresponding geodesic starting from S1Point x reaches the S1Pointy after time 1. The formula reads

$\xi = (y-x)_{2\pi},$

where $(\cdot)_{2\pi}$ is the symmetric remainder modulo $2\pi$, see symRem.

source
LinearAlgebra.dotMethod.
dot(M,x,ξ,ν)

compute the inner product of two S1TVectors in the tangent space $T_x\mathbb S^1$ of the S1Point x. Since the values are angles, we obtain $\langle \xi,\nu\rangle_x = \xi\nu$.

source
LinearAlgebra.normMethod.
norm(M,x,ξ)

compute the norm of the S1TVector ξ in the tangent space $T_x\mathcal M$ at S1Point x of the Circle $\mathbb S^1$, which is just its absolute value $\lvert\xi\rvert$.

source
Manopt.distanceMethod.
distance(M,x,y)

return the distance two cyclic data items, which is given by $\lvert (x-y)_{2\pi} \rvert$, where $(\cdot)_{2\pi}$ is the symmetric remainder modulo $2\pi$, see symRem.

source
Manopt.embedMethod.
embed(M,x)

embed the CircleManifold, i.e. turn the S1Point into an SnPoint on the manifold Sphere(1) embedded in $\mathbb R^2$.

source
manifoldDimension(M)

return the dimension of the Circle manifold, i.e., 1.

source
manifoldDimension(x)

return the dimension of the manifold the S1Point x belongs to, i.e. of the Circle, which is 1.

source
Manopt.oppositeMethod.
opposite(M,x)

return the antipodal S1Point of x on the Circle M, i.e. $y = (x+\pi)_{2\pi}$.

source
parallelTransport(M,x,y,ξ)

compute the parallel transport of the S1TVector ξ from the tangent space $T_x\mathbb S^1$ at the S1Point x to $T_y\mathbb S^1$ at the S1Pointy. Since the Sphere M is represented in angles this is the identity.

source
randomMPoint(M,:Uniform)

return a random S1Point on the Circle $\mathbb S^1$ by picking a random element from $[-\pi,\pi)$ uniformly.

source
Manopt.randomTVectorFunction.
randomTVector(M,x [,Gaussian,σ=1.0])

returns a random tangent vector from the tangent space of the S1Point x on the Circle $\mathbb S^1$ by using a normal distribution with mean 0 and standard deviation 1.

source
Manopt.symRemFunction.
symRem(x,[T=π])

symmetric remainder of x with respect to the interall 2*T, i.e. (x+T)%2T, where the default for T is $\pi$

source
Manopt.tangentONBMethod.
(Ξ,κ) = tangentONB(M,x,y)

compute an ONB within the tangent space $T_x\mathcal M$ such that $\xi=\log_xy$ is the first vector and compute the eigenvalues of the curvature tensor $R(\Xi,\dot g)\dot g$, where $g=g_{x,\xi}$ is the geodesic with $g(0)=x$, $\dot g(0) = \xi$, i.e. $\kappa_1$ corresponding to $\Xi_1=\xi$ is zero.

source
Manopt.tangentONBMethod.
(Ξ,κ) = tangentONB(M,x,ξ)

compute an ONB within the tangent space $T_x\mathcal M$ such that $\xi$ is the first vector and compute the eigenvalues of the curvature tensor $R(\Xi,\dot g)\dot g$, where $g=g_{x,\xi}$ is the geodesic with $g(0)=x$, $\dot g(0) = \xi$, i.e. $\kappa_1$ corresponding to $\Xi_1=\xi$ is zero.

source
typicalDistance(M)

returns the typical distance on the Circle M: π.

source
validateMPoint(M,x)

validate, that a S1Point x has a valid value for a point on the Circle M$=\mathbb S^1$, i.e. is within $[-\pi,\pi)$.

source
validateTVector(M,x,ξ)

validate, that the S1TVector ξ is a valid tangent vector in the tangent space of the S1Point x ont the Circle M$=\mathbb S^1$, though this is always the case since all real values are valid.

source
Manopt.zeroTVectorMethod.
ξ = zeroTVector(M,x)

returns a zero vector in the tangent space $T_x\mathcal M$ of the S1Point $x\in\mathbb S^1$ on the CircleS1.

source