Re: A Bug / Feature
- To: mathgroup@smc.vnet.net
- Subject: [mg12569] Re: A Bug / Feature
- From: "P.J. Hinton" <paulh@wolfram.com>
- Date: Mon, 25 May 1998 14:24:42 -0400
- Organization: Wolfram Research, Inc.
- References: <6k7e81$1n1@smc.vnet.net>
On 23 May 1998 Ersek_Ted%PAX1A@mr.nawcad.navy.mil wrote: > I don't know if this is a bug or a feature, but I don't like what I get > for {Head[expr], Head[%n]} in the lines below! > > In[1]:= > m1=MatrixForm[{{1,2},{3,4}}] > Out[1]//MatrixForm= > (* output deleted *) > > In[2]:= > {Head[m1],Head[%1]} > Out[2]= > {MatrixForm, List} > > > In[3]:= > m2=TableForm[{{1,2},{3,4}}] > Out[3]//TableForm= > (* output deleted *) > > In[4]:= > {Head[m2],Head[%3]} > Out[4]= > {TableForm,List} > > > In[5]:= > m3=TraditionalForm[{{1,2},{3,4}}] > Out[5]//TraditionalForm= > (* output deleted *) > > In[6]:= > {Head[m3],Head[%5]} > Out[6]= > {TraditionalForm,List} > > > In[7]:= > m4=StandardForm[{{1,2},{3,4}}] > Out[7]//StandardForm= > {{1,2},{3,4}} > > In[8]:= > {Head[m4],Head[%7]} > Out[8]= > {StandardForm,List} > > > In[9]:= > num=N[Pi]; > > In[10]:= > x1=NumberForm[num] > Out[10]//NumberForm= > "3.14159" > > In[11]:= > {Head[x1],Head[%10]} > Out[11]= > {NumberForm,Real} > > > In[12]:= > x2=InputForm[num] > Out[12]//InputForm= > 3.141592653589793 > > In[13]:= > {Head[x2],Head[%12]} > Out[13]= > {InputForm,Real} > > _____________________________ > If you do the following: > > In[1]:= > m1=MatrixForm[{{1,2},{3,4}}] > Out[1]//MatrixForm= > (* output deleted *) > > Then you can do; > ( In[2]:= Inverse[%1] ) > because (%1) has the head List. > But you can't do; > ( In[2]:= Inverse[m1] ) > because (m1) has the head MatrixForm. > > Shouldn't they both have the same head? Makes no sense to me. The In[]/Out[] prompts do not record the textual representations of formatting operations. They store only the underlying expressions. This is the intended behavior of format wrapper functions, and it is documented in _the Mathematica Book_. See Section 2.8.2 for the details. You can paste the following ButtonBox in a Mathematica 3.0 notebook. It creates a hyperlink that will point you to the appropriate portion of text in the online documentation. \!\(\*FormBox[ TagBox[ ButtonBox[\(Explanation\ of\ format\ discrepancy\), ButtonData:>{"2.8.2", "2.7"}, ButtonStyle->"MainBookLink"], DisplayForm], TextForm]\) -- P.J. Hinton Mathematica Programming Group paulh@wolfram.com Wolfram Research, Inc. http://www.wolfram.com/~paulh/ Disclaimer: Opinions expressed herein are those of the author alone.