Talk:Numeric error propagation: Difference between revisions

m
 
(9 intermediate revisions by 7 users not shown)
Line 32:
::I guess I am new to TeX and could do with a GUI-based tool. (I wonder, Is TeX the language used by Open Office)? --[[User:Paddy3118|Paddy3118]] 05:29, 2 August 2011 (UTC)
:::Open Office equation editor can take TeX-like input, but I don't think it's using TeX engine internally. TeX, being an (almost?) Turing-complete language itself, is not easy to embed. I don't really know for sure, though. --[[User:Ledrug|Ledrug]] 06:07, 2 August 2011 (UTC)
 
==Negative uncertainties==
The original formula for exponentiation a^c allowed for negative uncertainties if a < 0. This does not seem to be meaningful, so I assume this always means the absolute value. I have changed the formula.
 
: Multiplication by a negative constant didn't seem right either so I fixed that. Thanks. --[[User:Paddy3118|Paddy3118]] 12:44, 17 August 2011 (UTC)
:: It's not pertinent to current task, but a negative uncertainty does have meaning if correlation is considered. If <math>a\equiv a_0\pm\sigma</math>, you can say <math>-a=-a_0\pm(-\sigma)</math>, and the sum <math>a + (-a) = 0\pm 0</math> (note how the <math>\sigma</math>s just add, not RMS). --[[User:Ledrug|Ledrug]] 12:58, 17 August 2011 (UTC)
 
==Do multiplication and exponentiation propagate differently?==
Do I misunderstand the formulae, or do multiplication and exponentiation indeed result in different error propagations?
If I look at the square of the uncertainties for a*a vs. a^2:
f = a*a
σ[f]^2 =
f^2 * ((σ[a] / a)^2 + (σ[a] / a)^2) =
(a*a)^2 * 2 * (σ[a] / a)^2 =
a*a*a*a * 2 * σ[a]^2 / a^2
 
f = a^2
σ[f]^2 =
(f * c * σ[a] / a)^2 =
f^2 * c^2 * σ[a]^2 / a^2 =
a*a*a*a * 2 * 2 * σ[a]^2 / a^2
Take a = 100 ± 2. For a*a I get an error of 282.84, while for a^2 I get 400.00. --[[User:Abu|Abu]] 10:01, 18 August 2011 (UTC)
 
:Yes, but this is at least in part a bug in the implementation of multiplicative uncertainty. See also: [[Talk:Numeric_error_propagation#What_about_correlations.3F|What about correlations?]] and [[Talk:Numeric_error_propagation#Not_sure_how_to_do_this|Not sure how to do this]]. Since this question is so easy to ask, I am going to explicitly address it in the task description. --[[User:Rdm|Rdm]] 10:38, 18 August 2011 (UTC)
:Indeed it's a correlation issue again. Suppose <math>a = a_0 + \epsilon_a</math>, where <math>\epsilon_a</math> is a random variable with mean 0 and stddev <math>\sigma</math>; similiarly <math>b = a_0 + \epsilon_b</math>, then <math>a\times b = a_0^2 + (\epsilon_a + \epsilon_b) a_0 + O(\epsilon^2)</math>, whose standard deviation is the new error. If <math>\epsilon_a</math> and <math>\epsilon_b</math> are independent but with same stddev, then the <math>\epsilon</math>s are added by RMS and error is <math>\sqrt{2}a_0\sigma</math> (= 282); if they are the same variable (correlation = 1) such as in the case of <math>a^2</math>, <math>\epsilon</math>s are directly added and error is <math>2a_0\sigma</math> (400). As a side note, the <math>O(\epsilon^2)</math> will introduce a bias to the mean of the result, which is normally small and ignored.
:It's more work to keep track what's correlated with what, so for this task you can always assume the error terms are independent. If errors are small compared to mean, this is often acceptible. --[[User:Ledrug|Ledrug]] 00:11, 19 August 2011 (UTC)
 
== Wrong values used in demonstration ==
 
I have just fixed the Java entry, which had been tagged as incorrect 2 months ago. The problem was, that the demonstration code swapped the values for x2 and y1. Unfortunately this gives the same distance (111.80) and only a slightly different error value, i. e. 2.94 instead of 2.48.
Several other languages have also swapped x2 and y1 in their demonstration with respect to the values given in the task details. As of today the implementations/demonstrations of the following languages still suffer from this: C++, D, <s>Java,</s> Kotlin, Scala. --[[User:PKai|pKai]] ([[User talk:PKai|talk]]) 21:08, 19 August 2016 (UTC)<br/>
Fixed Kotlin, too. But I have not installed the other languages, and I won't do any fixes, if I can't test it. --[[User:PKai|pKai]] ([[User talk:PKai|talk]]) 21:21, 19 August 2016 (UTC)
Anonymous user