If variable is a purely symbolic variable (i.e., it doesn’t have a value or any assumptions made about it), then
will return
⎪ ⎪ | variable | ⎪ ⎪ |
since Xcas doesn’t know what type of value the variable is supposed to represent.
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 add assumptions to a variable. The about command will display the current assumptions about a variable, and the purge command will remove all values and assumptions about a variable.
assume (or supposons) takes one mandatory argument and one optional argument:
assume(assumptions ⟨,additionally⟩) places the assumptions on the variable. With no second argument, it will remove any previous assumptions.
For example, if you enter
then Xcas will assume that variable is a positive real number, and so
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
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
and you want to add the condition that b < 1, you can either enter
or
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
If you want n to be a positive integer, you can add the condition
You can also assume a variable is in one of the domains real, integer, complex or rational (see Section 12.2.5).
You can check the assumptions on a variable with the about
command. For the above positive integer n,
Input:
Output:
The first element tells you that n is an integer, the second element tells you that n is between 0 and +infinity, 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
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 6.8.1). After the above assumption on c, if you enter
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
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
Recall the purge command removes assumptions about a
variable.
Input:
then a will no longer have any assumptions made about it.
Input:
then a and b will no longer have any assumptions made about them.