Skip to content

Classes and extremals

Ma–Minda class admissibility, sampled membership and containment screens, and exact canonical-extremal coefficients. A screen is not a proof unless the result carries a separate certificate.

geometric_function_atlas.classes

Ma–Minda class screens and extremal coefficients.

The website source catalog enumerates named and parametric Ma–Minda classes S*(phi) with phi(0) = 1 and phi'(0) > 0. This module reproduces the class-level operations as screens unless the check is exact:

  • admissibility — phi(0) = 1 and phi'(0) > 0 are decided in exact arithmetic; the region conditions (Re phi > 0 on the disk, real coefficients, starlikeness with respect to 1) are float winding-number and grid screens with reported margins;
  • membership — the subordination screen z f'(z)/f(z) in phi(D) on a sampled disk grid (a true member always passes; a non-member whose violation is confined to a thin annulus near |z| = 1 can slip through);
  • containment — phi_inner(D) subset phi_outer(D) by sampled boundary winding numbers, which by subordination transitivity is the same as S*(phi_inner) subset S*(phi_outer);
  • extremal coefficients — exact Taylor coefficients of the sharp member f_phi(z) = z exp(int_0^z (phi(t) - 1)/t dt) via the standard recurrence.

MAX_EXTREMAL_ORDER = 24 module-attribute

ClassAdmissibilityResult dataclass

Admissibility verdict with exact and screen check details.

class_key: str instance-attribute

admissible: bool instance-attribute

verification_report: VerificationReport instance-attribute

exact_values: dict[str, str] instance-attribute

margins: dict[str, float] instance-attribute

class_identity: str | None = None class-attribute instance-attribute

generator_formula: str | None = None class-attribute instance-attribute

generator_citation: str | None = None class-attribute instance-attribute

__init__(class_key: str, admissible: bool, verification_report: VerificationReport, exact_values: dict[str, str], margins: dict[str, float], class_identity: str | None = None, generator_formula: str | None = None, generator_citation: str | None = None) -> None

to_dict() -> dict[str, Any]

ClassMembershipResult dataclass

Subordination membership screen verdict.

class_key: str instance-attribute

coefficients: tuple[float, ...] instance-attribute

member: bool instance-attribute

fraction_inside: float instance-attribute

min_dist_to_boundary: float instance-attribute

witness_w: tuple[float, float] | None instance-attribute

verification_report: VerificationReport instance-attribute

class_identity: str | None = None class-attribute instance-attribute

generator_formula: str | None = None class-attribute instance-attribute

generator_citation: str | None = None class-attribute instance-attribute

__init__(class_key: str, coefficients: tuple[float, ...], member: bool, fraction_inside: float, min_dist_to_boundary: float, witness_w: tuple[float, float] | None, verification_report: VerificationReport, class_identity: str | None = None, generator_formula: str | None = None, generator_citation: str | None = None) -> None

to_dict() -> dict[str, Any]

ClassContainmentResult dataclass

Containment screen verdict between two classes.

inner: str instance-attribute

outer: str instance-attribute

contained: bool instance-attribute

fraction_inside: float instance-attribute

margin: float | None instance-attribute

witness_w: tuple[float, float] | None instance-attribute

verification_report: VerificationReport instance-attribute

inner_identity: str | None = None class-attribute instance-attribute

inner_formula: str | None = None class-attribute instance-attribute

inner_citation: str | None = None class-attribute instance-attribute

outer_identity: str | None = None class-attribute instance-attribute

outer_formula: str | None = None class-attribute instance-attribute

outer_citation: str | None = None class-attribute instance-attribute

__init__(inner: str, outer: str, contained: bool, fraction_inside: float, margin: float | None, witness_w: tuple[float, float] | None, verification_report: VerificationReport, inner_identity: str | None = None, inner_formula: str | None = None, inner_citation: str | None = None, outer_identity: str | None = None, outer_formula: str | None = None, outer_citation: str | None = None) -> None

to_dict() -> dict[str, Any]

list_classes() -> tuple[Generator, ...]

Return the Ma–Minda class catalog in stable key order.

class_admissibility(class_key: str | Generator, *, n_theta: int = 120, radii: tuple[float, ...] = (0.3, 0.6, 0.9, 0.99)) -> ClassAdmissibilityResult

Check the Ma–Minda admissibility conditions for one class.

Exact: phi(0) = 1 and phi'(0) real and positive. Screens with reported margins: Re phi > 0 on the disk, real-coefficient symmetry, and starlikeness with respect to 1.

class_member_screen(class_key: str | Generator, coefficients: list[float] | tuple[float, ...], *, grid_r: int = 16, grid_theta: int = 24, max_r: float = 0.95, n_boundary: int = 720) -> ClassMembershipResult

Screen f in S*(phi): sample z f'/f on a grid and test whether every value lies inside the sampled boundary of phi(D).

class_containment_screen(inner: str | Generator, outer: str | Generator, *, n_inner: int = 180, r_inner: float = 0.99, n_outer: int = 720) -> ClassContainmentResult

Screen phi_inner(D) subset phi_outer(D) by winding numbers.

By subordination transitivity this is the same screen as S*(phi_inner) subset S*(phi_outer). A failed screen returns a boundary witness w attained by the inner extremal function.

class_extremal_coefficients(class_key: str | Generator, order: int) -> tuple[sp.Expr, ...]

Return exact [a2, ..., a_{order+1}] of the sharp member f_phi(z) = z exp(int (phi - 1)/t dt).

With phi - 1 = sum B_k z^k, f/z = exp(sum (B_k/k) z^k) and the exponential-of-series recurrence gives exact coefficients. Those coefficients are rational for rational generators but algebraic or transcendental for generators such as limacon_0.707, parabolic, and rational_kr; the exact symbolic expression is returned unchanged and is never coerced to a float.