Home > Archive > Mathematica > October 2006 > Solve with dot products
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Solve with dot products
|
|
| Oliver Friedrich 2006-10-24, 4:03 am |
| Hallo,
I have some difficulties with interpretation of a solution that Solve
returns.
In[2]:=
Solve[a.b.c==d,a]
From In[2]:=
Solve::ifun: Inverse functions are being used by Solve, so some solutions
may \
not be found.
Out[2]=
{{a\[Rule]InverseFunction[Dot,1,3][d,b,c
]}}
When I do that equation by hand I get something that I can't put into
correspondence with the solution above.
* means Inverse of a
(a.b)*=b*.a*
a.b.c=d |(_)*
c*.b*.a*=d* |c.
b*.a*=c.d* |b.
a*=b.c.d* |(_)*
a=d.c*.b*
b and c are swapped compared to the Mathematica solution.
1) Where's my error?
2) What's the interpretation of such an InverseFunction expression, I
don't get along the docu.
3) What's the z in InverseFunction[x,y,z][args] good for when I could
count the number of arguments in args?
Thanks a lot for your help
--
Regards
Oliver Friedrich
My email has no x!
| |
| Jens-Peer Kuska 2006-10-30, 7:42 pm |
| Hi,
you must write out your equations explicit because
Mathematica will not know that a, b,c and d
are matrices and not scalars, vectors or higher order
tensors ?
That's why the output of Mathematica
is nonsense because the Dot[] product
has no inverse and Mathematica thinks
that a,b,c,d are scalars.
Regards
Jens
Oliver Friedrich wrote:
> Hallo,
>
> I have some difficulties with interpretation of a solution that Solve
> returns.
>
> In[2]:=
> Solve[a.b.c==d,a]
>
> From In[2]:=
> Solve::ifun: Inverse functions are being used by Solve, so some solutions
> may \
> not be found.
>
> Out[2]=
> {{a\[Rule]InverseFunction[Dot,1,3][d,b,c
]}}
>
> When I do that equation by hand I get something that I can't put into
> correspondence with the solution above.
>
> * means Inverse of a
> (a.b)*=b*.a*
>
> a.b.c=d |(_)*
>
> c*.b*.a*=d* |c.
>
> b*.a*=c.d* |b.
>
> a*=b.c.d* |(_)*
>
> a=d.c*.b*
>
> b and c are swapped compared to the Mathematica solution.
>
> 1) Where's my error?
> 2) What's the interpretation of such an InverseFunction expression, I
> don't get along the docu.
> 3) What's the z in InverseFunction[x,y,z][args] good for when I could
> count the number of arguments in args?
>
> Thanks a lot for your help
>
>
| |
|
|
Hi Oliver,
the manual and you are both right. The manual says about InverseFunction:
"InverseFunction[f][y] gives the value of x for which f[x] is equal to y"
therefore, InverseFunction[Dot,1,3][d,b,c] means, that value of x, that
makes Dot[x,b,c] equal to d and this is exactly your a. This solution is
implicite, wheras your solution is explicite and because of the
inversion, b and c are reversed.
Daniel
Oliver Friedrich wrote:
> Hallo,
>
> I have some difficulties with interpretation of a solution that Solve
> returns.
>
> In[2]:=
> Solve[a.b.c==d,a]
>
> From In[2]:=
> Solve::ifun: Inverse functions are being used by Solve, so some solutions
> may \
> not be found.
>
> Out[2]=
> {{a\[Rule]InverseFunction[Dot,1,3][d,b,c
]}}
>
> When I do that equation by hand I get something that I can't put into
> correspondence with the solution above.
>
> * means Inverse of a
> (a.b)*=b*.a*
>
> a.b.c=d |(_)*
>
> c*.b*.a*=d* |c.
>
> b*.a*=c.d* |b.
>
> a*=b.c.d* |(_)*
>
> a=d.c*.b*
>
> b and c are swapped compared to the Mathematica solution.
>
> 1) Where's my error?
> 2) What's the interpretation of such an InverseFunction expression, I
> don't get along the docu.
> 3) What's the z in InverseFunction[x,y,z][args] good for when I could
> count the number of arguments in args?
>
> Thanks a lot for your help
>
>
|
|
|
|
|