Relations between Function Variables in Computations

I have the relation λ=c/f, respectively f=c/λ and a simple function n[λ_]:=λ²+1. I'd like to differentiate the function with respect to f, then plot it as a function of λ again. For this, I can define the function

n[λ_]:=λ²+1


I can now compute

D[n[c/f], f]


To get that as a function of λ, I tried

nplot[f_]:=D[n[c/f], f]


(which does not work) and then

Plot[nplot[c/f],{f,a,b}]


Is there no elegant way to switch between λ and f in plotting and computing - such, that I could just say

derivative[f]=D[n[f],f]
Plot[derivative[λ],{λ,0,10}]


…?

You could define an UpValues for λ to encapsulate your known relation:

SetAttributes[c, Constant]
Dt[f == c/λ, f]


1 == -c Dt[λ, f]/λ^2

Hence, we can define:

λ /: Dt[λ, f] = -λ^2/c


-λ^2/c

Then:

n[λ_] := λ^2+1

Dt[n[λ], f]


-2 λ^3/c

which is the requested derivative of n[λ] with respect to f in terms of λ.

• Ah, that's neat. How would I then quickly plot n[λ] and Dt[n[λ],f]] as a function of f? For the first, I could just use Plot[n[c/λ],{λ,a,b}], but then I again have to give the range in terms of λ, not f. – Wasserwaage Oct 10 '18 at 7:04