Timeline for FindMinimum works only if you know the answer
Current License: CC BY-SA 3.0
12 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Sep 5, 2016 at 11:46 | comment | added | sebhofer |
The whole point was to factor out c and megaParsec , as you should have from the very beginning and as people have been trying to tell you (although in different variations). Physically this means that all velocities are given in units of c , while all distances are given in megaParsec (or equivalently time is measured in megaParsec/c ). As you can clearly see from the output I posted, the minimum found by FindMinimum is 111076 which coincides with the value in the OP and also what Jack found in his answer. (I didn't bother to crosscheck with the value 3.00375 found above though).
|
|
Aug 27, 2016 at 14:48 | comment | added | Quark Soup | @sebhofer - Your minimum of 64670 is not even in the neighborhood of t1 (which would be roughly 1^*18). The same is true of a0. You've factored c and megaParsec out of the solution space. I have no idea how to factor them back in so I can't tell you if the minimum you found is close or not. | |
Aug 26, 2016 at 22:56 | comment | added | sebhofer |
(To be fair, FindMinimum[{chiSquared[t1, a0 ], t1 > 0}, {t1,a0}] does not work, as it runs off into the direction of a0<0 , and FindMinimum[{chiSquared[t1, a0 ], t1 > 0, a0>0}, {t1,a0}] crashes my kernel under V11 for some reason.)
|
|
Aug 26, 2016 at 22:53 | comment | added | sebhofer |
Using your original formulation, but setting c = 1; megaParsec = 1; (and thus getting rid of the ridiculously large and useless factors), and restricting t1 to positive values (which, I'm guessing, can be justified physically), we find an acceptable minimum without any more guessing of the starting values: FindMinimum[{chiSquared[t1, a0 ], t1 > 0}, {{t1, 1}, {a0, 1}}] results in {111076., {t1 -> 64670.5, a0 -> 0.0000133187}} ...
|
|
Aug 25, 2016 at 23:07 | history | edited | Quark Soup | CC BY-SA 3.0 |
added 1367 characters in body
|
Aug 25, 2016 at 22:53 | history | edited | Quark Soup | CC BY-SA 3.0 |
added 1367 characters in body
|
Aug 25, 2016 at 20:21 | comment | added | sebhofer | As you already accepted your "solution" you could at least post your code so that others can play with it. | |
Aug 25, 2016 at 17:07 | vote | accept | Quark Soup | ||
Aug 25, 2016 at 17:05 | history | edited | Quark Soup | CC BY-SA 3.0 |
added 21 characters in body
|
Aug 24, 2016 at 16:44 | comment | added | Quark Soup | The distance moduli calculates the magnitude of the SNe Ia: distanceModuli = Log10[distance/megaParsec] * 5 + 25. As the minimizer algorithm (e.g. Levenberg-Marquardt) tries to calculate the slope of the function it will try values that create negative distances (because there's no reason not to try negative distances), thus creating imaginary distanceModuli. You can mark the solution down if you want, but messing with the magnitude produces a chi-square of 0.74. Using the NMinimize produces a chi-square of 0.72. | |
Aug 24, 2016 at 16:17 | comment | added | JimB | I don't see anything in your answer substantiating the claim about "The Log10 operation creates discontinuities in the solution space". Would you supply the details in your answer? | |
Aug 24, 2016 at 15:46 | history | answered | Quark Soup | CC BY-SA 3.0 |