Learn R Programming

polarzonoid (version 0.3-0)

arcs and sphere: The Homeomorphism between the Space of \(n\) or fewer arcs, and the sphere \(\mathbb{S}^{2n}\)

Description

This section calculates the natural homeomorphism from the space of \(n\) or fewer arcs on the circle, denoted by \(A_n\), to the sphere \(\mathbb{S}^{2n}\), and its inverse.

Usage

spherefromarcs( arcmat, n=NULL, gapmin=0 )
spherefromarcs_plus( arcmat, n=NULL, gapmin=5e-10 )
arcsfromsphere( u )

Value

spherefromarcs() maps from \(A_n\) to \(\mathbb{S}^{2n}\); it returns a unit vector in \(\mathbb{R}^{2n+1}\). It is simply the composition of boundaryfromarcs()

and spherefromboundary(), with a little error checking.

In case of error, it returns NULL.

spherefromarcs_plus() is the same as spherefromarcs(), except it returns additional data. It returns a list with these items:

u

the same unit vector returned by spherefromarcs(). Its length is 2*n+1.

tangent

a 2*n+1 x 2*n0 matrix whose columns are tangent, at u, to the substratum \(\mathbb{S}^{2 n_0} \hookrightarrow \mathbb{S}^{2n}\). This is the jacobian of the map \(A_{n_0} \to \mathbb{S}^{2 n_0}\), when the space of arcs is parameterized by the endpoints of the arcs.

normal

a 2*n+1 x 2*(n-n0) matrix whose columns are normal, at u, to the substratum \(\mathbb{S}^{2 n_0} \hookrightarrow \mathbb{S}^{2n}\). These columns are an orthonormal basis for the subspace. If n==n0 there are 0 columns.

The matrix cbind(u,tangent,normal) is square. When n>n0, the last normal vector is flipped if necessary, so that the determinant of the square matrix is positive.

If \(m\) is the length of u, then arcsfromsphere()

maps from \(\mathbb{S}^{m-1}\) to \(A_N\). It returns an Nx2 matrix defining N arcs as above. Because the space of arcs is stratified, N might be less than expected, which is \((m-1)/2\). It is simply the composition of boundaryfromsphere()

and arcsfromboundary(), with a little error checking. In this version of the package, valid values for \(m\) are 1,3,5, and 7.

In case of error, it returns NULL.

Arguments

arcmat

an n0 x 2 matrix with an arc definition in each row; so the total number of arcs is n0. The 1st number in the row is the center of the arc, and the 2nd number is the length of the arc; both in radians.
The length can be 0 or \(2\pi\), defining the empty arc and the full circle respectively. For these improper arcs, there must be only 1 row, and the center is ignored.

n

the given set of arcs is taken to be in \(A_n\). If n is NULL, then n is set to n0 = nrow(arcmat), unless arcmat defines an improper arc, when n is set to 0. If n is not NULL, then we must have n \(\ge\) n0.

The returned vector is in \(\mathbb{R}^{2n+1}\).

gapmin

the minimum gap between arcs in arcmat that is valid. The value gapmin=0 allows abutting arcs, but not overlapping arcs. If one is sure that the arcs are not overlapping, then set gapmin=-Inf and this validation check is skipped, which saves a tiny bit of time.

In spherefromarcs_plus() abutting arcs are invalid, so gapmin must be positive.

u

a unit vector in \(\mathbb{R}^{2N+1}\) or \(\mathbb{R}^{2N}\). In the latter case (an even-dimensional space), a 0 is appended to make u odd-dimensional.

Details

These first and last functions are inverses of each other.

Let \(a\) be a set of \(n\) strictly disjoint arcs in \(A_n\), and denote the \(n\) complementary arcs by \(\bar{a}\). Let \(\alpha : \mathbb{S}^{2n} \to \mathbb{S}^{2n}\) denote the antipodal map. Let \(h\) denote spherefromarcs(). Then \(h( \bar{a} ) = \alpha( h(a) )\). A fancier way to say this: the antipodal map \(\alpha\) on \(\mathbb{S}^{2n}\) and the complementary map \( a \mapsto \bar{a} \) on \(A_n\) are conjugate.

If \(s\) is the full circle, then \(h(s)\) = (0,...,0,1). If \(\phi\) is the empty arc, then \(h(\phi)\) = (0,...,0,-1).

See Also

boundaryfromarcs(), spherefromboundary(), boundaryfromsphere(), arcsfromboundary(), complementaryarcs()