Message Boards Message Boards

1
|
12805 Views
|
16 Replies
|
2 Total Likes
View groups...
Share
Share this post:

Invert a function with Wolfram|Alpha?

Posted 8 years ago

I was was computing an integral and I copied the Wolfram Alpah algorithm representing the result of that integral. Afterwards I ran the "invert" function with that algorithm I copied. It gave a ridiculous result. Here it is: enter image description here

What do you guys think? My work requires:

enter image description here

POSTED BY: 12D S?n?f?
16 Replies
Posted 8 years ago

I ran the same algorithm, this time with Geogebra, the result it gave is the way I predicted it to be. Though tomorrow I will try it with my TI as well...Just to be sure. Then I will give a call to the Tech Support. Thanks for the advice.

POSTED BY: 12D S?n?f?

i think it is reversing with respect to a different variable (a,b,c,x) are all variables, so 'invert' has to chose one...

POSTED BY: Sander Huisman
Posted 8 years ago

Isolate x on one side. Take the function x=f(x,y) and for all real values of y check for a fixed point. If a fixed point exists for a real interval of y, then setting f(x,y) equal to h(x), for y equals but does not identify as x, and infinitely composing h(x) should yield the inverse of your function.

POSTED BY: T.A. H.
Posted 8 years ago

Alpha is probably wrong.

POSTED BY: T.A. H.
Posted 8 years ago

Oh, I already found the inverse of the function myself' it is uploaded at the bottom of the page. I just wanted to know why the "invert' function failed to comply properly.

POSTED BY: 12D S?n?f?
Posted 8 years ago

Should I inform some body?

POSTED BY: 12D S?n?f?
Posted 8 years ago

Before any action is taken, you should if possible, plug the result from Alpha into a graphing and/or scientific calculator such as Desmos.

POSTED BY: T.A. H.
Posted 8 years ago

Until now it always has taken "x" as the variable' and others as constants. Though I guess you are right, because as I decreased the number of unknowns it got back to normal.

POSTED BY: 12D S?n?f?
Anonymous User
Anonymous User
Posted 8 years ago

without having graphed it myself i'll underline what sander said

functions that "pass tests" are invertible, not all relations are invertible

you have many variables maybe dependant or independant, and i don't see what the graph looks like

a typical inversion routine from Algebra needs dependant y and independant x as arguments to it, and it appears Mathematica asks for this and you didn't provide it, and that you didn't use mathematica but a "guesser"; however the guesser cannot convey the information to you that your input is problematic in many ways

you havent told Mathematica anything about these mystery variable, and it is likely cautiously and probably correctly avoiding answers that would not be true in "the general case" of what you gave it


graph the solution using mathematica, upload the graph, so we can see it breaks no rules (quite plainly easily by view) and can be inverted

is f() one to one? are your variables following the rules of inversion (you didnt say) ? which variable is taken as f(x)=y?


the graph i see is like this, and i would say it is not invertible in general, but that regions of it may be

Attachments:
POSTED BY: Anonymous User
Anonymous User
Anonymous User
Posted 8 years ago

In[1062]:= InverseFunction[ArcTanh] Out[1062]= Tanh

ah yes arctan is invertible now i remember

however that's a special result, true if |x|<1, it has not inverse in general, only a special one. this counts only for special cases

oddly, Mathematica gives a different answer if function slots are used...

