Re: How do you make Mma assume a parameter is real
- To: mathgroup at smc.vnet.net
- Subject: [mg7506] Re: [mg7343] How do you make Mma assume a parameter is real
- From: carlos at mars.Colorado.EDU (Carlos A. Felippa)
- Date: Sat, 7 Jun 1997 03:48:40 -0400 (EDT)
- Organization: University of Colorado, Boulder
- Sender: owner-wri-mathgroup at wolfram.com
In article <5mpq09$171$4 at dragonfly.wolfram.com> Richard Finley <trfin at fiona.umsmed.edu> writes:
>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
>
>
>
Why Mathematica still does not provide an Assumptions or Attributes
or Constraints declaration? Something that looks like:
Assumptions [a, {Positive,Real}]
Assumptions [b, {Real,2<b<=4}]
Assumptions [omega,{Imaginary,Nonzero}]
Assumptions [vector,{Array,Integer}]
Assumptions [a, {}] (* clears all attributes *)
Print [a//AssumptionForm] (* prints attributes *)
This information could be kept in a persistent object attribute database
that can be saved and restored between sessions.
It seems to be a glaring omission, because it causes the user to do
a lot of error prone, ad-hoc fixes. Or remembering obscure rules such
as PowerExpand versus Expand. Or separately injecting assumptions into
special operations such as Integrate.
Is there such a uniform capability planned for future releases?