Sponsored links: Algebra eBooks ### The Maxima on-line user's manual

Algebra Calculator

#### Search: #### If

-- Special operator: if Represents conditional evaluation. Various forms of `if` expressions are recognized.

`if <cond_1> then <expr_1> else <expr_0>` evaluates to <expr_1> if <cond_1> evaluates to `true`, otherwise the expression evaluates to <expr_0>. `if <cond_1> then <expr_1> elseif <cond_2> then <expr_2> elseif ... else <expr_0>` evaluates to <expr_k> if <cond_k> is `true` and all preceding conditions are `false`. If none of the conditions are `true`, the expression evaluates to `expr_0`.

A trailing `else false` is assumed if `else` is missing. That is, `if <cond_1> then <expr_1>` is equivalent to `if <cond_1> then <expr_1> else false`, and `if <cond_1> then <expr_1> elseif ... elseif <cond_n> then <expr_n>` is equivalent to `if <cond_1> then <expr_1> elseif ... elseif <cond_n> then <expr_n> else false`.

The alternatives <expr_0>, ..., <expr_n> may be any Maxima expressions, including nested `if` expressions. The alternatives are neither simplified nor evaluated unless the corresponding condition is `true`.

The conditions <cond_1>, ..., <cond_n> are expressions which potentially or actually evaluate to `true` or `false`. When a condition does not actually evaluate to `true` or `false`, the behavior of `if` is governed by the global flag `prederror`. When `prederror` is `true`, it is an error if any evaluated condition does not evaluate to `true` or `false`. Otherwise, conditions which do not evaluate to `true` or `false` are accepted, and the result is a conditional expression.

Among other elements, conditions may comprise relational and logical operators as follows.

Operation Symbol Type

less than < relational infix less than <= or equal to relational infix equality (syntactic) = relational infix negation of = # relational infix equality (value) equal relational function negation of equal notequal relational function greater than >= or equal to relational infix greater than > relational infix and and logical infix or or logical infix not not logical prefix

There are also some inexact matches for `if`. Try `?? if` to see them.

```(%o1)                                true
(%i2) ```

### Related Examples

##### if-plot2d y(x):=(if (x>2) th...

plot2d(y, [x, -3, 3],...

Calculate

##### if-or

f(a,b):=if ((a=0) or ...

g(a,b):=if (a>b) t...

f(6,2);

Calculate

##### if-or

f(a,b):=if ((a=0) or ...

g(a,b):=if (a>b) t...

g(6,2)/f(6,2);

Calculate

##### if-is-true

ans1:3;

ans2:8;

if (is(ans1=3.5) and ...

Calculate

##### if

x: (if (x > 17) th...

Calculate

##### if

g(n):= if(n=1) then ...

f(n):= if (n=1) then ...

f(10);

Calculate

##### if-plot2d epsilon(t):=if(t>0...

rho(t):=t*epsilon(t);

f(t,E,t0):=(rho(t)-rh...

Calculate

##### if

dif(arctan(x),x);

Calculate

? if ;

Calculate

##### if

a:[-1, 2];

if(a<0 and a...

Calculate 