Port WEDistribution (Wrapped Exponential) from libDirectional#1592
Port WEDistribution (Wrapped Exponential) from libDirectional#1592
Conversation
Agent-Logs-Url: https://github.com/FlorianPfaff/PyRecEst/sessions/04bffeda-0e8c-4b25-9b61-3b7e6bbaef5a Co-authored-by: FlorianPfaff <6773539+FlorianPfaff@users.noreply.github.com>
✅MegaLinter analysis: Success
See detailed reports in MegaLinter artifacts Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining
|
|
@copilot increase tolerances of the tests to 5e-7 Mismatched elements: 1 / 1 (100%) |
Agent-Logs-Url: https://github.com/FlorianPfaff/PyRecEst/sessions/79cc54ab-e249-4470-820a-b8fadeace721 Co-authored-by: FlorianPfaff <6773539+FlorianPfaff@users.noreply.github.com>
Head branch was pushed to by a user without write access

Ports the
WEDistribution(Wrapped Exponential Distribution) from libDirectional to PyRecEst, following the same conventions asWrappedLaplaceDistributionandWrappedCauchyDistribution.New:
WrappedExponentialDistributionSingle rate parameter
lambda_(> 0). Implements:pdf—λ·exp(-λx) / (1 - exp(-2πλ)), normalization constant pre-computed in__init__trigonometric_moment(n)— closed-form:1 / (1 - jn/λ)sample(n)— inverse CDF:mod(-log(U)/λ, 2π)whereU ~ Uniform(0,1)entropy— analytical:1 + log((eᵝ-1)/λ) - eᵝ/(eᵝ-1)·βwhereβ = 2πλIntegration
pyrecest.distributionsasWrappedExponentialDistributionWEDistributionalias added for libDirectional compatibility