gum_propagate — SPC uncertainty op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.gum_propagate(table, u='u', sensitivity='sensitivity', correlation=None) (implementation को सीधे call करना हो तो import spc; spc.gum_propagate(table, u='u', sensitivity='sensitivity', correlation=None), registry से लेना हो तो opsspc.get("gum_propagate"))

उपयोग

uncertainty के propagation का नियम (GUM 5.2, correlation सहित) (table)।

u_c^2 = sum_i (c_i u_i)^2 + 2 sum_{i<j} c_i c_j u_i u_j r_ij

*table* एक table है जिसमें column *u* (standard uncertainty) और *sensitivity* (sensitivity coefficient c_i = df/dx_i) हैं। *correlation* में (n, n) correlation matrix देने पर correlation term शामिल होते हैं।

★ gate के रूप में इस्तेमाल होने वाला closed form: f = x y हो तो c_x = y / c_y = x, इसलिए u_c/|f| = sqrt((u_x/x)^2 + (u_y/y)^2) -- relative uncertainty का root sum of squares। correlation r = +1 वाले 2 component में यह u_c = |c1 u1 + c2 u2|| से बिल्कुल सटीक मेल खाता है, और r = -1 पर |c1 u1 - c2 u2| (cancellation)। correlation न हो तो contribution का योग ठीक u_c^2 पर बंद होता है।

★★ correlation को नज़रअंदाज़ करने से होने वाली ग़लती की दिशा एक नहीं होती। "independent मानने पर underestimate होता है" अक्सर कहा जाता है, पर यह ग़लत है। standard के worked example (voltage, current और phase difference से resistance और reactance एक साथ निकालने वाला example, सभी 3 मात्राओं में correlation) में correlation हटाकर मापने पर:

u_c(R) 0.0702 -> 0.1945 2.8 गुना overestimate

u_c(X) 0.2961 -> 0.2009 underestimate

u_c(Z) 0.2367 -> 0.2041 underestimate

उसी 1 data में मात्रा के अनुसार दिशा उलट जाती है -- यह sensitivity coefficient के sign और correlation के sign के गुणनफल से तय होती है, इसलिए एक तरह से स्वाभाविक है, पर "safe side पर चूकेगा" सोचकर correlation छोड़ देने पर R के लिए लगभग 3 गुना बड़ी uncertainty report हो जाती है।

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

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

msa_anova_table · msa_gauge_rr · msa_bias_linearity · msa_attribute_agreement · gum_standard_uncertainty · gum_expanded · gum_monte_carlo · gum_validate

इसी category के (uncertainty)

gum_standard_uncertainty · gum_expanded · gum_monte_carlo · gum_validate


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

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