complex opcpoints × cpoints → measurementimport fullseye as fs; fs.ledger.cplx_argument_principle(z, fz) (実装を直接呼ぶなら import mathops; mathops.cplx_argument_principle(z, fz)、台帳から引くなら opsmath.get("cplx_argument_principle"))Argument principle: count zeros minus poles enclosed by a contour, from
sampled values of f alone.
Z - P = 1/(2*pi*i) ∮ f'/f dz equals the winding number of the image
curve f(z) around the origin (Cauchy 1831 / Riemann): as the contour
is traversed once counter-clockwise, the argument of f increases by
2*pi (Z - P), counting multiplicities. Computing it as a winding number
of the image needs no derivative and no root finding — only f sampled
on the path — and returns an exact integer.
Honest limitations, all of them real:
Z - P, never the two separately. A
simple zero and a simple pole inside cancel to 0.Z - P only for a simple, positively-oriented
contour (a clockwise one returns -(Z - P)).f = z**5 on a 4-point circle returns 1, not 5 (measured).
A RuntimeWarning fires from pi/2 per step onward
(:data:WIND_ALIAS_WARN); the verification that actually works is to
double n until the count repeats.Raises ValueError: f vanishes at a sample point (a zero on
the path — the count is undefined there), the image curve is undersampled
(a half-turn between consecutive samples: refine the contour), plus the
usual shape/finiteness contracts.
HALCON: no operator.
mathops の全 op は入力を検証してから計算する(黙って通さない):
ValueError — float64 への強制変換は虚部を黙って捨てる(numpy は ComplexWarning だけ出して「もっともらしく間違った」実数を返す)。.real/.imag/abs() を明示するか、複素対応の complexops を使う。ValueError — マスクを剥がして下の生値を使う暗黙変換を拒否。埋める/落とすを明示する。ValueError(件数を明示して拒否 — 結果全体に伝播するため)。ValueError。reshape を明示する)。stat_histogram の bins は mathops.MAX_ELEMENTS(2^26 ≈ 6700 万要素)超で ValueError。py -3.11 examples/math_complex.pymeasurement を入力に取れる)—
complex)cplx_contour_circle · cplx_poly_eval · cplx_contour_integral · cplx_winding_number · cplx_cauchy_value · cplx_laurent_coeffs · cplx_joukowski · cplx_mobius
Provenance: mathops.py — MATH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.