[Date Index]
[Thread Index]
[Author Index]
Re: How do you make Mma assume a parameter is real and positive?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg7407] Re: [mg7343] How do you make Mma assume a parameter is real and positive?
*From*: Richard Finley <trfin at fiona.umsmed.edu>
*Date*: Fri, 30 May 1997 01:20:39 -0400 (EDT)
*Sender*: owner-wri-mathgroup at wolfram.com
Carl,
Sorry, I didn't have time to read your whole background, but for an answer
to the basic question:
PowerExpand[ expr ] makes the assumption that the arguments are real and
positive as you suggested, therefore you can use this ( if you know your
arguments do indeed satisfy those constraints) and you will get:
PowerExpand [ Sqrt [ a^2 ] ] = a
as you desire.
Hope that helps...RF
At 10:27 PM 5/27/97 -0400, you wrote:
>Hi all,
>
>If I give mma the input Sqrt[3^2] I get back 3, but when I give it
>Sqrt[a^2] I don't get back a. This is exactly the behavior I expect.
>However, suppose that I want to tell mma that a is a real positive number,
>so that I want Sqrt[a^2] to return a. How can I do this?
>
>Let me give you the background for this question. As a simple example,
>suppose I am trying to find the series expansion of
>
> 2
> b
>--------------
> 2 2
>a - Sqrt[a -b ]
>
>So, I try
>
>b^2/(a-Sqrt[a^2-b^2])+O[b]^4
>
>and mma returns
>
> 2
> b
>---------- + O[b]^4
> 2
>a-Sqrt[a ]
>
>which is certainly the wrong answer. The correct answer is
>
> 2
> b
>2 a - --- + O[b]^4
> 2 a
>
>So, I need to tell mma that Sqrt[a^2] is a while it is doing its series
>expansion algorithm. Another manifestation of this problem occurs when
>taking limits, since mma gives
>
> 2
> b
>Limit[-------------, b->0] ---> 0
> 2 2
> a-Sqrt[a -b ]
>
>which is also incorrect (it should be 2 a). The usual solution of using
>ComplexExpand doesn't help here. My solution for this particular example
>was to add new rules for Power:
>
>Unprotect[Power];
>Power[Power[a,n_],m_]:=Power[a,n m];
>Protect[Power];
>
>I would have preferred to add an upvalue to a, but a would be too deeply
>buried if I were to try
>
>a /: Power[Power[a,n_],m_]:=Power[a,n m]
>
>I am not crazy about the above method, since it slows down the application
>of Power everywhere, so I am curious if anybody has a better method.
>
>Thanks for any suggestions.
>
>Carl
>
>
>
>
Prev by Date:
**Accessing help-pages (mm3.0) is so slow (PC-Xware --> Workstation)**
Next by Date:
**Abs and Sign anomolies**
Previous by thread:
**Accessing help-pages (mm3.0) is so slow (PC-Xware --> Workstation)**
Next by thread:
**Abs and Sign anomolies**
| |