MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Built-In fuctions redefined---How?


Peter Pein schrieb:
> Virgil Stokes schrieb:
>> How can I introduce the following definitions:
>>
>>     cx for Cos[x]
>>   sx for Sin[x]
>>  
>> where, the argument x, will always be a single symbol, and then still be 
>> able to use the trigonometric identities associated with Sin, Cos; e.g.,
>>
>>   cx^2 + sx^2 = 1
>>
>> Note, this is not  c x (3 symbol expression); but,  cx (2 symbol 
>> expression).
>> Why? Because I have some rather large matrices with many elements that 
>> contain expressions in Cos and Sin terms that make printing and 
>> displaying messy and using the MatrixForm can give truncation in the 
>> printed output.
>>
>> --V. Stokes
>>
>>
>>   
> 
> Hi!
> 
> Use Format:
> 
> 
> In[1]:=
> Unprotect[Cos, Sin];
> Format[Cos[x_] := "c" <> ToString[x]];
> Format[Sin[x_] := "s" <> ToString[x]];
> 
> In[4]:=
> Expand[(Cos[x] + Sin[t])^3]
> Out[4]= "cx"^3 + 3*"cx"^2*"st" + 3*"cx"*"st"^2 + "st"^3
> 
> In[5]:= TrigExpand[% /. t -> x]
> Out[5]= 1 + 2*"cx"*"sx"
> 
> Peter
> 
Something went terribly wrong: The above Mathematica-lines should read 
In[1]:=
Unprotect[Cos,Sin];
Format[Cos[x_]]:="c"<>ToString[x];
Format[Sin[x_]]:="s"<>ToString[x];
Expand[(Cos[x]+Sin[t])^2]
Out[4]= "cx"^2 + 2*"cx"*"st" + "st"^2

In/Out[5] are correct.

Peter


  • Prev by Date: Re: Hardcopy or electronic books?
  • Next by Date: Re: Bypassing built-in functions in differentiation
  • Previous by thread: Re: Built-In fuctions redefined---How?
  • Next by thread: MathLink slow