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-1.0.0.tar.gz (18.1 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-1.0.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for harmonic_measure-1.0.0.tar.gz
Algorithm Hash digest
SHA256 dad30659ec50b36787bcccaaa86fba5f48dd7c46af835d6dcaa27d29480008dc
MD5 763a004f827fd06fd11e67fa8a3228bc
BLAKE2b-256 b12b926f8def3cb3b8511fe7b3238fff3a178e7cf8f854a8a3849b9fb5c39719

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for harmonic_measure-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d47add24211858d1aff385b5de31ee83850635c1736bbde49f9b88a32ce158ec
MD5 140398150c6196f89df43d3d0278ca90
BLAKE2b-256 2724110eb860fcc6716f6a844d7ca553c47a44ca809411b458df7ab71a40c995

See more details on using hashes here.

Provenance

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