core.klein_curve¶
klein_curve ¶
Klein quartic curve: structural parameters, PSL(2,7) generators, and matrix representations.
The Klein quartic is the unique genus-3 Riemann surface with maximal automorphism group PSL(2,7) of order 168. It is the quotient H/Gamma(2,3,7) where Gamma(2,3,7) is the (2,3,7) triangle group. The curve satisfies the Gauss-Bonnet relation Area = 4pi(g-1).
KleinCurve ¶
Klein quartic curve with all structural invariants.
Attributes:
| Name | Type | Description |
|---|---|---|
genus |
Curve genus g = 3. |
|
K |
Gaussian curvature K = -1 (hyperbolic). |
|
R |
Scalar curvature R = 2K = -2. |
|
area |
Total area = 4pi(g-1) = 8*pi (Gauss-Bonnet). |
|
psl_order |
|PSL(2,7)| = 168. |
|
sl_order |
|SL(2,7)| = 336. |
|
lambda_1 |
First eigenvalue of scalar Laplacian (Bourque-Strohmaier 2024). |
Source code in src/core/klein_curve.py
generators ¶
generators() -> tuple[ndarray, ndarray, ndarray]
Compute the Gamma(2,3,7) generators A, B, C in SL(2,R).
A has order 4 in SL(2,R) (order 2 in PSL), B has order 6 in SL (order 3 in PSL), and C = AB has order 7 in SL (order 7 in PSL). The relations A^2 = B^3 = (AB)^7 = -I hold in SL(2,R).
Returns:
| Type | Description |
|---|---|
tuple[ndarray, ndarray, ndarray]
|
Tuple (A, B, C) of 2x2 numpy arrays. |
Source code in src/core/klein_curve.py
verify_relations ¶
verify_relations(A: ndarray, B: ndarray, C: ndarray) -> dict
Verify the defining relations A^2 = B^3 = (AB)^7 = -I.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
A, B, C
|
Generator matrices from self.generators(). |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Dict with boolean verification results and norms. |