Re: Simplifying Jacobian elliptic functions
- To: mathgroup at smc.vnet.net
 - Subject: [mg56372] Re: Simplifying Jacobian elliptic functions
 - From: Peter Pein <petsie at arcor.de>
 - Date: Sat, 23 Apr 2005 01:16:05 -0400 (EDT)
 - References: <d2j8j8$k2$1@smc.vnet.net> <d4ak9q$iof$1@smc.vnet.net>
 - Sender: owner-wri-mathgroup at wolfram.com
 
John Billingham wrote:
>>Unprotect[Plus]
>>JacobiDN[p_, k_]^2 + k_ JacobiSN[p_, k_]^2 := 1
>>Protect[Plus]
>>
> 
> 
> Thanks for the tip. Why does your suggestion work, but
> 
> Unprotect[Minus];
> 1 -  JacobiSN[p_, m_]^2 := JacobiCN[p, m]^2;
> Protect[Minus];
> 
> doesn't??
> 
> John
> 
There are (at least) two reasons:
 1.) 1 -  JacobiSN[p_, m_]^2 has no call of the Function Minus[] in it:
In[1]:=
FullForm[1 - JacobiSN[p_, m_]^2]
Out[1]//FullForm=
Plus[1, Times[-1, Power[JacobiSN[
    Pattern[p, Blank[]], Pattern[m, Blank[]]], 2]]]
2.) Minus is not the operator for subtraction:
In[2]:=
?? Minus
"-x is the arithmetic negation of x."*
  Button[More\[Ellipsis], ButtonData :> "Minus", Active -> True,
   ButtonStyle -> "RefGuideLink"]
Attributes[Minus] = {Listable, NumericFunction, Protected}
As you can see from the FullForm of the difference, even Subtract[] does
not appear in your expression.
-- 
Peter Pein
Berlin