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.1.0.tar.gz (14.7 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.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: harmonic_measure-0.1.0.tar.gz
  • Upload date:
  • Size: 14.7 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.1.0.tar.gz
Algorithm Hash digest
SHA256 a4a4e9da2fe1a8fa5e4b387251a3b04c950539576a656c2dd41a3cd689dbc1bf
MD5 7ae571fe15b12d52693a9a13057567a4
BLAKE2b-256 f43eb6f8511a42165ba25ba53064365c9e6a1746bff6f7be7240d45b198f004f

See more details on using hashes here.

Provenance

The following attestation bundles were made for harmonic_measure-0.1.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.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for harmonic_measure-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03e954bce52a6ce50a686c8f40b5b20cf5c700cfa1a9a3a7a50efded4e8fbda4
MD5 92ac46c21e07b06c390e76de57847272
BLAKE2b-256 2217b6f26113855103f4aa1ef9045b4eae11125e6c5b95099a282eaf23765738

See more details on using hashes here.

Provenance

The following attestation bundles were made for harmonic_measure-0.1.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