Re: How do I define a range of a symbol?

*To*: mathgroup at christensen.cybernetics.net*Subject*: [mg898] Re: How do I define a range of a symbol?*From*: rubin at msu.edu (Paul A. Rubin)*Date*: Fri, 28 Apr 1995 00:55:59 -0400*Organization*: Michigan State University

In article <3nhu1f$7m2 at news0.cybernetics.net>, hsvrt at uunet.uu.net wrote: ->Can anyone help me with the following (probably elementary) problem: -> ->Is it possible to specify a range of a constant, e.g. -> ->0 < k < Infinity, or ->0 < k < 100, or ->k not equal to 0 -> ->in a Mathematica session? I use Mathematica to do some heavy symbolic ->computation, and problems occur because Mathematica doesn't dare to do ->simplifications in which you have to assume that k is positive, not-zero etc. -> ->Is there also a way to give Mathematica qualitative information about ->functions in order to improve calculation of limits etc? For instance, if -> ->f: R->R -> ->increases on R, then lim f(x) / Exp[f[x]] = 0 as x approaches (+) Infinity. ->But how do I instruct Mathematica to understand this? -> ->Please help me, -> ->Roger Strand ->Dept of Biochemistry and Molecular Biology ->University of Bergen, Norway ->e-mail roger.strand at svt.uib.no In general, I do not think this is possible. You can use upvalues to give Mathematica this sort of information. For instance, to specify 0 < k < 100 you could use k /: Greater[ k, 0 ] = True k /: Less[ k, 100 ] = True There are two fundamental problems with this. First, it is difficult to know *how* Mma will check a condition. Will it evaluate Greater[ k, 0 ] (which will, by virtue of your input above, return True), or will it evaluate Less[ 0, k ] (which will *not* return True)? Second, I know of no way to induce Mma to make such checks, and it is not clear to me that it will do so on its own accord. For instance, I believe it declines to reduce Sqrt[ k^2 ] to k even if k is specified, via upvalues, to be positive. (And before someone flames me, yes, PowerExpand will reduce Sqrt[ k^2 ] to k, but that's besides the point.) Paul ************************************************************************** * Paul A. Rubin Phone: (517) 432-3509 * * Department of Management Fax: (517) 432-1111 * * Eli Broad Graduate School of Management Net: RUBIN at MSU.EDU * * Michigan State University * * East Lansing, MI 48824-1122 (USA) * ************************************************************************** Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. J. W. v. GOETHE