Sponsored links: Algebra eBooks
 

Help Index

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

The Maxima on-line user's manual

Algebra Calculator

Search:

Assume Calculator

Assume

Function: assume (<pred_1>, ..., <pred_n>) Adds predicates <pred_1>, ..., <pred_n> to the current context. If a predicate is inconsistent or redundant with the predicates in the current context, it is not added to the context. The context accumulates predicates from each call to assume.

assume(r>0);
assume(d>0);
assume(b>0);
rr(t):=sqrt(r*r+rp*rp-2*r*rp*cos(t));
x(t):=rr(t)/(2*d);
f(t):=1/d*(6/5-2*x(t)^2+3/2*x(t)^3-5*x(t)^5);
expand(f(t)*sin(t));
integrate(expand(f(t)*sin(t)),t);
integrate(f(t)*sin(t),t);

assume returns a list whose elements are the predicates added to the context or the atoms redundant or inconsistent where applicable.

The predicates <pred_1>, ..., <pred_n> can only be expressions with the relational operators < <= equal notequal >= and >. Predicates cannot be literal equality = or literal inequality # expressions, nor can they be predicate functions such as integerp.

Compound predicates of the form <pred_1> and ... and <pred_n> are recognized, but not <pred_1> or ... or <pred_n>. not <pred_k> is recognized if <pred_k> is a relational predicate. Expressions of the form not (<pred_1> and <pred_2>) and not (<pred_1> or <pred_2>) are not recognized.

Maximas deduction mechanism is not very strong; there are many obvious consequences which cannot be determined by is. This is a known weakness.

assume does not handle predicates with complex numbers. If a predicate contains a complex number assume returns inconsistent or redunant.

assume evaluates its arguments.

See also is, facts, forget, context, and declare.

Examples:

          (%i1) assume (xx > 0, yy < -1, zz >= 0);
          (%o1)              [xx > 0, yy < - 1, zz >= 0]
          (%i2) assume (aa < bb and bb < cc);
          (%o2)                  [bb > aa, cc > bb]
          (%i3) facts ();
          (%o3)     [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb]
          (%i4) is (xx > yy);
          (%o4)                         true
          (%i5) is (yy < -yy);
          (%o5)                         true
          (%i6) is (sinh (bb - aa) > 0);
          (%o6)                         true
          (%i7) forget (bb > aa);
          (%o7)                       [bb > aa]
          (%i8) prederror : false;
          (%o8)                         false
          (%i9) is (sinh (bb - aa) > 0);
          (%o9)                        unknown
          (%i10) is (bb^2 < cc^2);
          (%o10)                       unknown

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

(%o1)                                true
(%i2) 

Assume Example

Related Examples

assume-diff-integrate-plot2d
plot2d ([yexa(x),yvar(x)], [x, 0, 10],[legend,"exacta","variacional"],[style,lines]);

/* [wxMaxima batch fi...

dy(x):=diff(y(x),x);

ddy(x):=diff(dy(x),x);

Calculate

assume-linsolve

eq1:x*4+y-2=y;

eq2:x+2=y;

assume(x>0);

Calculate

assume-diff-integrate-plot2d
plot2d ([yexa(x),yvar(x)], [x, 0, 10],[legend,"exacta","variacional"],[style,lines]);

/* [wxMaxima batch fi...

dy(x):=diff(y(x),x);

ddy(x):=diff(dy(x),x);

Calculate

assume-matrix-solve-transpose

B:matrix([1,1,1,1,0,0...

A:matrix([1,a,a^2,a^3...

B.A.transpose(B);

Calculate

assume

assume(n >= 0);

assume(m >= 0);

((%e**(x**2))*%e**x)*...

Calculate

assume-carg-declare-float-solve

T1:5;

declare([T1,w], real);

assume(T1>0,w>0);

Calculate

assume-cos-integrate

assume(b > 0);

y(x)=a/(1-b*cos(x)^2);

integrate(y, x);

Calculate

assume-integrate-log-ratsimp

/* Flow through an an...

assume(k<1);

v(x) := 1 - x^2 - (1-...

Calculate

assume-integrate

assume(N>=0);

integrate( ((%e**(-x*...

Calculate

assume-diff-integrate-sin-solve

/* [wxMaxima batch fi...

dy(x):=diff(y(x),x);

ddy(x):=diff(dy(x),x);

Calculate