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?