Parametrize the tangent space at location p, so that the parameterized version contains an open neighborhood around the origin. (The dimension of v is potentially reduced).
# S3 method for Euclidean
basisTan(mfd, p)basisTan(mfd, p)
# S3 method for SO
basisTan(mfd, p)
# S3 method for SPD
basisTan(mfd, p)
# S3 method for Sphere
basisTan(mfd, p)
# S3 method for FlatTorus
basisTan(mfd, p)
An orthonormal basis matrix D, whose columns contain the basis vectors, so that `D^T v` give the coordinates `v0` for a tangent vector `v`, and `D
A manifold object created by createM
A vector for a base point on the manifold
basisTan(Euclidean): An identity matrix
basisTan(SO): An identity matrix
basisTan(SPD): The basis is obtained from enumerating the (non-strict) lower-triangle of a square matrix. If i != j, the (i, j)th entry is mapped into a matrix with 1/sqrt(2) in the (i,j) and (j,i) entries and 0 in other entries; if (i == j), it is mapped to a matrix with 1 in the ith diagonal element and 0 otherwise. The mapped matrix is then vectorized to obtain the basis vector.
basisTan(Sphere): The basis at the north pole is [0, ..., 1, ..., 0] where the 1 is at the j = 2, ..., dAmbth location. The basis at a point p is obtained through rotating the basis from the north pole to p along the shortest geodesic.
basisTan(FlatTorus): An identity matrix