ddg.geometry.elliptic_models module
Elliptic geometry module.
This is the metric Cayley-Klein geometry with empty / positive definite absolute.
- class ddg.geometry.elliptic_models.ProjectiveModel(dimension)[source]
Bases:
MetricCayleyKleinGeometryElliptic geometry.
This is a Cayley-Klein geometry with empty absolute, so the model space is all of RPn.
- Parameters:
- dimensionint
- Attributes:
- dimensionint
- property absolute
The absolute quadric with matrix
diag([1,...,1]).- Returns:
- Quadric
- static metric_to_cayley_klein_distance(d)[source]
Return Metric distance converted to Cayley-Klein “distance”.
Kis given byK = cos(d) ** 2
- Parameters:
- dfloat
- Returns:
- Kfloat
- static cayley_klein_distance_to_metric(K)[source]
Return Cayley-Klein distance converted to metric distance.
dis given by the equationd = arccos(sqrt(K))
- Parameters:
- Kfloat
- Returns:
- dfloat
- Raises:
- ValueError
If K is not in [0, 1]
- property ambient_dimension
- cayley_klein_distance(v, w)
Alias for self.absolute.cayley_klein_distance.
- cayley_klein_sphere(center, radius, subspace=None, atol=None, rtol=None)
Create a Cayley-Klein sphere.
- Parameters:
- centerPoint or numpy.ndarray of shape (n+1,)
- radiusfloat
Cayley-Klein radius
- subspaceSubspace or list of numpy.ndarray of shape (k,) (default=None)
- Returns:
- CayleyKleinSphere
- d(v, w) float
Cayley-Klein metric
- Parameters:
- v, wnumpy.ndarray or Point
Homogeneous coordinate vectors or Point instances. Both points must be either inside or outside the absolute quadric.
- Returns:
- float
- generalized_cayley_klein_sphere(center, radius, subspace=None, atol=None, rtol=None)
Create a generalized Cayley-Klein sphere.
- Parameters:
- centerPoint or numpy.ndarray of shape (n+1,)
- radiusfloat
Generalized radius
- subspaceSubspace or list of numpy.ndarray of shape (k,) (default=None)
- Returns:
- GeneralizedCayleyKleinSphere
- inner_product(v, w)
Alias for self.absolute.inner_product.
- sphere(center, radius, subspace=None, atol=None, rtol=None)
Create a sphere with metric radius.
- Parameters:
- centerPoint or numpy.ndarray of shape (n+1,)
- radiusfloat
Radius in terms of the Cayley-Klein Metric
self.d.- subspaceSubspace or array_like of shape (m,n) (default=None)
- Returns:
- MetricCayleyKleinSphere