Message Boards Message Boards

0
|
2338 Views
|
5 Replies
|
2 Total Likes
View groups...
Share
Share this post:

Finding the derivative of InverseFunction[ ] ?

Posted 3 years ago

POSTED BY: 袁 旭龙
5 Replies

You can start with the basic relation f[(f^-1)[x]] == x and take its derivative:

f = -((Sqrt[#1] (-E^(2 C[1]) + #1) +
        E^(3 C[1]) ArcSin[E^-C[1] Sqrt[#1]]
         Sqrt[1 - E^(-2 C[1]) #1])/Sqrt[E^(2 C[1]) - #1]) &;
basicRelation = (f[fInverse[t + C[2]]] == t + C[2]);
Solve[D[basicRelation, t], fInverse'[t + C[2]]]
POSTED BY: Gianluca Gorni
Posted 3 years ago

Thank you! By the way, I have another problem (not related to the above one) to ask you: I used the NDSolve to solve a set of ordinary differential equations in a very narrow interval of the independent variable(say t) and it failed. Actually I managed to compute the values of functions in the equations at each t with very high working precision, but the values of functions weren't calculated with such high working precision in the NDSolve solving. It seemed I was solving at a single point. When I made the interval large, it worked. How can I solve the problem? Need I write my own differential equation solving program instead of NDSolve?

POSTED BY: 袁 旭龙

Perhaps you can rescale the parameter t in the equation so that it ranges over a larger interval.

POSTED BY: Gianluca Gorni
Posted 3 years ago

I think I tried, the interval got larger though it was still tiny compared with the enormous length from the origin to the target interval, which also appeared in the equations. Moreover, it sounds difficult to deal it with very high working precision. What book or website do you recommend me to read for rescaling tricks?

POSTED BY: 袁 旭龙

You can always rescale the independent variable, for example this way:

independentVariableChange = (a*t + b == x)
dependentVariableChange = (g[t] == f[x])
dependentVariableChange /. Solve[independentVariableChange, x][[1]]
% /. Solve[independentVariableChange, t][[1]]
changeOfVariables = 
 f -> (Function[x, g[t]] /. Solve[independentVariableChange, t][[1]])
originalDiffEq = f''[x] - f'[x] == x*f[x]
originalDiffEq /. changeOfVariables
% /. Solve[independentVariableChange, x][[1]]
POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract