ddg.geometry.laguerre_models module

Laguerre geometry module.

Contains model classes and functions for conversion between the models.

class ddg.geometry.laguerre_models.ProjectiveModel(dimension)[source]

Bases: CayleyKleinGeometry

Projective / Blaschke cylinder model of Laguerre geometry.

Model space

The model space is the quadric with matrix diag([1,...,1, 0, -1]) without the point at infinity [0,…,0, 1 ,0].

Representation of objects

Points in this cylinder represent hyperplanes in R^n: In affine coordinates, they have a “direction” v and a “height” h. The point (v, h) corresponds to the hyperplane <x, v> = h.

Parameters:
dimensionint
Attributes:
dimensionint
property absolute

The absolute quadric with matrix diag([1,...,1, 0, -1]).

Returns:
ddg.geometry.Quadric
lie()[source]

Corresponding projective model of Lie geometry.

from_lie(object_, embedded=False)[source]
to_lie(object_, embedded=False)[source]
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.

class ddg.geometry.laguerre_models.EuclideanModel[source]

Bases: object

Euclidean model of Laguerre geometry.

Model space

The model space is R^n.

Representation of objects

Objects are represented by their Euclidean equivalents, mostly subspaces.

ddg.geometry.laguerre_models.euclidean_to_projective(object_)[source]

Convert from Euclidean model to Projective model / Blaschke cylinder.

Parameters:
object_Subspace of dimension n-1
Returns:
ddg.geometry.Point
ddg.geometry.laguerre_models.projective_to_euclidean(object_)[source]

Convert from Projective model / Blaschke cylinder to Euclidean model.

Parameters:
object_ddg.geometry.Point
Returns:
ddg.geometry.Subspace