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?