circle_bundles.RP2UnitVectorMetric
- class circle_bundles.RP2UnitVectorMetric(name='RP2_unitvec', base_name='RP^2', base_name_latex='\\mathbb{RP}^2')[source]
Bases:
objectMetric on \(\mathbb{RP}^2\) using antipodal unit vectors in \(\mathbb{R}^3\).
Points in \(\mathbb{RP}^2\) can be represented by unit vectors
p ∈ S^2 ⊂ R^3with the antipodal identificationp ~ -p.This implementation uses the chordal quotient distance induced from Euclidean distance in \(\mathbb{R}^3\):
\[d([p],[q]) = \min(\|p - q\|,\; \|p + q\|).\]This is a common practical choice for embedding-based computations and is fast to compute in batch.
Notes
This is a chordal metric, not the intrinsic geodesic metric on \(\mathbb{RP}^2\). For most cover-building and neighborhood computations, chordal behavior is appropriate.
If you need the intrinsic projective geodesic distance, you’d implement a different class (e.g. based on
arccos(|<p,q>|)).
- __init__(name='RP2_unitvec', base_name='RP^2', base_name_latex='\\mathbb{RP}^2')
Methods
__init__([name, base_name, base_name_latex])pairwise(X[, Y])Compute chordal quotient distances on \(\mathbb{RP}^2\).
Attributes