Doing Calculus & Linear Algebra
with the math package

This page explains how to use the math package in undergraduate calculus. Please use math version 3.04 or higher.

For general help on the math package see: ?math.

> restart:

At first, make sure that Maple can find the package by assigning the path where the math package is located to libname. If in Windows you have saved the package to drive C, directory `maple7\math`, enter:

> libname := `c:/maple7/math`, libname;

libname := `c:/maple7/math`, "E:\\maple7/lib"

After that assign short names to the package functions:

> with(math);

reading math ini file: e:/maple7/math/math.ini

  math v3.6.4 for Maple 7, current as of September 22, 2001 - 16:06
        written by Alexander F. Walz, alexander.f.walz@t-online.de

Warning, the protected name extrema has been redefined and unprotected

  [Arclen, END, PSconv, V, _Zval, arclen, assumed, asym, cancel,
        cartgridR3, cartprod, colplot, cont, curvature, curveplot,
        cutzeros, dec, deg, diffquot, diffquotfn, dim, domain,
        domainx, ex, extrema, fnull, fnvals, getindets, getreals,
        gridplot, inc, inflection, inter, interpol, interpolplot,
        isAntiSymmetric, isCont, isDependent, isDiagonal, isDiff,
        isEqual, isFilled, isIdentity, isQuadratic, isSymmetric, jump,
        lineangle, load, mainDiagonal, makepoly, mat, mean, names,
        nondiff, normale, padzero, pointgridR3, pole, printtree, prop,
        rad, rangemembers, realsort, recseq, redefdim, reduce,
        removable, retrieve, rootof, rotation, roundf, seqby, seqnest,
        seqplot, setdef, singularity, slice, slopefn, sortranges,
        sortsols, split, symmetry, tangente, tree, un, unique]

Be f a function in one real:

> f := x -> x^2*exp(-x);

[Maple Math]

Determine the domain of f with math/domain:

> domain(f(x));

[Maple Math]

math/symmetrychecks for symmetry:

> symmetry(f(x));

[Maple Math]

The interception with the x-axis (i.e. zeros of f) math/fnull:

> fnull(f(x), x);

[Maple Math]

Interception with the y-axis:

> f(0);

[Maple Math]

f and its first three derivatives:

> f(x);

[Maple Math]

> f1 := diff(f(x), x);

[Maple Math]

> f2 := diff(f(x), x$2);

[Maple Math]

> f3 := diff(f(x), x$3);

[Maple Math]

Collecting to e(-x):

> f1 := un(collect(f1, exp(-x)));

[Maple Math]

> f2 := un(collect(f2, exp(-x)));

[Maple Math]

> f3 := un(collect(f3, exp(-x)));

[Maple Math]

You can find extremas with math/ex:

> ex(f(x), x);

[Maple Math]

Inflections are calculated with math/inflection:

> inflection(f(x), x);

[Maple Math]

The from the left to infinity and from the right to -infinity:

> limit(f(x), x=-infinity);

[Maple Math]

> limit(f(x), x=infinity);

[Maple Math]

> restart:

> with(math):

> f := x -> abs(1/10*x^3+27/10)-2;

[Maple Math]

Find all zeros, return floating point numbers; as opposed to fsolve, you do not need to specify intervals since the default is -10 .. 10 (you can change this by assigning _MathDomain another range). fnull then divides this intervall into even smaller parts, scanning each for zeros. See ?math,fnull for further information.

> fnull(f(x), x);

[Maple Math]

A plot of f shows that f is not differentiable at x=-3 and has a saddle point at x=0. A graph on coordinate paper (horizontal and vertical grid lines) computes math/gridplot.

> gridplot(f(x), x=-5 .. 3, -3 .. 4);

[Maple Plot]

math/unis an interface to unapply, you do not need to specify the indeterminates.

> f1 := un(diff(f(x), x));

[Maple Math]

> f2 := un(diff(f(x), x$2));

[Maple Math]

There is no standard function in Maple that knows that a function is not differentiable at a point x, here x=-3. But you may check this by entering f1(-3) and getting an exception message generated by the internal help procedure simpl/abs in this case. solve determines a solution of f'(x) = 0 only at x=0:

> solve(f1(x), x);

[Maple Math]

> is(f2(0) <>0);

[Maple Math]

math/ex calculates extrema even at these points where a function is not differentiable). Note that P(0, 7/10) is a saddle point, not an extrema.

> ex(f(x), x);

[Maple Math]

You can search for points of a function not being differentiable using math/nondiff:

> nondiff(f(x), x);

[Maple Math]

math/inflection also determines saddle points.

> inflection(f(x), x);

[Maple Math]

With math/tangentewe now draw a tangent at x = 0, thus plotting the graph of f along with this tangent. You have more options than student/tangent offers to specify the appearance of this tangent, especially its length, color and thickness.

> tangente(f(x), x=0);

[Maple Math]

> curveplot(f(x), x=0, x=-5 .. 3, y=-3 .. 4, length=4, tangentline=[color=navy, thickness=2]);

[Maple Plot]

> restart:

> with(math):

> f := x -> sqrt((4-x)/(2+x));

[Maple Math]

As you have seen above, math/domain determines the domain of a function in one real. Points that to not belong to this domain are denoted with a call to Open.

