ddg.geometry.geometry_model_templates module
Abstract base classes for geometries.
This module defines abstract base classes for different types of geometries. Among other things, these can be used to pre-define metrics and absolute quadrics and they can be given to spheres.
- class ddg.geometry.geometry_model_templates.MetricGeometry(dimension)[source]
Bases:
ABCGeometry that just has a dimension and defines a metric.
- Parameters:
- dimensionint
Notes
This class supports the
==operator. Two metric geometries are equal if and only if they have the same type and dimension.- Attributes:
- dimensionint
- class ddg.geometry.geometry_model_templates.CayleyKleinGeometry(dimension)[source]
Bases:
CayleyKleinSphereFactoryCayley-Klein geometry abstract base class.
- Parameters:
- dimensionint
Dimension of the geometry. This is the actual “intuitive” dimension of the geometry, not the ambient dimension of the model.
Notes
This class supports
__eq__, i.e.==. Two quadric geometries are equal if and only if they have the same type, dimension and quadric.- Attributes:
- dimensionint
- property ambient_dimension
- cayley_klein_sphere(center, radius, subspace=None, atol=None, rtol=None)[source]
Create a Cayley-Klein sphere.
- Parameters:
- centerddg.geometry.Point or numpy.ndarray of shape (n+1,)
- radiusfloat
Cayley-Klein radius
- subspaceddg.geometry.Subspace or list of numpy.ndarray of shape (k,)
- (default=None)
- Returns:
- ddg.geometry.spheres.CayleyKleinSphere
- generalized_cayley_klein_sphere(center, radius, subspace=None, atol=None, rtol=None)[source]
Create a generalized Cayley-Klein sphere.
- Parameters:
- centerddg.geometry.Point or numpy.ndarray of shape (n+1,)
- radiusfloat
Generalized radius
- subspaceddg.geometry.Subspace or list of numpy.ndarray of shape (k,)
- (default=None)
- Returns:
- ddg.geometry.spheres.GeneralizedCayleyKleinSphere
- class ddg.geometry.geometry_model_templates.MetricCayleyKleinGeometry(dimension)[source]
Bases:
CayleyKleinGeometry,MetricGeometry,SphereFactoryMetric Cayley-Klein geometry.
A metric Cayley-Klein geometry is a Geometry with a metric that is computed from a Cayley-Klein “distance” induced by a quadric.
- Parameters:
- dimensionint
Notes
This class supports
__eq__, i.e.==. Two metric Cayley-Klein geometries are equal if and only if they have the same type, dimension and quadric.- Attributes:
- dimensionint
- abstract metric_to_cayley_klein_distance(d) float[source]
Return Metric distance converted to Cayley-Klein “distance”.
- Parameters:
- dfloat
- Returns:
- Kfloat
- abstract cayley_klein_distance_to_metric(d) float[source]
Convert Cayley-Klein “distance” to metric.
- Parameters:
- Kfloat
- Returns:
- dfloat
- d(v, w) float[source]
Cayley-Klein metric
- Parameters:
- v, wnumpy.ndarray or ddg.geometry.Point
Homogeneous coordinate vectors or Point instances. Both points must be either inside or outside the absolute quadric.
- Returns:
- float
- sphere(center, radius, subspace=None, atol=None, rtol=None)[source]
Create a sphere with metric radius.
- Parameters:
- centerddg.geometry.Point or numpy.ndarray of shape (n+1,)
- radiusfloat
Radius in terms of the Cayley-Klein Metric
self.d.- subspaceddg.geometry.Subspace or array_like of shape (m,n) (default=None)
- Returns:
- ddg.geometry.spheres.MetricCayleyKleinSphere
- 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:
- centerddg.geometry.Point or numpy.ndarray of shape (n+1,)
- radiusfloat
Cayley-Klein radius
- subspaceddg.geometry.Subspace or list of numpy.ndarray of shape (k,)
- (default=None)
- Returns:
- ddg.geometry.spheres.CayleyKleinSphere
- generalized_cayley_klein_sphere(center, radius, subspace=None, atol=None, rtol=None)
Create a generalized Cayley-Klein sphere.
- Parameters:
- centerddg.geometry.Point or numpy.ndarray of shape (n+1,)
- radiusfloat
Generalized radius
- subspaceddg.geometry.Subspace or list of numpy.ndarray of shape (k,)
- (default=None)
- Returns:
- ddg.geometry.spheres.GeneralizedCayleyKleinSphere
- inner_product(v, w)
Alias for self.absolute.inner_product.