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