Hacker News new | past | comments | ask | show | jobs | submit login

For a function to be a linear transform it needs two properties[1]:

  1. F(c1 + c2) = F(c1) + F(c2)
  2. F(k*c1) = k*F(c1)
Converting from Celsius->Fahrenheit (or vice versa) is does not have these properties.

  F(c) = 9/5 * c + 32

  F(c1 + c2) = 9/5 * (c1 + c2) + 32
  F(c1) + F(c2) = (9/5 * c1 + 32) + (9/5 * c2 + 32) = 9/5 * (c1 + c2) + 64

  F(k*c1) = 9/5 * (k*c1) + 32
  k*F(c1) = k * (9/5 * c1 + 32) = 9/5 * (k*c1) + k*32
Admittedly, I'm not entirely sure why being a non-linear transform gets the OP so riled up.

[1]http://mathworld.wolfram.com/LinearTransformation.html




" Admittedly, I'm not entirely sure why being a non-linear transform gets the OP so riled up."

Because it's harder to calculate mentally

One can approximate 2lb to 1kg roughly, 1mi ~ 1.6km, but for Fahrenheit this is harder

One solution is to establish a set point ( 70F = 21.1C, approximate to 20C ) then work in differences, since 1.8deltaF = 1deltaC so, 2dF ~ 1dC (or 10dF ~ 5dC)

Hence, 90F is approximately 30C (exact value, 32.2C)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: