Re: Why does Inverse[M] hesitate?
- To: mathgroup at smc.vnet.net
- Subject: [mg54396] Re: Why does Inverse[M] hesitate?
- From: highegg at centrum.cz (highegg)
- Date: Sun, 20 Feb 2005 00:07:54 -0500 (EST)
- References: <ecwleqrna2cp@legacy>
- Sender: owner-wri-mathgroup at wolfram.com
On 18 Feb 05 17:39:03 -0500 (EST), Skirmantas wrote:
>The Inverse function sometimes calculates the inverse of a matrix
>immediately, sometimes it does not. Try this example in Mathematica
>5.1:
>
>A={{(1-g)-1,1},{-w P(1-g)/C,-1}}//MatrixForm
>B={{0},{-P(w+1)}}//MatrixForm
>
>I get
>Out: Inverse[(expanded A)].(expanded B)
>
>If I do just
>A={{a,b},{c,d}}
>B={{e},{f}}
>Inverse[A].B
>
>I get the final correct result.
ah, there's the problem. Well, it's all because of the
MatrixForm wrapper, which is designed for output and printing, not
evaluation. The postfix operator // has a higher precedence than
assignment and therefore you got the head MatrixForm[...] for A.
Of course, when you copied the input, it was translated to InputForm -
without wrappers.
To make it work, use std infix, or include an extra parentheses:
MatrixForm[A={{(1-g)-1,1},{-w P(1-g)/C,-1}}]
or
( A={{(1-g)-1,1},{-w P(1-g)/C,-1}} ) //MatrixForm
regards,
Jaroslav