Maple functions, expressions, and equations |
A common confusion in elementary mathematics classes is that a single symbol can have multiple meanings. For example, is the statement f(x)= x2+5x+6 the definition of a function, or is it an equation? A human distinguishes the different meanings from context, but a computer program needs to have different syntax or different data types in order to make a correct interpretation.
Thus Maple has different symbols for equality (2+2=4
)
and for assignment (A:=4
). A function, written
with a syntax like f:=x->x^2+5*x+6
, is different from the
expression x^2+5*x+6
, and both are different from
the equation f(x)=x^2+5*x+6
.
Maple commands make sense only when applied to the right kind
of object. You can differentiate a function via D(f)
, or
you can differentiate an expression via
diff(x^2+5*x+6,x)
. If f
is an arrow-defined
function, then f(x)
is an expression. On the other hand,
an expression can be converted into a function via
unapply(x^2+5*x+6,x)
.
Occasionally, Maple is tolerant: you can solve the equation
x2+5x+6=0 by using the command
solve(x^2+5*x+6=0,x);
, or by using the command
solve(x^2+5*x+6,x);
, or by using the command
solve(x^2+5*x+6);
. What do you think the Maple
command solve({x+y+2,x-y-2},{x,y});
does? Try it to see. How
many other ways can you find to write the same command?
On the other hand, Maple is sometimes quirky. Consider the following Maple session:
> a:=5: b:=7: f:=x->a*x+b; f := x -> a x + b
Why doesn't Maple respond f := x -> 5x + 7
instead? This
is a situation in which Maple behaves better with expressions
than with functions. To get the expected result (as an
arrow-defined function), you have to tell Maple f:=unapply(a*x+b,x);
.
Exercise
Use Maple to find a third-degree polynomial whose values at the positive integers 1, 2, 3, 4 are 2, 3, 5, 9.
In other words, find p(n) of the form an3+bn2+cn+d such
that p(1)=2, p(2)=3, p(3)=5, p(4)=9. Try doing
this by setting up four simultaneous linear equations in the four
unknowns a, b, c, d and using Maple's
solve
function; then you can use Maple to substitute
the values of a, b, c, d back into p, for
instance with the subs
command or the assign
command.
Look in Maple's help browser for commands related to interpolation. See if you can find a single simple Maple command that will solve the above problem in one step.
Run the following Maple loop:
for i from -10 to 10 do p(i); od;
and observe that these values of the polynomial p are integers, even though the coefficients of p are fractions. Can you find a proof that p(n) is an integer for every integer n? (You do not necessarily have to use Maple in the proof.)
Go back and edit your Maple worksheet to clean up the presentation. Put in some sentences of explanation. (You can use the Insert menu to insert text, in-line mathematics, new Maple command prompts, and so forth.) In particular, put your name at the top of your worksheet, formatted with the Author style. Use the Print feature on the File menu to print your worksheet.
Remark: This problem is a special case of a general theorem. G. Pólya proved [Über ganzwertige ganze Funktionen, Rend. Circ. Mat. Palermo 40 (1915) 1-16] that the polynomials that take integer values at all integer points are precisely the linear combinations with integral coefficients of the "binomial polynomials" of the form x(x-1)...(x-k+1)/k!, where k=0, 1, .... See Manjul Bhargava, "The factorial function and generalizations", American Mathematical Monthly 107 (2000), number 9 (November), 783-799.
Maple functions, expressions, and equations |