MathGroup Archive 1997

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

Search the Archive

Re: How do you make Mma assume a parameter is real

  • To: mathgroup at
  • 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

In article <5mpq09$171$4 at> Richard Finley <trfin at> writes:
>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?

  • Prev by Date: Live 3D Visualization
  • Next by Date: Kronecker Delta
  • Previous by thread: Live 3D Visualization
  • Next by thread: Kronecker Delta