1. Oct 28, 2009

### Kyouran

I have a problem which arises whenever I look at the derivate as an operator on a function:

when x and t both represent a (different) unknown value from the same set X, the output need not be the same:

y = f(x)
z = f(t)

When calculating the derivatives for these 2:

dy/dx = d(f(x))/dx = Df(x) = df/dx (x) = df/dt (x)
dz/dt = d(f(t))/dt = Df(t) = df/dt (t) = df/dx (t)

Example:

if f represents the cosine function, it doesn't matter whether I differentiate cos(x) to x or cos(t) to t and then evaluate the result at an unknown point x or t, depending on what I need. So here's my question...does it actually matter to which variable I differentiate this?

2. Oct 28, 2009

### mikeph

The derivative is an operator on a function, and not a point in the function's domain. It will map one function, defined over the WHOLE domain, onto another function. Your phrasing "I differentiate cos(x) to x" does not make sense because you have defined x as a value from the domain. That makes cos(x) a number too, not the actual cosine function.

Of course you can parametrise the domain of your function by whatever letter you like, so (cos(t))' = (cos(x))', but this doesn't give any useful information.

3. Oct 28, 2009

### Kyouran

So basically, the notation

df/dx

when d/dx is viewed as an operator on f is not really correct?

4. Oct 28, 2009

### Tac-Tics

The standard notation for calculus is far from exact.

Leibniz notation is especially confusing because it gives false significance to the variable name of a function. You write it $$\frac{df}{dx}$$ to show the dummy variable is x. But after f is defined the dummy variable is completely irrelevant! If I define:

f(x) = x^2 + 1
g(t) = t^2 + 1

Then f and g are equal. Furthermore, the functions themselves are properly referred to as f and g. Most physicist-types (and many math-types as well) will still write them as f(x) and g(t) to remind you they are functions. But this practice makes no distinction between a function and an evaluation of a function at a point.

So if you have a function f, you don't know if it was defined as f(x) = ... or f(t) = ... or f(z) = ... and in fact, it doesn't matter at all which it was, because the function is just the rule to map inputs to outputs. After that, you can take its derivative, f' or Df or however you want to notate it. The derivative is itself another function, and if you want to get a single value out of it, you have to evaluate it at a point, such as f'(a) or Df(42).

Leibniz notation isn't totally crazy, though. It comes in handy when you start working with multi-variable functions. If I have a function f(x, y) = ..., then $$\frac{df}{dx}$$ gives me a reminder that the derivative is along the first variable, with the others held constant. (But again, keep in mind, even though we write it dx, it's not 100% proper, because the variable slots lose their names after the definition).

So some key points:
* Keep in mind the distinction between a function and its evaluation at a point (and in calc, always derive, then evaluate).
* Technically speaking, functions don't remember their variable names after their definition (but people pretend they do anyways).

5. Oct 28, 2009

### Kyouran

Thanks for the reply, this is basically what I wanted to know: whether the mathematical notation was not that exact or my understanding was wrong. So a function is basically:

(some pseudo code under this)

real x = ...
real y = ...

function f takes real input1, real input2 returns real
local real r = input1^2 + input2
return r
enfunction

real z = f(x,y)

And when you derive you just derive to the input slots? Is this a good way of viewing a function?

6. Oct 28, 2009

### Tac-Tics

It's a good enough view for what you need now =-)

There's a very handy notation for keeping track of what each function does used in category theory and computer science.

R means the set of reals

1 :: R means 1 is of the type "real"

R -> R means a function which takes a real and returns a real.

f(x) = x^2
f :: R -> R means f is a real-valued function

And so on.

So the standard derivative we use in calculus is actually:

D :: (R->R) -> (R->R)

Meaning, it takes an R->R (a real-valued function) and returns another R->R (another real valued function).

By applying arguments, we can simplify the type of an expression. So

1 :: R
f :: R->R
f(1) :: R

Like I said in my previous post, here is the distinction between f and f(x). The expression f has type R->R, while the expression f(x) has type R.

When we take the derivative of f, we again reduce the type:

x :: R
f :: R->R
D :: (R->R) -> (R->R)
Df :: R->R
(Df)(x) :: R

I'm tired and a little stream of conscious right now, but I hope that made sense. This notation is actually useful for a bunch of other tricks too, but this should do for now.

7. Oct 28, 2009

### mikeph

You will often see people write (df/dx)_y,z... (_ meaning subscript)

This means f is differentiated with respect to x, with y,z... held constant. It seems trivial in the case f(x,y) = xy, for example, that df/dx = y without the need for this notation, but in certain applications it is essential to keep track of what is being allowed to vary and what isn't, for example, thermal physics where you have all kinds of heat coefficients with respect to constant pressure, temperature, entropy....

In the end even the function f(x) = mx + c would be interpreted as a function of three variables by an alien, and you'd need to write something like f(x;m,c) to isolate the variables of the function from the parameters which are always fixed. Then again, in a pure form, it always is a function of three variables and represents the set of all possible linear functions, until you specify the domain of m and c to be single values....