Re: $Post vs. $PrePrint
- To: mathgroup at smc.vnet.net
- Subject: [mg36436] Re: $Post vs. $PrePrint
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sat, 7 Sep 2002 02:53:43 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <al9l9g$b1t$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
yo can just try
In[]:=$Post = (# /. mtrx_?MatrixQ :> AnyHead[mtrx] &);
In[]:=m = {{2, 3}, {0, 1}}
In[]:=q=%;
In[]:=Head[q]
and
In[]:=$PrePost = (# /. mtrx_?MatrixQ :> AnyHead[mtrx] &);
In[]:=m = {{2, 3}, {0, 1}}
In[]:=q=%;
In[]:=Head[q]
But you are right -- the behaviour of MatrixForm[] in your example
is strange.
Regards
Jens
"Ersek, Ted R" wrote:
>
> I am trying to find an example that will demonstrate the difference between
> $PrePrint and $Post. I found an old thread in this news group where a
> user wanted to display all matrices using MatrixForm. Some users suggested
> the following:
>
> In[1]:= $Post=(#/.mtrx_?MatrixQ:>MatrixForm[mtrx]&);
>
> Then Dave Withoff said it's better to assign this to $PrePrint since the
> objective here is to adjust the display rather than the result of the
> calculation. With the assignment to $Post you could, for example, get
> unexpected results from calculations using %, since matrices will be wrapped
> in MatrixForm.
> --------
>
> However, if we use $Post above, the next input will compute the inverse
> the matrix. I did verify that Inverse can't take a matrix wrapped in
> MatrixForm. Can somebody give an example where doing this with $PrePrint
> instead of $Post gives a different result.
>
> In[2]:= m={{2,3},{0,1}};
> Inverse[%]
>
> Out[3]= (* Inverse of (m) in MatrixForm, not shown. *)
>
> ------
> Thanks,
> Ted Ersek
> Get Mathematica tips, tricks from
> http://www.verbeia.com/mathematica/tips/Tricks.html