[Date Index]
[Thread Index]
[Author Index]
Re: Finding inverse of non-linear transformation
*To*: mathgroup at smc.vnet.net
*Subject*: [mg116420] Re: Finding inverse of non-linear transformation
*From*: "Christopher O. Young" <cy56 at comcast.net>
*Date*: Mon, 14 Feb 2011 04:27:51 -0500 (EST)
*References*: <ij8d29$396$1@smc.vnet.net>
On 2/13/11 5:50 AM, in article ij8d29$396$1 at smc.vnet.net, "Christopher O.
Young" <cy56 at comcast.net> wrote:
> I'm trying to find the inverse of the simple non-linear transformation
>
> (a x + b x + c) ({
> {x},
> {y}})
> >
> I'm trying to use this as a sort of counter-example to the usual projective
> transformation, which has the polynomial in the denominator. Does
> Mathematica have a way to do this? InverseFunction doesn't seem to work
> here.
>
> In[1]:= F[x_, y_, a, b, c] := (a x + b x + c) ( { {x}, {y} } )
>
> In[2]:= InverseFunction[[x_, y_, a, b, c]]
>
>>
> During evaluation of In[2]:= Part::pspec: Part specification x_ is neither
> an integer nor a list of integers. >>
>
>
>
> Out[2]= InverseFunction[[x_, y_, a, b, c]]
>
I didn't have underscores for the a, b, and c the way I should have, but
that wasn't the main problem. InverseFunction doesn't seem designed to find
the inverse of vector transformations.
But I think using "Solve" with added variables on the other sides of the
equations gets me the result I'm looking for:
Solve[{
(a x + b x + c) x == X,
(a x + b x + c) y == Y
},
{x, y}
]
{{y -> (-((c Y)/(a + b)) - (Sqrt[c^2 + 4 a X + 4 b X] Y)/(a + b))/(
2 X),
x -> (-c - Sqrt[c^2 + 4 a X + 4 b X])/(
2 (a + b))}, {y -> (-((c Y)/(a +
b)) + (
Sqrt[c^2 + 4 a X + 4 b X] Y)/(a + b))/(2 X),
x -> (-c +
Sqrt[c^2 + 4 a X + 4 b X])/(2 (a + b))}}
Prev by Date:
**Re: Filtering data from numerical minimization**
Next by Date:
**Re: how to drop ContextPath when printing from a package?**
Previous by thread:
**Finding inverse of non-linear transformation**
Next by thread:
**Re: Finding inverse of non-linear transformation**
| |