Wikipedia:Reference desk/Archives/Mathematics/2017 October 17
Mathematics desk | ||
---|---|---|
< October 16 | << Sep | October | Nov >> | Current desk > |
Welcome to the Wikipedia Mathematics Reference Desk Archives |
---|
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages. |
October 17
[edit]Absolute vs. Relative units
[edit]This is mostly just a question about nomenclature.
Consider temperatures. Everybody knows that to convert Celsius to Fahrenheit, you multiply by 9/5 and add 32. But that's not always correct: if today was 5 degrees hotter than yesterday in Celsius, that doesn't mean it was 41 Fahrenheit degrees hotter, it was only 9 degrees hotter. It's as if there are two different kinds of temperatures, absolute and relative. The difference between two absolute temperature is a relative temperature. To convert relative Celsius to relative Fahrenheit, you multiply by 9/5 and don't add 32. So, furthermore, it's as if these two different kinds of temperatures, absolute and relative, also have different sets of units. (And, yes, speaking of "absolute temperatures", I do know about Kelvin and Rankine, but I'm overlooking them for the moment.)
Or, consider date/timestamps. Again, these come in absolute and relative flavors. The difference between two absolute date/timestamps is a relative time. And, again, there's something different about the units. The difference between January 1, 2017 at 12:00 and November 29, 2016 at 11:00 is 33 days and one hour, or 793 hours, or 47580 minutes, or maybe 2854800 seconds. The calculation isn't trivial: to come up with that 33 day number, we had to know that there are 30 days in November and 31 days in December. Instead of saying "33 days", we might have said "one month and two days", although in that case it's more than a little bit difficult to decide how many days there are in a relative month, that is, whether it should have been "one month and two days" or "one month and three days" or something else. (And to make things worse, there was a leap second in there, too, so the 2854800 number is suspect as well.)
Or, yet again, consider pointers in the C programming language. (Apologies if I'm drifting too close to RD/C territory, here.) If I have two pointer values, say, 0x12345abc and 0x1234bcde, I can subtract them, but the answer I get depends on circumstances. If they're byte pointers I'll likely get the obvious answer 25122 (0x6222), but if they're pointers to 4-byte integers they're scaled by the size of the pointed-to objects, so the answer will be 6280, since there are only 6280 4-byte ints encompassed by the two pointers. Finally, if they are void pointers, or if they do not both point within the same "object", strictly speaking it is not meaningful to subtract them at all. And, in any case, the units are clearly different: the difference between two pointers is not a pointer; it is an integer of type ptrdiff_t.
So my question is simply, is there a general theory of, or a well-known term for, this distinction between "absolute" and "relative" measurements? They all have the same properties: the difference between two absolutes is a relative, an absolute plus a relative is another absolute, you can add and subtract relatives all you want, but adding two absolutes is meaningless.
From a group theoretical point of view, I guess it's clear that absolute numbers are not closed under subtraction.
P.S. Sometimes you can cheat. Old-time C programmers liked to assume that pointers were integers, meaning that you could do any kind of arithmetic on them you wanted. Unix to this day likes to represent both absolute and relative times as monotonically-increasing counts of seconds, and this almost works, except for those pesky leap seconds.)
P.P.S. In either Surely You're Joking, Mr. Feynman! or What Do You Care What Other People Think?, Richard Feynman rails against a science textbook problem that asked you to find the average total temperature of several stars. His complaint was that it's an artificial, scientifically meaningless thing to do; mine is that it may not even be numerically meaningful if, as I claim, addition of absolute numbers is ill-defined. This was brought home to me when I discovered that a certain unit-agnostic scientific quantity library that I work with has actual problems with this: if you try to add two temperatures, the sum ends up being significantly off. Not just by 32, but by 273.15. Where that number comes from is left as an exercise for the reader.
P.P.P.S. And if you think there's no problem adding absolute numbers, what's 32°C + 32°F? Or if that's too easy, what's January 1 + February 2? Or if that's too easy, what should it mean to say int a, b, *p = &a + &b;
in C?
Steve Summit (talk) 02:45, 17 October 2017 (UTC) [edited 04:22, 18 October 2017 (UTC), per comment]
- This has to do with UNITS. Basically in both advance calculators and CAS (Computer Assisted Symbolic), units are kind of a problem to be deal with. Basically there are two types of units, one where all units agree at zero. For example, 0 kilogram is equal to 0 pounds is equal to 0 grams. In this case the absolute unit is the same as the unit difference. Example: one absolute kilogram is the same as one kilogram difference.
- In the units where all the units disagree at zero, for example: Kelvin and Celsius , you have the problem where one absolute unit is not the same as one unit difference. This also means that in any formula that involves that unit, you must specify if it is absolute unit or unit difference.
- That's why for temperature, there are two type of units
- AbsTemp
- TempDiff
- 110.22.20.252 (talk) 05:39, 17 October 2017 (UTC)
- Steve is misremembering in his PPS. The passage is in Surely You're Joking, in the chapter "Judging Books by their Covers". The textbook asked the student to compute, not the average, but the "total temperature" of some stars. And Feynman's comment was:
- ...I would explode in horror.
- My wife would talk about the volcano downstairs. That's only an example: it was perpetually like that. Perpetual absurdity! There's no purpose whatsoever in adding the temperature of two stars. Nobody ever does that except, maybe, to then take the average temperature of the stars, but not to find out total temperature of the stars! It was awful! All it was was a game to get you to add, and they didn't understand what they were talking about. It was like reading sentences with a few typographical errors, and then suddenly a whole sentence is written backwards. The mathematics was like that. Just hopeless!
- The thing is that since temperature scales are offset by the simple addition of a constant, even though adding temperatures to produce a total is meaningless, you still get a valid average if you then divide the total by the appropriate number, because the offsets cancel. --69.159.60.147 (talk) 09:30, 17 October 2017 (UTC)
- Steve is misremembering in his PPS. The passage is in Surely You're Joking, in the chapter "Judging Books by their Covers". The textbook asked the student to compute, not the average, but the "total temperature" of some stars. And Feynman's comment was:
- The answer to the OP's first conundrum is that he's messed up order of operation. To convert ΔT in Celsius to ΔT in Farenheit, you need to first convert the individual end temperatures, THEN take the difference function. If you do it in that order you always get the right answer. So, if it was 20C yesterday and 25C today, you convert those individually to F and then take the difference. You'll always get the right answer, and you'll always get the SAME right answer, so you get ΔT = 9F if ΔT = 5C whether the temperature went from 20C --> 25C OR 30C --> 35C OR 179C --> 184C. --Jayron32 14:36, 17 October 2017 (UTC)
- I think you slightly misunderstood the OP's question. He's saying that if you are given a temperature difference, say ΔT = 5C and you want to convert that to a difference in Fahrenheit, you simply multiply by 9/5 without adding 32. You may not even know the original absolute Celsius temperatures, so your solution to change the order of operations and do the conversion of the original two temperatures first may not be possible. It's perfectly reasonable to have a difference of two unknown temperatures and want to express that difference in another scale.
- I'll note that the OP's three examples are actually three completely unrelated issues. The first (temperature conversions) is an issue with a different zero point, as noted by 110 above. The second, subtracting dates, is an artifact of the use of mixed units (year, month, day) in our common calendar. It's similar to the problem you would have subtracting lengths expressed in miles, feet and inches, except it's somewhat worse since not all months are the same length and not all years are the same length. The third example, subtracting pointers in C, doesn't seem to be a problem at all, it's just a fact of the C language that needs to be understood: when you subtract two pointers to a type of object, you get the number of such objects between the two pointers, not the number of bytes between the two pointers. CodeTalker (talk) 18:07, 17 October 2017 (UTC)
- Yes, but you only make the mistake of adding the 32 if you blindly apply formulas without understanding how math works (a common mistake, to be sure). From an analysis point of view, addition means "shift the number line" and multiplaction means "stretch the number line". Since a thermometer is just a number line, the math works the same; a shift is only needed where the zero point is relevent. ΔT is the same regardless of how far you are shifted from the zero point, so we can ignore the +32 bit. (incidentally, this is why a differential in say calculus allows you to "drop" any constants when you perform a derivative function]]. Differentials are just arbitrarily small difference (subtraction) functions, which means you can ignore any number line shifts (+ or - a constant). But I digress) Stretches of the number line don't go away when you take a difference, so that's why the 5/9 or 9/5 still needs to be done. --Jayron32 11:45, 18 October 2017 (UTC)
- It's not completely clear whether the temperatures being added in the Feynman quote are in a scale like Fahrenheit/Celsius, which has an arbitrary zero point, or in an absolute temperature scale like Kelvin or Rankine, where the zero is not arbitrary and absolute numbers are in fact meaningful. That would be the point most relevant to Steve Summit's question.
- But I suspect that Feynman was likely talking about a completely different point. Temperature is an intensive property, not an extensive one. Very very very roughly (sometimes people make the mistake of ignoring how rough this is), temperature is the average kinetic energy per particle. Adding the temperatures of two stars is as meaningless as, say, adding the average household income of the United States to that of Switzerland. --Trovatore (talk) 18:22, 17 October 2017 (UTC)
- Yes, Feynman's consternation has nothing to do with which temperature scale is being used, rather it's on the problem of choosing the wrong math while not understanding the physics. Still happens all the time. Read #5 on this real math worksheet. That's the same issue that causes Feynman's rage. The writers of the worksheet knew this was a trick problem, but most students still try to answer it. Disheartening.--Jayron32 11:52, 18 October 2017 (UTC)
- I think you're being quite unfair there: the writers clearly knew that #5 wasn't like the other questions, because they warned the solver at the top of the page that there was "one trick question". Feynman was angry because the writers of the book he was reading didn't understand that the question they were asking didn't make sense. (There are some other quibbles about the worksheet, such as the assumption that the price of Internet usage must be exactly proportional to duration, but that's minor.) --69.159.60.147 (talk) 23:20, 18 October 2017 (UTC)
- Yes, Feynman's consternation has nothing to do with which temperature scale is being used, rather it's on the problem of choosing the wrong math while not understanding the physics. Still happens all the time. Read #5 on this real math worksheet. That's the same issue that causes Feynman's rage. The writers of the worksheet knew this was a trick problem, but most students still try to answer it. Disheartening.--Jayron32 11:52, 18 October 2017 (UTC)
You should read Level of measurement which addresses basically just that. Temperature on an arbitrary scale like Celsius or Farenheit are on an interval scale. Temperature differences, as well as temperatures on an absolute scale like Kelvin, are on a ratio scale.- That said, the Celsius in "Today is 10C" and the Celsius in "Today is 5C hotter than yesterday" are the same Celsius. They're not different units. It's what you do with those units that differs. -- Meni Rosenfeld (talk) 19:09, 17 October 2017 (UTC)
- PS. Calculating average temperatures of two objects is fine, even if the given temps and the resulting average are Celsius. Adding (and other arbitrary linear combinations) temperatures on an interval scale is meaningless, but taking a convex combination (a fancy term for weighted average) is perfectly meaningful. It's probably a mistake to think, in this context, of average as "adding, then dividing by 2". Though, as Trovatore mentions temperature is intensive, so in most cases where you would want to calculate an average temperature, you'd want it to be a weighted average, with the weights being thermal masses or something like that. -- Meni Rosenfeld (talk) 19:13, 17 October 2017 (UTC)
- As everyone knowns, the result of
int a, b, *p = &a + &b;
in C? is nasal demons (if your compiler lets you get away with it). Adding two pointers is not correct C. We all "know" that pointers in C are kinda integers (and vice versa), and maybe one can coax some compiler to emit corresponding code, but it's still undefined. --Stephan Schulz (talk) 19:30, 17 October 2017 (UTC)- The OP didn't mention adding pointers, they only referred to subtracting pointers. Adding pointers is undefined. Subtracting pointers is defined only if they point to the same type of object in the same array. And since void pointers don't point to any type of object, subtracting them is also undefined. CodeTalker (talk) 20:21, 17 October 2017 (UTC)
- Well, you are right on the C, but wrong on the OP. Note that my code example is a copy and paste from Steve's original post. --Stephan Schulz (talk) 21:16, 17 October 2017 (UTC)
- Oh sorry, you're right. I was looking at the paragraph where he discussed C, not all the way down to his P.P.P.S. CodeTalker (talk) 21:47, 17 October 2017 (UTC)
- Well, you are right on the C, but wrong on the OP. Note that my code example is a copy and paste from Steve's original post. --Stephan Schulz (talk) 21:16, 17 October 2017 (UTC)
- The OP didn't mention adding pointers, they only referred to subtracting pointers. Adding pointers is undefined. Subtracting pointers is defined only if they point to the same type of object in the same array. And since void pointers don't point to any type of object, subtracting them is also undefined. CodeTalker (talk) 20:21, 17 October 2017 (UTC)
You can also read about what Wolfram/Mathematica thinks about Temperature Unit here. [TemperatureUnit] 110.22.20.252 (talk) 00:12, 18 October 2017 (UTC)
- Thanks for the answers. Meni Rosenfeld is exactly right: the "absolute" and "relative" units I was talking about are what Stanley Smith Stevens calls "interval" and "ratio" measurements. That's exactly the sort of taxonomy of measurements I was looking for.
- CodeTalker suggests that my three examples are "actually three completely unrelated issues", but I believe they do have in common that they're all what Stevens calls "interval measurements".
- 110.22.20.252, thanks for the Wolfram/Mathematica link, that's fascinating. (Is that also where the "AbsTemp" and "TempDiff" you mentioned earlier come from?) —Steve Summit (talk) 04:45, 18 October 2017 (UTC)
Osculating circle formula for curvature
[edit]What is the formula for an osculating Circle at a point on a curve, given radius of curvature ? יהודה שמחה ולדמן (talk) 19:10, 17 October 2017 (UTC)
- The same as for any other circle: , where the is the position of its center, is the curvature radius and is a unity vector orthogonal to the curve at point . Ruslik_Zero 20:40, 17 October 2017 (UTC)
- About another method of finding the radius of curvature, given by Norman J. Wildberger:
- The radius of a circle due to an inscribed triangle with sides is .
- He uses this to find the radius of curvature formula of .
- But he uses the cross product for the area:
- Now
- But when I tried using Heron's formula and plugging it in, it did not work and I did not get any cancellation terms:
- Can anyone tell me why? יהודה שמחה ולדמן (talk) 19:03, 19 October 2017 (UTC)
- Because you mis-typed the last factor in the square root - you wanted (a+b-c). --catslash (talk) 12:05, 20 October 2017 (UTC)
- That of course is a mistake – but only here; already before I asked here I did it on a paper and the formula did not work. יהודה שמחה ולדמן (talk) 14:24, 20 October 2017 (UTC)
- Because you mis-typed the last factor in the square root - you wanted (a+b-c). --catslash (talk) 12:05, 20 October 2017 (UTC)
The radius of the circumcircle is
Henon's formula for the area of a triangle
so
Take any three points on the curve
The sides of the triangle formed from these points are
so (assuming < < (but that only affects the sign of )), the sides are
so
--catslash (talk) 14:35, 20 October 2017 (UTC)
- I think there is a problem with the solution for the radius vector , because in 2 different ways.
- How do we make sure that is unique? יהודה שמחה ולדמן (talk) 16:05, 22 October 2017 (UTC)
- In this weird page they wrote the center of curvature
- but amazingly, they forgot to write its derivation – saying 3 facts:
- The center lies on the line perpendicular to the tangent.
- The center is distance from (Duh!).
- These 2 details are enough to find it.
- Any ideas? יהודה שמחה ולדמן (talk) 20:33, 22 October 2017 (UTC)
- Still no answer? יהודה שמחה ולדמן (talk) 23:29, 23 October 2017 (UTC)