cplx_mobius — MATH complex op

• Data kinds: cpoints → cpoints

• Call: import fullseye as fs; fs.ledger.cplx_mobius(z, a, b, c, d) (implementation को सीधे call करना हो तो import mathops; mathops.cplx_mobius(z, a, b, c, d), registry से लेना हो तो opsmath.get("cplx_mobius"))

उपयोग

Möbius (linear fractional) map w = (a z + b) / (c z + d)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

The automorphisms of the Riemann sphere: every Möbius map is conformal and sends circles-and-lines to circles-and-lines. Two standard cases the tests

pin: the Cayley transform (z - i)/(z + i) maps the real axis onto the unit circle (|w| = 1) and i to 0; the inversion 1/z maps the unit circle onto itself.

The determinant a d - b c must not vanish — that degenerate case is not a map but a constant (every point collapses to a/c), which is refused rather than returned as a suspiciously uniform answer.

Raises ValueError: |a d - b c| below 1e-12 of the coefficient scale (degenerate/constant map), a sample at the pole z = -d/c (the image is the point at infinity, which float64 cannot represent), an overflowed result (a sample microscopically close to that pole), plus the usual shape and finiteness contracts.

HALCON: no operator (projective_trans_point_2d is the real-plane projective analogue).

पूरी family का input contract (fail-closed)

mathops के सभी ops गणना से पहले input की जाँच करते हैं (कुछ भी चुपचाप पास नहीं होता):

• complex input से ValueError — float64 में ज़बरदस्ती बदलने पर imaginary part चुपचाप छूट जाता है (numpy केवल ComplexWarning देता है और "सही दिखने वाला पर गलत" real number लौटाता है)। .real/.imag/abs() स्पष्ट रूप से लिखें, या complex data संभालने वाले complexops का उपयोग करें।

• masked array (masked elements वाला) से ValueError — mask हटाकर नीचे के raw values इस्तेमाल करने वाला implicit conversion अस्वीकार है। भरना है या हटाना है, यह स्पष्ट रूप से बताएँ।

• हर input पर NaN/Inf से ValueError (गिनती बताकर अस्वीकार — क्योंकि यह पूरे परिणाम में फैल जाता है)।

• Shape सख़्त है: 1-D और 2-D को implicit रूप से promote या broadcast नहीं किया जाता (vector slot में matrix या matrix slot में vector देने पर ValueError; reshape स्पष्ट रूप से करें)।

• Size की सीमा: matrix लेने वाले ops और stat_histogram के bins, mathops.MAX_ELEMENTS (2^26 ≈ 6.7 करोड़ elements) से अधिक होने पर ValueError देते हैं।

उपयोग की विस्तृत guide

• math_metrology family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• math_complex — py -3.11 examples/math_complex.py

वे अगले ops जिनसे type जुड़ता है (cpoints को input के रूप में लेते हैं)

cplx_poly_eval · cplx_contour_integral · cplx_winding_number · cplx_cauchy_value · cplx_argument_principle · cplx_laurent_coeffs · cplx_joukowski

इसी category के (complex)

cplx_contour_circle · cplx_poly_eval · cplx_contour_integral · cplx_winding_number · cplx_cauchy_value · cplx_argument_principle · cplx_laurent_coeffs · cplx_joukowski


*Provenance: mathops.py — MATH operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.