Skip to main content

Harmonic measure computation and boundary crowding diagnostics for 2D domains

Project description

harmonic-measure

Harmonic measure computation and boundary crowding diagnostics for 2D domains.

PyPI version Python versions License CI Documentation codecov

Overview

Harmonic measure quantifies the "visibility" of boundary subsets from interior points in potential-theoretic terms. This package provides:

  • Direct computation of harmonic measure via boundary integral methods
  • Corner detection for domains approaching polygonal limits
  • Scaling diagnostics to quantify boundary crowding
  • Visualization of harmonic measure density on boundaries

Installation

pip install harmonic-measure

# With plotting
pip install harmonic-measure[plot]

Quick Start

from harmonic_measure import HarmonicMeasure
from superellipse import Superellipse

# Create a Lamé domain approaching a rectangle
curve = Superellipse(a=1, b=1, p=32)  # p=2n, so n=16

# Compute harmonic measure of a boundary subset
hm = HarmonicMeasure(curve)
omega = hm.measure_subset(
    basepoint=[0, 0],
    subset_fn=lambda pt: abs(pt[0] - 1) < 0.1  # near corner
)
print(f"Harmonic measure of corner neighborhood: {omega:.6f}")

Theory

Harmonic Measure

For a domain Ω with boundary ∂Ω, the harmonic measure ω_Ω(z, A) of a boundary subset A ⊂ ∂Ω as seen from z ∈ Ω is:

$$\omega_\Omega(z, A) = u_A(z)$$

where u_A solves: Δu = 0 in Ω, u = 1 on A, u = 0 on ∂Ω \ A.

Conformal Invariance

Under a conformal map f: 𝔻 → Ω with f(0) = z:

$$\omega_\Omega(z, A) = \frac{|f^{-1}(A)|}{2\pi}$$

where |·| denotes arc length on ∂𝔻.

Corner Crowding

For polygonal limits with interior angle α, boundary layers of thickness ρ have:

$$\omega \sim \rho^{\pi/\alpha}$$

For right angles (α = π/2): ω ~ ρ² (quadratic crowding)

API Reference

HarmonicMeasure(geometry)

Main class for harmonic measure computations.

Method Description
measure_subset(basepoint, subset_fn) Harmonic measure of subset defined by boolean function
measure_corners(basepoint, radius) Harmonic measure of corner neighborhoods
density(basepoint) Harmonic measure density at each boundary node
plot_density(basepoint) Visualize density on boundary

corner_scaling_diagnostic(curve, ns, c=2.0)

Compute corner harmonic mass across a range of Lamé exponents.

Returns (ns, arc_lengths, fitted_slope).

adaptive_convergence(n, a, c, tol=1e-10)

Adaptively refine discretization until harmonic measure converges.

CLI

# Compute harmonic measure of corner regions
harmonic-measure corners --p 32 --radius 0.1

# Scaling diagnostic across exponents
harmonic-measure scaling --ns 8 16 32 64 --output scaling.csv

# Plot harmonic measure density
harmonic-measure density --p 16 --output density.png

Applications

  • Conformal mapping: Diagnose boundary correspondence crowding
  • Schwarz-Christoffel limits: Quantify prevertex clustering
  • Brownian motion: Exit distribution from domains
  • Potential theory: Capacity and extremal length computations

Related Packages

References

  • Garnett, J.B. & Marshall, D.E. (2005). Harmonic Measure. Cambridge University Press.
  • Pommerenke, C. (1992). Boundary Behaviour of Conformal Maps. Springer.

License

MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

harmonic_measure-0.8.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

harmonic_measure-0.8.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file harmonic_measure-0.8.0.tar.gz.

File metadata

  • Download URL: harmonic_measure-0.8.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for harmonic_measure-0.8.0.tar.gz
Algorithm Hash digest
SHA256 d7ab636466b80c0d83d7db2eafdf831ab2f8a10885dbb300e4d921ea73c2b353
MD5 fa396efb87ae752717e4217eccf0be43
BLAKE2b-256 6d125b579ff93b5be3359f33237695b50cc6e7161db2d20988b4a7c7edc270df

See more details on using hashes here.

Provenance

The following attestation bundles were made for harmonic_measure-0.8.0.tar.gz:

Publisher: release.yml on egoughnour/harmonic-measure

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file harmonic_measure-0.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for harmonic_measure-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb63ee0570137ad88dc44589ee5c2fb083b853a419e2f92fb0bee12fa74973ad
MD5 cc453bad100684e9588479f4cd4b0a7a
BLAKE2b-256 f316819b040a00d86df822c860d178872d1aa41ef66cc39cbbc7209dcc1eb7d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for harmonic_measure-0.8.0-py3-none-any.whl:

Publisher: release.yml on egoughnour/harmonic-measure

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page