> domain(f(x));

[Maple Math]

> symmetry(f(x));

[Maple Math]

> fnull(f(x), x);

[Maple Math]

> ex(f(x), x);

> inflection(f(x), x);

[Maple Math]

> gridplot(f(x), x=-3 .. 5, -1 .. 2, step=[1, 0.5]);

[Maple Plot]

math/cont or math/isCont check whether a function is continuous at a given point. f is continuous at x=4,

> cont(f(x), x=4);

true, left

because the limit that exists at x=4 from the left side

> limit(f(x), x=4, left);

[Maple Math]

is equal to the value of f at this point:

> f(4);

[Maple Math]

> restart:

> with(math):

> f := x -> (x^2-3*x+2)/(x^2+2*x-3);

[Maple Math]

math/singularity is more precise than discont (actually using discont) by checking if the points returned by discont are defined.

> singularity(f(x), x);

[Maple Math]

You can analyse these singularities with cont:

> cont(f(x), x=-3);

[Maple Math]

> cont(f(x), x=1);

[Maple Math]

This means that the singularity is removable at x=1 (with simplify(f(x)) the zero at -1 in the denominator has vanished).

Zeros:

> fnull(f(x), x);

[Maple Math]

The result is incorrect (see above)

> domain(f(x), singularity);

[Maple Math]

since 1 is not part of the domain of f. To see why fnull returns a wrong answer, first delete the remember table of fnull and then set infolevel[fnull] to value > 0 to see how this function determines the result:

> infolevel[fnull] := 1: readlib(forget)(fnull);

> fnull(f(x), x);

fnull: using default domain (_MathDomain): -10 .. 10
fnull: Fraction found, now proceeding with numerator: x^2-3*x+2
fnull: using fsolve to determine roots
fnull: Searching for roots in expression x^2-3*x+2
fnull: Searching for roots in derivative 2*x-3
fnull: Roots found in original function: 1.000000000, 2.000000000
fnull: Possible roots found in derivative: 1.500000000

[Maple Math]

The second line shows that fnull checks whether the function passed is a quotient and then by default only processes its numerator. To suppress this behavior pass the option numerator=false.

> fnull(f(x), x, numerator=false);

fnull: using default domain (_MathDomain): -10 .. 10
fnull: using fsolve to determine roots
fnull: Searching for roots in expression (x^2-3*x+2)/(x^2+2*x-3)
fnull: Searching for roots in derivative (2*x-3)/(x^2+2*x-3)-(x^2-3*x+2)/(x^2+2*x-3)^2*(2*x+2)
fnull: Roots found in original function: 2.000000000
fnull: Possible roots found in derivative: none

[Maple Math]

Reset infolevel[fnull]:

> infolevel[fnull] := 0:

Now we will compute the asymptote with math/asym:

> asym(f(x), x);

[Maple Math]

The slope of f at x=2 using math/slopefn:

> slopefn(f(x), x=2);

[Maple Math]

The arc length of the curve over the interval [2, 6] with math/arclen:

> arclen(f(x), x=2 .. 6);
 
 

> evalf(%);

[Maple Math]

You can delete the small imaginary part with math/cancel:

> cancel(%, eps=1e-5);

4.027479000

> restart: libname := `e:/maple7/math`, libname;

libname := e:/maple7/math, "E:\\maple7/lib"

> with(math):
reading math ini file: e:/maple7/math/math.ini

math v3.6.4 for Maple 6 & 7, current as of September 22, 2001 - 15:34
written by Alexander F. Walz, alexander.f.walz@t-online.de

With trigonometric functions, and inverse transcendental functions in general, solve only returns one solution:

> solve(sin(x), x);

0

By setting _EnvAllSolutions to true, you will receive general solutions:

> _EnvAllSolutions := true:

> solve(sin(x), x);

[Maple Math]

If you would like to see all solutions within a specified range, use math/_Zval:

> _Zval(%%, -3*Pi .. 3*Pi);

[Maple Math]

> evalf(%);

[Maple Math]

> restart: libname := `e:/maple7/math`, libname;

libname := e:/maple7/math, "E:\\maple7/lib"

> with(math):
reading math ini file: e:/maple7/math/math.ini

math v3.6.4 for Maple 7, current as of September 22, 2001 - 16:06
written by Alexander F. Walz, alexander.f.walz@t-online.de

Warning, the protected name extrema has been redefined and unprotected

math also has a series of special tools math:

Trailing zeros of a floating point expression can be deleted with math/cutzeros:

> solve((x-4.11)^4, x);

[Maple Math]

> op({%});

[Maple Math]

> cutzeros(%);

[Maple Math]

math/getreals retrieves all real solutions in a sequence:

> solve(x^3-1, x);

[Maple Math]

> getreals(%);

[Maple Math]

math/realsort sorts real values in ascending order:

> folge := 1, 0, exp(1), -Pi;

[Maple Math]

> sort([folge]);

[Maple Math]

> realsort(folge);

[Maple Math]

For many other functions available check the online help: ?math

back

Author: Alexander F. Walz, alexander.f.walz@t-online.de
Original file location: http://www.math.utsa.edu/mirrors/maple/mplmcal.htm