I disagree that this is a bug. From the InverseFunction
docs,
As discussed in "Functions That Do Not Have Unique Values", many mathematical functions do not have unique inverses. In such cases, InverseFunction[f]
can represent only one of the possible inverses for f
.
Thus, InverseFunction[f][x]
returns some y
such that f[y] == x
.
This is fine:
DiracDelta[99/5]
(* 0 *)
Another comparable example:
InverseFunction[UnitStep][1]
(* 0 *)
InverseFunction[UnitStep][0]
(* -1 *)
It seems to me that this is a GIGO situation because DiracDelta
and UnitStep
yield the same result for infinitely many inputs. Any of those inputs is consistent with the description of what InverseFunction
does. But of course, this behaviour of InverseFunction
must have been designed for the more practical case where there are a finite (or countable) number of solutions, such as InverseFunction[#^2 &][1]
or InverseFunction[Sin][1]
.
False
for me. $\endgroup$InverseFunction[DiracDelta][0]
gives to you? $\endgroup$v10.4
- andInverseFunction[DiracDelta][0]
returns42/5
. I'd call it a bug. Contact Wolfram support to ask them if they have any justification for this (although from the mathematical point of view this doesn't make sense), and report to them this is a likely bug. $\endgroup$DiracDelta[99/5]
makes no sense. Therefore, the input should be returned with an error message. $\endgroup$InverseFunction
" - my personal opinion is thatInverseFunction[]
should just refuse to work with things likeDiracDelta[]
andHeavisideTheta[]
, @Szabolcs. I guess we will have to agree to disagree here. $\endgroup$