Matlab wouldn't find simple inverse
19 views (last 30 days)
Given the function defined via
syms x a real; f = x^(a-1)
Why Matlab won't find an inverse to that?
is resulting to an empty array.
However merely by looking at the function the inverse might be
I guess due to MATLAB's wide insight there is a case where this general solution fails so it can't find one at all.
John D'Errico on 30 Nov 2021
Edited: John D'Errico on 30 Nov 2021
There is another possibly more important problem, beyond those mentioned by @Yongjian Feng.
While you may, personally think the inverse function is of the form you show. But what if you wanted to see an inverse in terms of a?
You have TWO parameters in there: a AND x. And yes, surely you think of x as a variable, with a as an unknown parameter. We get conditioned to think of things that way.
But suppose we made this a simpler problem, without x in there?
f = 2^(a - 1);
Now finverse actually succeeds, because it sees only the one variable: a.
So I will argue the problem is not so much that MATLAB was worried a might have special values that invalidated the existence of an inverse, but that MATLAB was unsure what the inverse function means when you have TWO variables.
syms a x real
f = x^(a-1)
As you should see, in the first case, MATLAB still gets upset, because for some values of a, the inverse does not exist. It tells you that. I could probably tell MATLAB to assume a never takes on problematic values. I'm actually a little surprised that in the second case, the inverse function becomes problematic if x==1, in which case again an inverse will not exist. Regardless, there would be two very different inverses, depending on whether a or x is the variable.
Had your function been of the form:
f = x^(y-1)
my guess is you might have recognized this as an issue. But we are conditioned to think of x as a variable, whereas a is always a parameter. We get this from schooling, from books, etc. MATLAB does not have such preconceptions, nor should it.
But you should see the issue now. MATLAB needs to know if it should consider this a function of a or of x, where the other variable is just a parameter. You needed to provide guidance to finverse.
More Answers (1)
Yongjian Feng on 30 Nov 2021
The inverse function is not well defined for all the possible a.
For example a=1, there is no reverse function.
If a is an odd number, then there are two, positive and negative ones.