InverseFunction[(ArcTanh[#/Sqrt[2]] &)]

Out[994]= ConditionalExpression[ Sqrt[2] Tanh[#1], (Re[#1] < 0 && -([Pi]/2) < Im[#1] <= [Pi]/ 2) || (Re[#1] == 0 && -([Pi]/2) < Im[#1] < [Pi]/ 2) || (Re[#1] > 0 && -([Pi]/2) <= Im[#1] < [Pi]/2)] &

In eqn = Sqrt[ 2] c ArcTanh[(Sqrt[a] x)/(Sqrt[2] Sqrt[b])]/(Sqrt[a] Sqrt[b]); eqn = eqn /. {a -> 1, b -> 1, c -> 1}; eqn = eqn /. {x -> #}; Print@eqn; InverseFunction[(Evaluate[eqn] &)]

During evaluation of In[1067]:= Sqrt[2] ArcTanh[#1/Sqrt[2]]

Out[1071]= ConditionalExpression[ Sqrt[2] Tanh[#1/Sqrt[ 2]], (Sqrt[2] Re[#1] == 0 && -[Pi] < Sqrt[2] Im[#1] < [Pi]) || (Sqrt[2] Re[#1] > 0 && -[Pi] <= Sqrt[2] Im[#1] < [Pi]) || (Sqrt[2] Re[#1] < 0 && -[Pi] < Sqrt[2] Im[#1] <= [Pi])] &

however

?ArcTanh

ArcTanh[z] gives the inverse hyperbolic tangent tanh^-1(z) of the complex number z.  >>

many papers have been written to describe what a complex number "imaginary" should represent in various situations, so that is somewhat of a contrivance and you do need to know (graph it?) what they are doing (what is being done in this specific case) when an Im[z] is in the answer.

as far as special cases mentioned above, it might be up to you to insure when your asking Mathematica "to know these things" that the functions your using are aware of them somehow or do not need to be aware. you should also realize that in this kind of area Mathematica is continually making advances which, for the better, sometimes change the answer Mathematica gives. Many or all Mathematica functions are aware of special simplifications of trigonometric functions, many other don't need to be aware by careful design. however you can't rely on special cases, you should supply |x|<1 and check the answer is reasonable, unless knowing what to expect of course :)

this does make "Using Solve[] as part of a program" somewhat problematic and infact there are many past posts upon those seeking advice on how to do it for a given program

POSTED BY: Anonymous User
Anonymous User
Anonymous User
Posted 8 years ago

off topic: i once used Mathematic to copy a paper i wrote - to submit to the American Math Society, paper i made at home (was not homework) showing Imaginary i, i^2, i^3, i^4==i is not imaginary, it's solution is branched and solvable without i (something like <= branch problem), it is parameter analyis and solved algebraicly, and there was no need to talk of things being "imaginary".

they A.M.S. responded "we know, but it can't be taught that way in books. thank you"

POSTED BY: Anonymous User
Posted 8 years ago

The result I am expecting does not extend to the imaginary numbers. I perhaps should have given some back ground info, my mistake. In this context just strict the Domain/ Range to real numbers. What I was looking for was just a solution to a seperable differential equation, which would give me a velocity-time graph until the terminal velocity is reached. Anyways I managed to do the plot using another application. And I took the inverse of the function using a pen lol. Also in this context {a,b,c} are variables independant of x. For instance "c" is the mass of a skydiver. The initial reason why I used Alpha was that I did not want to lose time with basic calculations. I knew the physics behind the phenomenon so I recognized that the result I received was impossible to obtain and was wrong. And of course you are right about restricting domains when using tan(x), however unlike tan(x): tanh is invertible for the whole domain it is defined on. Of course this is with real numbers only, ( I dont really know how its extension on the complex plane looks like) but the taylor series expansion of tanh(x) can possibly be used to get an idea... Though I am not sure, just guessing. In the end It just surprized me that Wolfram Alpha failed to comply an algorithm even GeoGebra could comply. What i was trying to obtain was as simple as that. By the way the plot of that inverse function which started this in the first place is as follows where constants {a,b,c} are put in place. y axis represents the horizontal velocity, x axis represents time.

enter image description here

Finally and off the topic as well I didn't really understand what you meant by saying i^1,i^2,i^3,i^4 are not imaginary, could you explain it a little further. Because I thought that everything we know in current mathematics is actually defined under the complex numbers. you caught my attention.

POSTED BY: 12D S?n?f?
Posted 8 years ago

Alpha gave the correct result assuming x is not the isolation variable.

POSTED BY: T.A. H.
Anonymous User
Anonymous User
Posted 8 years ago

you were already told your approach is wrong 2x

in Mathematica you cannot just say "a,b,c,d,x" and assume Mathematica thinks x is "special". Also, you have to tell Mathematica about any special rules it can use for x if there are any that allow a Simplification you are looking for

GeoGebra isn't a fraction of what Mathematica is and has that graph "built-in" as a book example, GeoGebra's answer is wrong - misleading the onlooker. The inverse rule applies ONLY when |x|<1 , so "all reals" is wrong.

It's easy to neglect important details. What's hard is fixing programs that neglect important details.

POSTED BY: Anonymous User
Posted 8 years ago

Ok I get it now, thanks.

POSTED BY: 12D S?n?f?

Wolfram|Alpha's result is clearly wrong. However, if you replace x with a and a with x in the result, it becomes right. My guess is that Mathematica calculated the correct formula, but then there was a variable replacement in the end that messed it up. A variable replacement is what I would expect if I invert the function this way:

Solve[(Sqrt[2] c ArcTanh[(Sqrt[a] x)/(Sqrt[2] Sqrt[b])])/(
  Sqrt[a] Sqrt[b]) == y, x, Reals]

The result is in terms of y. To get back to x I must replace y with x. Perhaps the part of the program that makes the replacement got confused about what to replace with what. Too many variables. It was programmed with fewer variables in mind. Just my guess.

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