Previous Up Next

3.3.8  Assumptions on variables

The assume (or supposons) command lets you tell Xcas some properties of a variable without giving the variable a specific value.

The additionally command can be used to place additional assumptions on a variable.

The about command will display the current assumptions about a variable. (See Section 28.1.8 and Section 28.2.6 for other uses of about.)

The purge command will remove all values and assumptions about a variable.

Examples

If you enter

assume(variable>0)

then Xcas will assume that variable is a positive real number, and so

abs(variable)

will be evaluated to

     
variable           

You can put one or more conditions in the assume command by combining them with and and or. For example, if you want the variable a to be in [2,4) ∪ (6,∞), you can enter

assume((a>=2 and a<4) or a>6)

If a variable has attached assumptions, then making another assumption with assume will remove the original assumptions. To add extra assumptions, you can either use the additionally command or give assume a second argument of additionally. If you assume that b > 0 with

assume(b>0)

and you want to add the condition that b < 1, you can either enter

assume(b<1,additionally)

or

additionally(b<1)

As well as equalities and inequalities, you can make assumptions about the domain of a variable. If you want n to represent an integer, for example, you can enter

assume(n,integer)

If you want n to be a positive integer, you can add the condition

additionally(n>0)

You can also assume a variable is in one of the domains real, integer, complex or rational (see Section 25.2.5).

You can check the assumptions on a variable with the about command. For the above positive integer n,

about(n)
     
[integer,[[0,+∞]],[0]]           

The first element tells you that n is an integer, the second element tells you that n is between 0 and +∞, and the third element tells you that the value 0 is excluded.

If you assume that a variable is equal to a specific value, such as

assume(c=2)

then by default the variable c will remain unevaluated in later levels. If you want an expression involving c to be evaluated, you would need to put the expression inside the evalf command (see Section 7.3.1). After the above assumption on c, if you enter

evalf(c^2+3)

then you will get

     
7.0           

Right below the assume(c=2) command line there will be a slider; namely arrows pointing left and right with the value 2 between them. These can be used to change the values of c. If you click on the right arrow, the assume(c=2) command will transform to

assume(c=[2.2,-10.0,10.0,0.0])

and the value between the arrows will be 2.2. Also, any later levels where the variable c is evaluated will be re-evaluated with the value of c now 2.2. The output to

evalf(c^2+3)

will become

     
7.84           

The -10.0 and 10.0 in the assume line represent the smallest and largest values that c can become using the sliders. You can set them yourself in the assume command, as well as the increment that the value will change; if you want c to start with the value 5 and vary between 2 and 8 in increments of 0.05, then you can enter

assume(c=[5,2,8,0.05])

Recall the purge command removes assumptions about a variable.

purge(a)

then a will no longer have any assumptions made about it.

purge(a,b)

then a and b will no longer have any assumptions made about them.


Previous Up Next