Re: Transpose matrix does not work when MatrixForm is used, why?
- To: mathgroup at smc.vnet.net
- Subject: [mg45274] Re: Transpose matrix does not work when MatrixForm is used, why?
- From: drbob at bigfoot.com (Bobby R. Treat)
- Date: Sat, 27 Dec 2003 05:00:14 -0500 (EST)
- References: <bruqrt$t0p$1@smc.vnet.net> <bs1b8r$9m0$1@smc.vnet.net> <200312210842.DAA18953@smc.vnet.net> <B8E20599-352B-11D8-8801-00039311C1CC@mimuw.edu.pl> <bsbmsb$lr1$1@smc.vnet.net> <bsd53k$r90$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
That's right; we shouldn't have to resort to any such tricks. Not when Help explicitly says that evaluation isn't affected. Bobby nma124 at hotmail.com (steve_H) wrote in message news:<bsd53k$r90$1 at smc.vnet.net>... > Dr Bob <drbob at bigfoot.com> wrote in message news:<bsbmsb$lr1$1 at smc.vnet.net>... > > > That may be easier... if we are willing to constantly pay attention to > > whether the target of Transpose is "wrapped" in MatrixForm or not. > > (Transpose/@m if it's wrapped, Transpose@m if not.) > > > > But if we want Help's claim that evaluation is not affected to be true (it > > currently is NOT), then we have to redefine Transpose, Inverse, etc. as in > > my example. > > > > Only then would MatrixForm act properly as a wrapper, as intended. > > > > Bobby > > > > > > On Tue, 23 Dec 2003 18:38:10 +0900, Andrzej Kozlowski <akoz at mimuw.edu.pl> > > wrote: > > > > > This of course works, but presumably he would want do this for other > > > functions, (e.g. Inverse etc), not just transpose. So it seems to me it > > > is easier simply to use Map: > > > > > > m = { {1, 2, 3}, {4, 5, 6} } // MatrixForm > > > Transpose/@m > > > > > > etc. > > > > > > Andrzej Kozlowski > > > > > > Correct Dr Bob, > > But why do we have to resort to all these tricks? Why can't Mathematica just > accept a MatrixForm (or any other representation form) of the object > in its functions (Transpose in this example) just as well as the > list representation? > > Each Mathematica function, where needed, could start by checking if this > 'Wrapper' as you call it exists, and converts it to a list > representation (remove the wrapper), and do its thing on the list, > and at the end put the 'wrapper' around the result as needed and > return the result to the user? > > This way one does not have to worry which form of an object one uses, > the representation form or the list form. > > i.e. representation form will be transparent to all Mathematica functions.
- References:
- Re: Transpose matrix does not work when MatrixForm is used, why?
- From: drbob@bigfoot.com (Bobby R. Treat)
- Re: Transpose matrix does not work when MatrixForm is used, why?