### The Maxima on-line user's manual

Algebra Calculator

#### Assume_pos

-- Option variable: assume_pos Default value: `false`

When `assume_pos` is `true` and the sign of a parameter <x> cannot be determined from the current context or other considerations, `sign` and `asksign (<x>)` return `true`. This may forestall some automatically-generated `asksign` queries, such as may arise from `integrate` or other computations.

By default, a parameter is <x> such that `symbolp (<x>)` or `subvarp (<x>)`. The class of expressions considered parameters can be modified to some extent via the variable `assume_pos_pred`.

`sign` and `asksign` attempt to deduce the sign of expressions from the sign of operands within the expression. For example, if `a` and `b` are both positive, then `a + b` is also positive.

However, there is no way to bypass all `asksign` queries. In particular, when the `asksign` argument is a difference `<x> - <y>` or a logarithm `log(<x>)`, `asksign` always requests an input from the user, even when `assume_pos` is `true` and `assume_pos_pred` is a function which returns `true` for all arguments.

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

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

### Related Examples

##### assume_pos-expand-factor-integrate-sqrt-true

assume_pos:true;

t:integrate(1/(x*sqrt...

expand(factor(t));

Calculate

##### assume_pos-makelist-true

assume_pos:true;

makelist(i,i,-5,5);

Calculate

##### assume_pos-factor-integrate-sqrt-true

assume_pos:true;

t:integrate(1/(x*sqrt...

factor(t);

Calculate

##### assume_pos-makelist-true

assume_pos:true;

makelist(i,i,-5,5);

Calculate

##### assume_pos-makelist-true

assume_pos:true;

makelist(i,i,-5,5);

Calculate

##### assume_pos-integrate-true

assume_pos:true;

f[0](x):=1/(1+x)^3;

f[n](x):=integrate(f[...

Calculate

##### assume_pos-solve-true

assume_pos:true;

solve(x^2+8*x+15=0,x);

Calculate

##### assume_pos-false-makelist-solve

assume_pos:false;

liste:makelist(i,i,-5...

liste^2;

Calculate

##### assume_pos-solve-true

assume_pos:true;

solve(x^2+8*x+15=0,x);

Calculate

##### assume_pos-makelist-solve-true

assume_pos:true;

liste:makelist(i,i,-5...

liste^2;

Calculate