Source: https://guthlabs.ai/docs/instruments/vincenty-ellipsoidal-distance/implementation/

instrument implementation / implementation-contract

# Vincenty Ellipsoidal Distance implementation

A source-bound implementation contract for Vincenty Ellipsoidal Distance; deployment and executable qualification remain separate.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **implementation-contract**

## Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

**Record owner**: Guth Instruments

**Lifecycle**: verified-with-binding-errata

**Evidence ID**: t6-050

**Effect**: Computation or source lookup only

## Input and validation requirements

The instrument specification is vulnerable at coincident points, where azimuths reduce to an undefined atan2(0,0), and at exact antipodal points, where the Vincenty inverse iteration contains singular 0/0 terms and must report non-convergence. The general cos(2σm) branch also fails for exact equatorial paths unless the equatorial special case is implemented.

## Required corrections

````
[
  {
    "vector": 3,
    "field": "reverse_terminal_azimuth_deg",
    "wrong": 180,
    "correct": 0,
    "cause": "cross-vector convention flip: v1 (due-east) reports the FORWARD azimuth at the terminal point (90), v3 (due-north) reports the BACK azimuth (180) — under v1's own convention it is 0"
  }
]
````

## Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

````
{
  "inputs": {
    "lat1_deg": 0,
    "lon1_deg": 0,
    "lat2_deg": 0,
    "lon2_deg": 1,
    "tolerance_rad": 1e-12
  },
  "expected_outputs": {
    "distance_m": 111319.490793,
    "forward_azimuth_deg": 90,
    "reverse_terminal_azimuth_deg": 90
  },
  "working": "Convert longitude difference: L = 1 × pi/180 = 0.0174532925199 rad. For the equator, U1 = U2 = 0, sin(alpha) = 1, cos²(alpha) = 0, C = f/4 = 0.000838202666. Vincenty lambda iterations: lambda0 = 0.0174532925199; lambda1 ≈ 0.017454313; lambda2 ≈ 0.017454313; converged lambda ≈ 0.017454313 rad. For an equatorial geodesic, the distance simplifies exactly to aL: distance = 6378137 × 0.0174532925199 = 111319.490793 m. The forward and terminal azimuths are both 90 degrees."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/vincenty-ellipsoidal-distance/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/vincenty-ellipsoidal-distance/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/vincenty-ellipsoidal-distance/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `tranche errata record`
