dynsys_bifurcation_map — MATH dynsys op

• Data kinds: कोई नहीं → pairs (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.dynsys_bifurcation_map(kind='logistic', r_lo=2.5, r_hi=4.0, n_r=800, burn_in=300, keep=100, x0=0.5) (implementation को सीधे call करना हो तो import mathops; mathops.dynsys_bifurcation_map(kind='logistic', r_lo=2.5, r_hi=4.0, n_r=800, burn_in=300, keep=100, x0=0.5), registry से लेना हो तो opsmath.get("dynsys_bifurcation_map"))

उपयोग

1-D map का orbit diagram — period doubling, ऐसे points के रूप में जिन्हें आप गिन सकते हैं।

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

For each parameter value the map is iterated burn_in times (discarded) and the next keep states are returned. logistic is r x (1 - x), sine is r sin(pi x), tent is r min(x, 1-x) * 2.

★Why this earns its place: the first period-doubling values are known exactly for the logistic map — r = 3 and r = 1 + sqrt 6 = 3.449489... — and the ratio of successive intervals tends to Feigenbaum's constant 4.669201..., which is universal. Counting distinct states per r turns the picture into integers (1, 2, 4, 8, ...) that can be checked.

Returns a pairs array of (r, x).

Raises ValueError: unknown map; r_lo >= r_hi; non-positive counts; a grid over the cap; x0 outside the unit interval.

HALCON: no operator.

पूरी 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 करते हैं)

• poc_what_a_picture_cannot_check — py -3.11 examples/poc_what_a_picture_cannot_check.py

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

neighbour_index_gaps · curve_locality

इसी category के (dynsys)

ode_flow_states · ode_vector_field_grid · dynsys_poincare_section · dynsys_lyapunov_spectrum · dynsys_correlation_dimension


*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.