stat_correlation — MATH stats op

• Data kinds: matrix → matrix

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

उपयोग

(N, D) observations का Pearson correlation matrix → (D, D)।

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

Same orientation as stat_covariance (rows = observations). Entries are clipped to [-1, 1] (floating-point can overshoot by an ulp), the diagonal is exactly 1 and the matrix exactly symmetric by construction.

A constant column raises ValueError (naming the column) instead of yielding NaN: correlation with a zero-variance variable is mathematically undefined (0/0), and a NaN that surfaces three ops downstream is the classic zero-division bug family this module fails closed against. Drop or perturb the constant column deliberately if that is what you mean.

HALCON: no public tuple operator (see stat_covariance).

पूरी 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

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• measurement_uncertainty — Measurement uncertainty और calibration — 'हम माप रहे हैं' कहने के लिए क्या चाहिए

संदर्भ (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_metrology — py -3.11 examples/math_metrology.py

• poc_colocalization_crosstalk — py -3.11 examples/poc_colocalization_crosstalk.py

• poc_ct_fidelity — py -3.11 examples/poc_ct_fidelity.py

• poc_machine_condition_fusion — py -3.11 examples/poc_machine_condition_fusion.py

• poc_thermal_radiometry — py -3.11 examples/poc_thermal_radiometry.py

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

mat_solve · mat_lstsq · mat_svd · mat_eigh · mat_pinv · mat_cond · mat_lu · mat_qr

इसी category के (stats)

stat_describe · stat_histogram · stat_covariance · stat_zscore


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