This preview shows page 1. Sign up to view the full content.
Unformatted text preview: s, refer to the ?assume and ?assuming help pages. The assume Facility
The assume facility is a set of routines for dealing with properties of unknowns. The assume command allows improved simpliﬁcation of symbolic expressions, especially with multiple-valued functions, for example, the square root.
> sqrt(a^2); √ a2 Maple cannot simplify this, as the result is diﬀerent for positive and negative values of a. Stating an assumption about the value of a allows Maple to simplify the expression.
> assume( a>0 ); > sqrt(a^2); a~ The tilde (~) on a variable indicates that an assumption has been made about it. New assumptions replace old ones. 6.2 Assumptions > assume( a<0 ); > sqrt(a^2); • 175 −a ~ Using the about Command Use the about command to get information about the assumptions on an unknown.
> about(a); Originally a, renamed a~: is assumed to be: RealRange(-infinity,Open(0)) Using the additionally Command Use the additionally command to make additional assumptions about unknowns.
> assume(m, nonnegative); > additionally( m<=0 ); > about(m); Originally m, renamed m~: is assumed to be: 0 Many functions make use of the assumptions on an unknown. The frac command returns the fractional part of a number.
> frac(n); frac(n)
> assume(n, integer); > frac(n); 0 The following limit depends on b.
> limit(b*x, x=infinity); signum(b) ∞ 176 • Chapter 6: Evaluation and Simpliﬁcation > assume( b>0 ); > limit(b*x, x=infinity); ∞ Command Operation Details You can use infolevel to have Maple report the details of command operations.
> infolevel[int] := 2; infolevel int := 2
> int( exp(c*x), x=0..infinity ); int/cook/nogo1: Given Integral Int(exp(c*x),x = 0 .. infinity) Fits into this pattern: Int(exp(-Ucplex*x^S1-U2*x^S2)*x^N*ln(B*x^DL)^M*cos(C1*x^R)/ ((A0+A1*x^D)^P),x = t1 .. t2) Definite integration: Can’t determine if the integral is convergent. Need to know the sign of --> -c Will now try indefinite integration and then take limits. int/indef1: first-stage indefinite integration int/indef2: second-stage indefinite integration int/indef2: applying derivative-divides int/indef1: first-stage indefinite integration int/definite/contour: contour integration e(c x) − 1 x→∞ c lim The int command must know the sign of c (or rather the sign of -c).
> assume( c>0 ); > int( exp(c*x), x=0..infinity ); int/cook/nogo1: Given Integral Int(exp(x),x = 0 .. infinity) Fits into this pattern: Int(exp(-Ucplex*x^S1-U2*x^S2)*x^N*ln(B*x^DL)^M*cos(C1*x^R)/ ((A0+A1*x^D)^P),x = t1 .. t2) int/cook/IIntd1: --> U must be <= 0 for converging integral --> will use limit to find if integral is +infinity --> or - infinity or undefined 6.2 Assumptions • 177 ∞ Logarithms are multiple-valued. For general complex values of x, ln(ex ) is diﬀerent from x.
> ln( exp( 3*Pi*I ) ); πI Therefore, Maple does not simplify the following expression unless it is known to be correct, for example, when x is real.
> ln(exp(x)); ln(ex )
> assume(x, real); > ln(exp(x)); x~ Testing the Properities of Unknowns You can use...
View Full Document