Circle
Manifolds.Circle โ TypeCircle{๐ฝ} <: Manifold{๐ฝ}The circle $๐^1$ is a manifold here represented by real-valued points in $[-ฯ,ฯ)$ or complex-valued points $z โ โ$ of absolute value $\lvert z\rvert = 1$.
Constructor
Circle(๐ฝ=โ)Generate the โ-valued Circle represented by angles, which alternatively can be set to use the AbstractNumbers ๐ฝ=โ to obtain the circle represented by โ-valued circle of unit numbers.
Base.exp โ Methodexp(M::Circle, p, X)Compute the exponential map on the Circle.
where $(\cdot)_{2ฯ}$ is the (symmetric) remainder with respect to division by $2ฯ$, i.e. in $[-ฯ,ฯ)$.
For the complex-valued case, the same formula as for the Sphere $๐^1$ is applied to values in the complex plane.
Base.log โ Methodlog(M::Circle, p, q)Compute the logarithmic map on the Circle M.
where $(\cdot)_{2ฯ}$ is the (symmetric) remainder with respect to division by $2ฯ$, i.e. in $[-ฯ,ฯ)$.
For the complex-valued case, the same formula as for the Sphere $๐^1$ is applied to values in the complex plane.
Manifolds.complex_dot โ Methodcomplex_dot(a, b)Compute the inner product of two (complex) numbers with in the complex plane.
Manifolds.sym_rem โ Methodsym_rem(x,[T=ฯ])Compute symmetric remainder of x with respect to the interall 2*T, i.e. (x+T)%2T, where the default for T is $ฯ$
ManifoldsBase.check_manifold_point โ Methodcheck_manifold_point(M::Circle, p)Check whether p is a point on the Circle M. For the real-valued case, x is an angle and hence it checks that $p โ [-ฯ,ฯ)$. for the complex-valued case, it is a unit number, $p โ โ$ with $\lvert p \rvert = 1$.
ManifoldsBase.check_tangent_vector โ Methodcheck_tangent_vector(M::Circle, p, X; check_base_point, kwargs...)Check whether X is a tangent vector in the tangent space of p on the Circle M. For the real-valued case represented by angles, all X are valid, since the tangent space is the whole real line. For the complex-valued case X has to lie on the line parallel to the tangent line at p in the complex plane, i.e. their inner product has to be zero. The optional parameter check_base_point indicates, whether to call check_manifold_point for p.
ManifoldsBase.distance โ Methoddistance(M::Circle, p, q)Compute the distance on the Circle M, which is the absolute value of the symmetric remainder of p and q for the real-valued case and the angle between both complex numbers in the Gaussian plane for the complex-valued case.
ManifoldsBase.get_coordinates โ Methodget_coordinates(M::Circle{โ}, p, X, B::DefaultOrthonormalBasis)Return tangent vector coordinates in the Lie algebra of the Circle.
ManifoldsBase.get_vector โ Methodget_vector(M::Circle{โ}, p, X, B::DefaultOrthonormalBasis)Return tangent vector from the coordinates in the Lie algebra of the Circle.
ManifoldsBase.injectivity_radius โ Methodinjectivity_radius(M::Circle[, p])Return the injectivity radius on the Circle M, i.e. $ฯ$.
ManifoldsBase.inner โ Methodinner(M::Circle, p, X, Y)Compute the inner product of the two tangent vectors X,Y from the tangent plane at p on the Circle M using the restriction of the metric from the embedding, i.e.
for the real case and
for the complex case interpreting complex numbers in the Gaussian plane.
ManifoldsBase.manifold_dimension โ Methodmanifold_dimension(M::Circle)Return the dimension of the Circle M, i.e. $\dim(๐^1) = 1$.
ManifoldsBase.project โ Methodproject(M::Circle, p, X)Project a value X onto the tangent space of the point p on the Circle M.
For the real-valued case this is just the identity. For the complex valued case X is projected onto the line in the complex plane that is parallel to the tangent to p on the unit circle and contains 0.
ManifoldsBase.project โ Methodproject(M::Circle, p)Project a point p onto the Circle M. For the real-valued case this is the remainder with respect to modulus $2ฯ$. For the complex-valued case the result is the projection of p onto the unit circle in the complex plane.
ManifoldsBase.vector_transport_to โ Methodvector_transport_to(M::Circle, p, X, q, ::ParallelTransport)Compute the parallel transport of X from the tangent space at p to the tangent space at q on the Circle M. For the real-valued case this results in the identity. For the complex-valud case, the formula is the same as for the Sphere(1) in the complex plane.
where log denotes the logarithmic map on M.
Statistics.mean โ Methodmean(M::Circle, x::AbstractVector[, w::AbstractWeights])Compute the Riemannian mean of x of points on the Circle $๐^1$, which is computed with wrapped mean, i.e. the remainder of the mean modulo 2ฯ.