It looks like it must be using kelvin as its canonical units:
0C + 0C = 273.15 K + 273.15 K = 546.3 K = 273.15 C
The weirdness is that conversions like that don't work for units that have different zero points. Perhaps addition of temperatures isn't really well defined? If 273.15 K + 273.15 K does not equal 0 C + 0 C, despite 273.15 K = 0 C, it's not clear what addition "means" in this context.
One restricted form of addition that makes sense (which maybe is what's intended?) is to consider the 1st temperature an actual temperature, and the 2nd temperature a temperature difference in units of degrees-C (or degrees-K, or degrees-F). So e.g.:
"5 C warmer than 30 C"
= 30 C + 5 C
= 303.15 K + 5 K
= 308.15 K
= 35 C
But then addition isn't commutative. The problem is that "degrees C" is overloaded here, to mean both a position on a scale, and the size of a unit on that scale, with no conventional short way of distinguishing which one you mean (which is one reason Kelvin was invented, since things aren't ambiguous if you put absolute zero at 0 K).
Ah, that's pretty interesting. It makes sense when you read the two phrasings next to each other, but it does seem like a pretty subtle wording difference. I think in practice people tend to differentiate which one is meant by context more than by "degrees Celsius" versus "Celsius degrees" being used consistently.
Should Google should convert the query somehow? It seems like adding two temperatures in degrees Celsius is something that never really makes sense (or subtracting, multiplying, or dividing them), so faithfully executing it like they currently do is rarely what's intended.
If I wanted to know 50 degrees Celsius + 35 Celsius degrees, I would probably omit the units and just ask for 50 + 35. I find it unlikely that many users actually run into this problem.
You're absolutely right that two different things are measured in degrees: temperatures and temperature differences. And they work as you said: you can add temperatures differences, you can add a temperature difference to a temperature, but you can't add two temperatures. (This is like pointers and ints in C.) Mathematically temperature differences form a group under addition and temperatures (idealized to have no minimum temperature) form a torsor for the group. A good introduction to torsors is John Baez's Torsors made easy: http://math.ucr.edu/home/baez/torsors.html
Well, you can add temperatures. Temperature is defined to be average kinetic energy of particles, and addition of kinetic energies is well defined. The way Google does the addition is in this sense correct - there's a reason it's called absolute zero.
The thing is that you usually don't want to add temperatures, for the same reason that you generally don't want to add other averages: they're usually not particularly interesting quantities. For this reason, you might encapsulate the definition of temperature and not expose the addition operation, but the dimensional analysis is fine the way Google does it.
What the what? Averages over kinetic energies are summations. Adding them is well-defined and has a straightforward interpretation as the average energy per particle.
Formally, temperature is defined as
T = 1/(\partial(S)/\partial(E)) with fixed external parameters volume, particle count, etc.
where S is the entropy of the system and E is its total energy.
Playing fast and loose with words, as you pump energy into a system, if it becomes chaotic slowly, you're at high temperature. If it becomes chaotic quickly, you're at low temperature.
Much of the difficulty involved with calculating temperatures comes from the fact that we chose the inverse of that partial to be "temperature"--which means that you cannot add temperatures for most systems together and negative absolute temperatures are "hotter" than positive ones, (yes, Cindy, you can experimentally obtain systems below absolute 0 :)).
However, it is usually possible to calculate the thermal equilibrium of the system, which would be an excellent "average" temperature.
Actually, Wolfram Alpha is doing a sensible thing in each case: it is not adding the temperatures, it is comparing them, resp. calculating the difference, when you give different scales. You can see that in the output, where it says "difference".
I'm not sure about the confusion... the question to W|A is not well-defined, but lets say someone asks you "2 + 4?" and you answer "the difference is 2". Does it make any sense? Not to me.
What if someone writes you the question "what is 12, Park Avenue + 34, Park Avenue?" Wouldn't you assume that this cannot be about addition, and instead tell him who lives in those two places and perhaps the walking distance?
That last one is odd. Should it not convert them first on the same base first? But then which on should it convert to? If you go for 0 celsius to 273.15 K then you'd get 0 K + 0 C = 273.15K if you do the other way you get -273.15 C. Whoa now I have a new tool to explain that AB is not always = BA to friend ;)
Why technical articles use a mix of kelvin and Celsius scales
In science (especially) and in engineering, the Celsius scale and the kelvin are often used simultaneously in the same article (e.g. "…its measured value was 0.01023 °C with an uncertainty of 70 µK…"). This practice is permissible because:
the degree Celsius is a special name for the kelvin for use in expressing Celsius temperatures, and
the magnitude of the degree Celsius is precisely equal to that of the kelvin
So based on that, it is permissible to do 0C == 273.15K.
I was curious about how this could happen so quickly, so I looked up the PageRank for ycombinator.com, and it's a 7 out of 10. That's a good amount of Google juice, which explains how they can so quickly rank on a keyword (and it's a very obscure keyword, so not much competition up-top).
HOWEVER it should equal about 17.78 degrees Celsius. Now we 17.78/2 = 8.89 C = 282.04 kelvin. That is suspiciously close the to 0 C = 273.15 K- however it is also not that close. My whole understanding of temperature has been flip upside down.
Wait. This is why I am not an engineer. If we add a glass of liquid that is at 0C/32F/273K to another glass of liquid that is at 0C/32F/273K the temperature will still be 0C/32F/273K. A better way to measure this would be in energy/joules gained/lost- we would also need volume, properties, ect. In this case we are trying to lower 0C by adding 0C. Since the water is already at 0C then there is no energy needed. You about blew my mind; I've never thought of temperature as a number line.
10 °C = 50 °F (temperature)
10 °C = 18 °F (temperature difference)
Celsius and Fahrenheit date to before temperature was understood to have a lower limit. Both measure only temperature difference from their respective zero points, with the conversion to energetic temperature demanding that one knows where the zero points are. The conversion is implicit in common use, so that
10 °C + 10 °C = 273.15 K + 10 °C + 10 °C = 273.15 K + 20 °C = 20 °C
And thus 32 °F = 16 °F, which, with conventional mathematics, can only be satisfied if °F = 0. Express this in English as "Fahrenheit is nothing", which is something that every European already knows. That's why we use Celsius :P
It's meaningless to add temperatures when the zero level is at +273.
It's like adding years relative to 2010 years ago - it would be meaningless to
add this year - 2010 - with (say) 1666 - the year of the Great Fire of London. It's meaningful to take differences (the Great Fire happened 344 years ago), but not to add. (Unless we converted to some kind of absolute time units e.g. years since the big bang)
I'd say what it's doing - converting to an absolute scale then adding - makes sense.
It's meaningless to add temperatures in any circumstance. You can average temperatures, and you can add amounts of heat energy, but it is semantic garbage to try to add temperatures.
I'd say what it's doing--converting to an absolute scale then adding--is an interesting bug.
I started Deep Thought 2010 years ago. It consisted of two geographically distributed identical units, networked by means of ether. One I put in London, another in Mecca. The former was destroyed in the Great Fire of London, 344 years ago. How many years of processing has Deep Thought finished?
2010 + 1666.
In general, yes, it is pointless to add times. But I wouldn't call it meaningless.
In general, yes, it is pointless to add times. But I wouldn't call it meaningless.
For extremely large values of "in general." The only edge case where it appears to be meaningful is the one you pointed out, where one of your endpoints is the origin of the scale. If you had started Deep Thought at literally any other point in time, the addition would fail.
The addition wouldn't fail; it would just not be very useful. Interval scales do support addition, which comes in handy when you want to, say, calculate the center of mass for interesting events.
What would fail would be trying to determine the factor by which 2010 is later than 1666.
"three degrees hotter" is an interval of three degrees, and not an absolute value along a scale. So you'd take your original temperature and add an interval of 3 degrees to it.
0 degrees Celsius has a heat value (273.15 K). If you double it (i.e. add 0 degrees Celsius to it), you get 546.3 K -- which is 273.15 degrees Celsius.
What it really comes down to is that if you're going to perform math on temperatures for scientific reasons, use Kelvin. And if you're adjusting a temperature by an interval, leave out the units from the math completely.
Hm, well not really. It doesn’t give the answer the user wants to know. They should just convert the second degrees celsius to celsius degrees. (Ideally they should probably also add a ‘Did you mean …’-link with the alternative ála Wolfram Alpha.)
Looks right to me. Asking for 0 degrees celsius + 0 degrees celsius, or put another way, "what's twice as hot as freezing water?", is profoundly nonsensical, but 273.15 degrees celsius is the closest you can get to a sensible answer.
I'd appreciate it more that it wouldn't answer it at all. Giving stupid answers to stupid questions is even stupider than asking the stupid question in the first place.
Moral of the story: Google is a bunch of cheeky bastards.
It took me a while to understand the reasoning behind that as points on a scale versus actual temperature values ("Celsius degrees" versus "degrees Celsius," respectively).
Googling "0 Celsius degrees + 0 Celsius degrees" returns 0 Kelvin, which would be expected given the technicality in wording.
Whether "degrees Celsius" refers to a point on the Celsius scale or an interval is ambiguous and is usually determined by context. Although attempts at conventions have existed the effect of typing rather than writing was not considered when they were created and so those conventions are largely ignored. In this case there is no context so google uses "degrees celsius" and "celsius degrees" to distinguish between a scale point and an interval which is a nice natural language solution in my opinion.
what you expect is to add 0 temperature difference to 0 temperature value. What it actually calculate - sum of two temperature values. it's matter of notation imho
The last 2 of the 3 are wrong, so I'd say this is definitley a bug.
EDIT: I think I figured it out. It's converting everything after the first temperature to Kelvin, without converting the first temp to Kelvin, and then just doing the arithmetic on the numbers...
0C - 0C => 0 - 273 = -273 = 0K (ok, weird this one then converts back to K)
Your math/logic is wrong, (A - A) => (B - A) you converted 0C to both 0 and 273.
Convert everything to Kelvin and it all makes sense. It's non-intuitive because 0C indicates a positive amount of energy rather than no energy as 0K does.
If you read my comment leading up to that, you'd see why I did it that way. But I agree with the other comment that it's more likely Google is just converting everything to Kelvin as it's canonical calculating form.
One restricted form of addition that makes sense (which maybe is what's intended?) is to consider the 1st temperature an actual temperature, and the 2nd temperature a temperature difference in units of degrees-C (or degrees-K, or degrees-F). So e.g.:
But then addition isn't commutative. The problem is that "degrees C" is overloaded here, to mean both a position on a scale, and the size of a unit on that scale, with no conventional short way of distinguishing which one you mean (which is one reason Kelvin was invented, since things aren't ambiguous if you put absolute zero at 0 K).