## Calculator Examples

```# Mouse position, copy, paste work as expected.
# Some keys to use for typing:
#  ctrl-z       Undo last change. Repeat to undo previous changes.
#  ctrl-k       Insert a command line prompt, above.
#  ctrl-J       Insert a command line prompt, below.
#  Backspace    Delete character left.
#  Delete       Delete character right.
#  Return       Execute current group [blue printout]
#  Arrows       Move the cursor.
#  :=           Keys : and = assign a variable: x:=1;
#  : =          Common error. No space allowed.
#  ;            Key semicolon ends a line.
#  :            Key colon ends a line no echo (no blue print).

# Let's get started!
# Go ahead and type along in maple with these examples.
2 + 2; 3*5; 6-2:

# All three computations were done, although only two results are shown
# (the colon : at the end of a command suppresses the output).  If you
# forget the semicolon, go ahead and put it on the next line:

6-2
;

# Basic Math Operations
# Addition +, subtraction -, and division / are standard, and parentheses
# are used as in algebra.  However, brackets [, ] and braces {, } are used
# for maple engine list and set delimiters, and not for math. An asterisk * means
# math multiplication and a caret ^ is used for powers. The dot (.) is used for
# decimals, ranges (double dot ..), dot product and matrix multiply. Format
# carefully when using a dot.

(1 + 2) * (6 + 7) - 12 / 7;
3^(2.1);

# Computer Algebra and Decimals
# Maple by default computes exact quantities. Decimals will not appear
# in an answer unless they appeared in the problem (e.g., 2.1).
#  To give decimals in the answer (floating point), use Maple's evalf:

Pi; # The constant 3.1415727... prints as a Greek letter. Must
# be entered as uppercase P and lowercase i.
pi; # Symbol, not 3.14. Prints as a Greek letter (confusing isn't it?)

evalf(Pi);  # Print PI to 10 digits default
exp(1);    # the number e=2.818... prints as lowercase italic e
evalf(%); # The % sign stands for the most recently computed quantity.
e; E;       # symbol e prints in lowercase italic
evalf(e);  # decimal conversion of a symbol does nothing
evalf(Pi, 50); # Compute Pi to 50 digits.
Pi^(1/2);  # Print symbolic answer
evalf(%);  # Print decimal answer 1.77245385

# Upper and Lower Case Madness

# Maple code distinguishes upper-case letters from lower-case.
# Thus evalf(pi) is not the same as evalf(Pi).

# Spacing
# For the most part, spacing is unimportant in Maple.  In the code lines
# above, spaces could be omitted or added without causing any problems.
# Thoughtful use of spacing makes Maple code easier to read, easier to
# understand, and easier to edit.

# Standard Mathematical Functions
# Maple uses naming conventions of computer languages Fortran and C. To
# find out a name, use maple help (?initialfunctions). A short list:

#  sin, cos, tan, csc, sec, cot
#  sinh, cosh, tanh, csch, sech, coth
#  arcsin, and so on. Use prefix arc on the previous for inverses.
#  sqrt, ln, log, log10, exp, round, trunc, ceil, floor, max, min

#  Re(z) and Im(z) for real and imaginary parts of a complex number a+b*I
#    I is a reserved symbol for the square root of minus one.

# Example.

# Let's compute the absolute value of -14 plus the sine of 1 minus the
# square root of 2 plus the base-e (natural logarithm base) power of
# cos(1.6 Pi) plus the arctangent of 3.

abs(-14) + sin(1) - sqrt(2) + exp( cos(1.6*Pi) ) + arctan(3);
evalf(%);

# Degrees and radians.

tan(45);   # Surprised? Trig functions use radians only.
tan(45*Pi/180); # Convert 45 degrees to radians

# Maple expression syntax can often be found by intelligent guessing. Thus
# tan(45) does indeed compute the tangent, and 20! computes a factorial.
# If your first guess doesn't work, then use Maple help or switch to a
# browser search engine, looking for sample code.

# Algebraic Variables

# Maple code uses variables and algebra.  Consider, for example,
# the square of the sum (a + b) with variables a,b.

(a + b)^2;
expand (%);factor (%);p := (a + b)^2; b := 1; p;

# Expand gives the expanded form, and factor brings us back
# to our starting point. To make long computations easier and
# more intelligible, we can assign values to variables using ":="

# Other Variables.

# In the previous examples, variables store an expression or a number.  Variables
# can also store a list of points, a set, a string, an equation, a piece of text, or a function:

pts := [ [1,2], [3,4] ]; # a double-list or list-of-lists
eqn := 2*x - 3*y = 5;    # eqn abbreviates equation 2x+3y=5
eqns := { 2*x - 3*y = 5, 5*x - 3*y = 1 }; # A set of two equations
tag := "The nth partial sum is";  # string delimiter is a double quote
print (pts, eqn, eqns, tag);   # check
f := x -> x^2;         # Defines a function. Use 2 keys, MINUS and GREATER-THAN
f(2);  f(3);           # Evaluate function f at x=2 and x=3
g:=unapply(x^2,x);     # defines a function, with recursive symbol evaluation
g(Pi); g(exp(1.1));    # Evaluate function g at x=3.14159 and x=exp(1.1)=3.004

# Assignment typos.

# Anything we can define or compute in Maple can be assigned to a variable
# for future reference using ":=".  The symbol = by itself is used to test
# equality. A space is NOT allowed between the : and the = in an
# assignment statement. Beware of using equal only when you meant
# colon-equal. Such typos are maddening to discover, because they generate
# no maple error message.

# Getting rid of variable definitions.

b := 'b'; # same as unassign('b');  Removes b:=1; assignment made above to symbol b.
p;        # re-execute formula for p, with b:=1 replaced by symbol b

# Similarly, clears the variables assigned above using unassign():

unassign ( 'pts', 'eqn', 'eqns', 'tag');
print (pts, eqn, eqns, tag);

restart; # A drastic way to clear variables and computer memory
# Also got rid of library loads for linalg and LinearAlgebra

# The restart command clears ALL variables and unloads all packages.
# So, if you need a package later, then you must reload it anew.

# Quotes.

# Pay special attention to the kind of quotes used in examples.  The
# possibilities are the single quote ', the left quote ` (back-quote),
# and the double quote ".

# Here is an extended example of how to use variables, quote and assignment
# statements:

F := m*a;  # Newton's formula for force
m := 2.1;  # set the mass
a := 5;    # set the acceleration
F;         # compute the force
a := 21.9; # reset the acceleration
F;         # recompute force
a := 'a';  # clear a with single quotes
s:="a";    # make a one-character string, no substitution of symbol a
s:="m";    # one-character string, no substitution of symbol m (m equals 2.1)
F;         # recompute F, symbol a was restored

# Substitutions.

# The subs command lets us make temporary substitutions in an expression
# as opposed to assigning values.  For example, try these examples:

g := (a+1)^2 / (b-1)^3 + a / (b-1);
simplify (g);
subs( a=3, b=2, g);
subs( a = x+y, b = x+1, g); # x,y can be symbols or := assigned values or constants
simplify(%);    # Do all normal algebraic simplifications to last answer %
a; b;           # The variables a and b were not permanently assigned a value.

```