home
PDF (letter size)
PDF (legal size)

## my Maple cheat sheet

November 17, 2018   Compiled on November 17, 2018 at 2:16pm  [public]

Or

### 3 How to debug internal procedures, such as dsolve?

Then used the command stopat(f); then called the procedure f(); and now the debugger comes up. Did step command and now it steps inside dsolve

### 4 How to display or print source code of a function or procedure in MAPLE?

For integration use

Another option

then print(procedure); or eval(procedure_name); for example

Also can use showstat, in this case interface(verboseproc=3) is not needed. Also showstat gives line numbers and I think it is easier to read.

There is also a function by Joe Riel here here is the post by Joe Riel:

”A disadvantage of showstat, particularly if you want to cut and paste the output, is that it includes line numbers. Here is a simple procedure I threw together to remove the line numbers.”

To print source code to ﬁle using the above, do the following

Now the output will show up in the ﬁle ”listing.txt” and also no line wrapping. The above I found is the best solution so far to do this.

### 5 How to display trace of a function as it runs in maple?

also see debug(foo);

Also

Also look at kernelopts(opaquemodules=true)

Here is a useful post by Carl Love from Maple prime forum that summarizes all of these

Here are four things that you can do to get more information. I have listed them in order by how structured the information is, with the most structured ﬁrst.

1. Set

That will cause programs to print out additional information of the programmers’ choosing. You can use higher or lower numbers for more or less information. Most programs don’t use levels higher than 5.

2. Print the code of procedures with showstat:
3. Trace the execution of particular procedures with trace:
4. Trace the execution of everything with printlevel:

You can use higher or lower numbers for more or less information.

### 6 How to display a build in function code?

Or to see line numbers

Or can use the Browse(); command

Another option I found is

Then the above produces listing that can be copied as string with line wrapping ok.

### 7 How to build a LIST or a SET on the ﬂy?

One way

But a better way is to use seq

### 8 How to make function display more information of what it is doing?

By Carol Devore on the net:

Use infolevel.
For example, to show what logic dsolve uses, do this:

First try
> infolevel[all]:= 5;

That will probably give more information than you want, but if not,
then try
> printlevel:= 1000;

If you want information about a specific procedure, you can use debug.
For example,
restart;
debug(int/int);
int(p, x= 0..1);

To find out what procedures are being called without getting too much
extra information, use excallgraph.

Trying on dsolve

### 9 How to solve a diﬀerential equation with initial conditions?

To solve $y''-3y'+2y=10 e^{5 x}$ with $$y(0)=1,y'(0)=5$$ do

The above can also be written using D@@ notation, like this

### 10 How to verify that the ODE solution given is correct?

use odetest and check if it gives zero.

### 11 How to know the type of ODE?

Maple can classify the ODE.

To get help on this type of ODE, do

### 12 What packages to load for diﬀerential equations?

Use  with(DEtools);

### 13 How to plot solution of diﬀerential equations?

To get a better plot, change the stepsize and independent variable range

### 14 How to plot a function?

Here, I am looking at fouries series expansion of $$f(x)=0$$ between $$–\pi$$ and 0, and $$f(x)=1$$ between 0 and $$\pi$$.

The Fouries series expansion is worked out to be as below. This shows that the series approximate the above $$f(x)$$ as more terms are added

### 15 How to run maple from command line?

From DOS, point to where your cmaple is

>"C:\Program Files\Maple 7\BIN.WNT\"cmaple

To make it execute maple commands use the < foo.txt to pipe maple commands in the ﬁle to it.

### 16 How to use matrices in maple?

You can extract any part of the matrix like this:

$\left [ \begin{array}{c} 2\\ 6\\ 6\end{array} \right ]$

By Carl Devore http://mathforum.org/kb/message.jspa?messageID=1570678

Maple list and sequence structures are more flexible than Matrices, which are
highly structured.  A Maple list of lists (called a listlist in Maplese) is akin
to a matrix in some other languages.  Many matrix
operations can be performed directly on the listlist form, but to do
serious linear algebra, you should convert to a Matrix.  Of course, it is
trivial to convert a listlist to Matrix:

LL:= [[1,2], [3,4]];
M:= Matrix(LL);

So here is another solution in line with your original wishes.  This is
"index free", but the table-based solution I gave earlier should be
faster.  (It is usually considered bad form to repeatedly append to a list or sequence.)

L:= [][]; # Create a NULL sequence
do
if line::string then
if line contains valid data then
Z:= a list of that data;
L:= L, Z
fi
else
break
fi
od

A:= Matrix([L]); # Note []: seq -> list.

To move move a column into a matrix: Here, I want to copy 2nd column to the 3rd column:

A; $\left [ \begin{array}{ccc} 1&2&3\\ 3&6&7\\ 5&6&9\\ 7&7&7 \end{array} \right ]$

B:=A[1..row,2]; $\left [ \begin{array}{c} 2\\ 6\\ 6\\ 7 \end{array} \right ]$

A[1..row,3]:=B: A;

$\left [ \begin{array}{ccc} 1&2&2\\ 3&6&6\\ 5&6&6\\ 7&7&7 \end{array} \right ]$

### 17 How can maple return more than value from a procedure call?

Maple can return multiple values. Make sure to use the comma ”,” in the body of the procedure to separate each return value. Example:

### 18 How does maple handle procedure arguments?

When passing a variable to maple procesure, the variable VALUE is passed to the procedure (This is diﬀerent from say Fortran where the default is pass by reference). But this is the same as with Mathematica.

For example, if a variable X had value 10, then you call a procedure FOO passing it X, then inside FOO, X will be the number 10, not the argument variable X. So, this means one can not have X on the left hand side inside FOO. Like this x:=1

The only way to assign new value to the input and return new value, is to use a local variable, like this:

### 19 How to deﬁne your own data types?

Use type/name to deﬁne new type name.

### 20 How to ﬁnd max element in a matrix and its position as same time?

Code from net by Carl Devore:

Code below from C W

### 21 How to create a package?

First create the module:

Gives 9, [3, 3]. Now save the module.

now save the library to disk.  savelib(nma);

Now we can test everything by reinitialize everything and reload the library.

Now to print a proc() in the package, do

Now you can list what packages exist in the archive:

Some notes. need to clean later

Also there is a long thread here on Maple prime on making personal packages in Maple How-To-Create-A-Personal-Package

### 22 How to convert from ﬂoating point to Hex?

From: Robert Israel (israel@math.ubc.ca)
Subject: Re: Getting non-integral results in hex
Newsgroups: comp.soft-sys.math.maple
Date: 2003-06-13 00:07:37 PST

I assume you mean floating-point numbers.  Note that
Maple floats (as opposed to "hardware floats") are
in fact stored in base 10.  To convert a float to hex
with n digits after the ".", you can use this:

> convert/hexfloat:= proc(x::numeric, n::nonnegint)
local A,B,ax,R;
if nargs = 1 then return procname(x,round(Digits*log[16](10))) fi;
if x = 0 then return cat(0.,0n) fi; ax:= abs(x); A:= floor(ax); B:= round(frac(ax)*16^n); if B = 16^n then A:= A+1; B:= 0 fi; R:= cat(convert(A,hex),.); if x < 0 then R:= cat(-,R) fi; cat(R,substring(convert(16^n+B,hex),2..-1)); end; And then, e.g.: > convert(1234.5678, hexfloat, 4); 4D2.915B ### 23 How to ﬁnd taylor series expansion of functions? mtaylor(sin(x),[x],10); $x-1/6\,{x}^{3}+{\frac{{x}^{5}}{120}}-{\frac{{x}^{7}}{5040}}+{\frac{{x}^{9}}{362880}}$ ### 24 How to print elements of a matrix? ### 25 How to ﬁnd determinant of matrix? ### 26 How to generate Hilber matrix? H := LinearAlgebra:-HilbertMatrix(5); \left [ \begin{array}{ccccc} 1&1/2&1/3&1/4&1/5\\ \noalign{\medskip }1/ 2&1/3&1/4&1/5&1/6\\ \noalign{\medskip }1/3&1/4&1/5&1/6&1/7 \\ \noalign{\medskip }1/4&1/5&1/6&1/7&1/8\\ \noalign{\medskip }1/5&1/6&1 /7&1/8&1/9\end{array} \right ] ### 27 How to plot matrix data? Matlab is much easier here. In maple, need to covert the matrix to a list of list of points ﬁrst. ### 28 How to catch an error from a proc()? An error in maple raises an exception. So, use try catch to trap it as follows: ### 29 How to convert 3456 to 3,456 ? From the net, by Carl Devor: To convert a string to array of chars use array(StringTools:-Explode(S)) Now can use the string as normal array ### 30 How to use units ? ### 31 On High precision. Using taylor to solve ODE From: Robert Israel (israel@math.ubc.ca) Subject: Re: given precision in Maple Newsgroups: comp.soft-sys.math.maple Date: 2003-07-16 20:19:06 PST Set Digits:= n and all calculations from this point will be done with n digits. Mathematical functions will be correct to n digits as well (to the extent this is practical). If you want high-accuracy numerical ODE solutions, on the other hand, it's not so simple. I think the best way is using the taylorseries method. For example, consider the problem y' = y^2, y(1) = 1, where the exact solution y = 1/(2-x) has y(1.9) = 10. > Digits:= 30: sol:= dsolve({D(y)(x)=y(x)^2, y(1) = 1}, y(x), numeric, method=taylorseries, abserr=1e-25): sol(1.9); [x = 1.9, y(x) = 9.99999999999999999999999797691] > 10 - eval(y(x),%); -23 0.202309 10 The other methods (in particular the default rkf45) do not give results anywhere near this good. ### 32 How to evaluate catlan number and other sums? Use the Sum command. Notice, if I used the sum command instead of the Sum command I get this result: ### 33 How to write a text ﬁle that contains a package, and load it and execute it? This shows how to do a simple package and use it without building a library. Just using a plain text ﬁle. Create this nma_pkg1.txt ﬁle: now save it, and from maple do now execute f1() as this: now put it in a library (so that we can use with, instead of read) now make changes to the nma_pkg1.txt ﬁle and updated again as above. ### 34 How to ﬁnd what packages are included in maple ?index,package ### 35 How to plot the gradiant vector ﬁeld? or or can do it in just one command: plots[gradplot](f,x=-2..2,y=-2..2); ### 36 How to put the digits of Pi into a list? Suppose you want the 100 digits of Pi put in a list. This is one way to do it: This below now tells how many times each digits occurs. ### 37 Digits of PI in maple and mma Written sometime in 2005? I should really record the time when I write something. I just run these now, Auust 2014, and now Maple 18 as very fast. So this all below is no longer valid. I will leave it here for now for reference until I update it all later I have written a few lines of code, which counts how many times each digit occurs after the decimal points of $$\pi$$ Written this in maple ﬁrst. Then did similar thin in mma 5.0. Both are run on the same PC. No other applications are running at the time when I run the code. The basic idea of the algorithm is to use evalf(Pi,digits) in maple to ﬁnd $$\pi$$ for any number of decimal digits, and to use N[Pi,digits] in mma for doing the same. (Where the variable digits above is the number of digits) Then in maple convert the above $$\pi$$ to a string, and generate a sequence of the characters to right of decimal point, then use stats[transform,tally] to do the actual counting. In mma, I use RealDigits[] to get a list of the digits, and then use Count[] to do the counting. This is result of some of the runs to ﬁnd Pi to some digits, and the total time (to ﬁnd Pi and do the counting) All times are in cpu seconds, machine is P4, 2.8 Ghz, 500 MB of RAM, single CPU, hyperthreading enabled, running XP home edition. Maple 9.03 student version, and mma 5.0 student version. Below is the result, and below that I show the maple code and the mma code. Because of this, before each run in mma, I exited the application and started it fresh. In maple, it does not matter for the above reason. 100,000 digits: Find_Pi Total Maple 9.0 55 84 Mma 5.0 0.9 1.54 Mma is 60 times faster in ﬁnding pi and about 56 times faster overall 300,000 digits: Find_Pi Total Maple 9.0 309 781 Mma 5.0 3.7 6 Mma is 300 times faster in ﬁnding Pi, and 130 times faster overall. 3,000,000 digits Find_Pi Total Maple 9.0 Mma 5.0 85 118 Maple time in hours ! Still running. Maple code mma code update 12/25/03 Changed maple code on how to do the counting : To use Now the counting in maple is much faster. It is always hard to know which is the best function to use. ### 38 How to ﬁnd where functions are? From: Ken Lin (maplemath@tp.edu.tw) Subject: Re: how to find which package a function belongs to? Newsgroups: comp.soft-sys.math.maple Date: 2003-12-04 03:49:26 PST When Maple first loaded, There are only two kinds of "internal" commands which can be called directly. One is the "kernal" commands coded in C, and the other includes many "internal" prodecures programmed by the kernal commands which lies in the "Main Library", There are also many other "external" procedures which were categorized into so called "packages", plots[display](...) for example, plots[] is a package(Library), and display() is the prodecure inside plots[]. All the packages can be loaded by with() command, like > with(plots); Because Different Packages include user library might have the same procedure name, Maple doesn't realize the "procedure_name" you type in, it took it for a "symbol". If you really want to know which packages provided by Maple the external procedure lies in, just mark the procedure_name and press F1 key, the Maple Help Browser will show you the packages you might be interested. By the way, plot3d() is a "internal" procedure lies in the Main Library. You can confirm that by: > op(0, eval(plot3d)); procedure or in Maple 9 > type( plot3d, 'std' ); #Is it internal? true > type( plot3d, 'stdlib' ); #Does is lie in "Standard(Main) Library"? true If you are interested the codes inside plot3d()... > interface(verboseproc=2): #Turn on verboseproc > print(plot3d); #eval() also works > interface(verboseproc=1): #Turn off verboseproc I hope this will give you some help. Have fun with Maple. Ken Lin ### 39 on maple data types ### 40 how to extract stuﬀ from a list based on some selection? use select. For example ### 41 how to test if all elements of a matrix are integers? I am sure there is a better way than the above. Need to ﬁnd out. ### 42 how to use laplace transform? ${\frac{\omega }{{\omega }^{2}+{s}^{2}}}$ To ﬁnd the inverse, do: $\sin \left ( \omega \,t \right )$ ### 43 questions I have ### 44 3D plotting ### 45 How to raise each element in a list to a power? Use map ### 46 How to generate a sequence with any increment? ### 47 What shortcuts are there for matrix manipulation? read ?MVshortcut, ?MVassignment, and ?Mvextract and Transpose(R) can be shortened to R^%T ### 48 How to solve a set of equations for the derivative? Written feb 20, 2004 This is problem 7.4 chapter 4, in the Mary Boas book. Given \begin{align*} x s^2+y t^2 &= 1\\ x^2 s+y^2 t &= xy-4 \end{align*} Find $$\frac{dx}{dt}, \frac{dx}{ds}, \frac{dy}{dt}, \frac{dy}{ds}$$ at $$x=1,y=-3,s=2,t=-1$$ This is how I did it in maple: \begin{align*}{\frac{\partial }{\partial s}}x \left ( s,t \right ) &= -{\frac{x \left ( s,t \right ) \left ( x \left ( s,t \right ){t}^{2}-4\,y \left ( s,t \right ) st+2\,x \left ( s,t \right ) s \right ) }{2\,x \left ( s,t \right ) s{t}^{2}-2\,y \left ( s,t \right ) t{s}^{2}+x \left ( s,t \right ){s}^{2}-y \left ( s,t \right ){t}^{2}}}\\{\frac{\partial }{\partial t}}x \left ( s,t \right ) &=-{\frac{y \left ( s,t \right ) t \left ( -3\,y \left ( s,t \right ) t+2\,x \left ( s,t \right ) \right ) }{2\,x \left ( s,t \right ) s{t}^{2}-2\,y \left ( s,t \right ) t{ s}^{2}+x \left ( s,t \right ){s}^{2}-y \left ( s,t \right ){t}^{2}}}\\{\frac{\partial }{\partial s}}y \left ( s,t \right ) &=-{\frac{x \left ( s,t \right ) \left ( 3\,x \left ( s,t \right ) s-2\,y \left ( s,t \right ) \right ) s}{2\,x \left ( s,t \right ) s{t}^{2}-2\,y \left ( s,t \right ) t{s}^{2}+x \left ( s,t \right ){s}^{2}-y \left ( s,t \right ){t}^{2}}}\\{\frac{\partial }{\partial t}}y \left ( s,t \right ) &=-{\frac{y \left ( s,t \right ) \left ( 4\,x \left ( s,t \right ) st-y \left ( s,t \right ){s }^{2}-2\,y \left ( s,t \right ) t \right ) }{2\,x \left ( s,t \right ) s{t} ^{2}-2\,y \left ( s,t \right ) t{s}^{2}+x \left ( s,t \right ){s}^{2}-y \left ( s,t \right ){t}^{2}}} \end{align*} ### 49 How to solve a set of equations for diﬀerentials? This is problem 7.15 chapter 4 in Boas: Given $$x^2 u-y^2 v=1$$ and $$x+y=uv$$ Find $$\frac{dx}{du},v$$ and $$\frac{dx}{du},y$$ This is the maple code to solve this: ### 50 How to plot binary tree ### 51 solving problem 12.4 chapter 4, Math 121A, Boas book. using maple $-{\frac{\sin \left ( x \right ) \sin \left ( \cos \left ( x \right ) \right ) }{\cos \left ( x \right ) }}-{\frac{\cos \left ( x \right ) \sin \left ( \sin \left ( x \right ) \right ) }{\sin \left ( x \right ) }}$ ### 52 example of doing convergence test in maple ### 53 Solving problem math 121A, ch 14, 3.18, Boas book. contour integration $\frac{-1}{3}$ ### 54 How to ﬁnd multiple roots to an equation such as $$sin(x) = 0$$ Pi _Z1~ ### 55 Dr Basti Associated Legendre Subject: Associated Legendre Author: Mehran Basti <Basti@worldnet.att.net> Organization: AT&T Worldnet Date: Mon, 25 Nov 2002 02:48:15 GMT Dear newsgroup: I had mentioned that my methods will solve classical equations without the use of inﬁnite series. The following is a Maple code of my old ﬁles. Those days I had Maple2 but the general idea is the same in the process and you see that we can also solve the integrals involved. It does not make sense how are the theory behind it but eventually it will come into light. Just read the procedures and you can see the solution of associated legendre AL at the end. > s1:=-diff(p(t),t)+p(t)^2; > > s2:=exp(2*int(p(t),t))*T(t); > s3:=s1+s2; > s4:=diff(T(t),t)/T(t); > s5:=-(1/2)*(diff(s4,t))+(1/4)*s4^2; > s6:=s5+s2; > p(t):=-1/t+(1)/(2-t); > s1:=simplify(s1); > s1:=collect(%,t); > s2:=simplify(s2); > s1+s2=(2*t^2-4*t+m^2-1)/(t*(-2+t))^2; > solve(%,T(t)); > T(t):=simplify(%); > s2:=simplify(s2); > s2+s1; > s3:=simplify(%); > > s6:=simplify(s6); > t*(-2+t); > simplify(%); > z:=(r3*t^3+r2*t^2+r1*t+r0)/(%); > > simplify(diff(z,t)+z^2-s6); > s7:=collect(numer(%),t); > > coeff(%,t,0); > solve(%,r0); > r0:=op(1,{%}); > coeff(s7,t,1); > solve(%,r1); > r1:=simplify(%); > coeff(s7,t,2); > solve(%,r2); > r2:=simplify(%); > coeff(s7,t,3); > solve(%,r3); > r3:=simplify(%); > simplify(s7); > s3:=simplify(s3); > s4:=simplify(s4); > s6:=simplify(s6); > T(t):=simplify(T(t)); > z:=simplify(z); > 1/2*s4+2*p(t)+z; > s8:=simplify(%); > exp(int(%,t)); > expand(%); > g:=(%); > simplify(g,power); > g:=%; > Int(%,t); > Integralg:=(%); > int(g1(t),t); > x1:=-p(t)+g1(t)/(%); > diff(x1,t)+x1^2-s3; > simplify(%); > s10:=numer(%); > solve(%,int(g1(t),t)); > Ing:=(%); > simplify(subs(g1(t)=g,%)); > > Ing:=(%); > expand(%); > Ing:=simplify(%); > simplify(diff(%,t)-g); > expand(%); > simplify(%); > x:=-p(t)+g/Ing; > simplify(diff(x,t)+x^2-s3); > int(x,t); > exp(%); > expand(%); > s11:=simplify(%); > ALT:=t*(2-t)*diff(u(t),t2)+2*(1-t)*diff(u(t),t)+(2-m^2/(1-(1-t)^2))*u(t);
> -2*(1-t)/(2*t*(2-t));
> int(%,t);
> exp(%);
> s12:=simplify(%,power);
>
> u1:=s12*s11;
> u1:=simplify(%,power);
>  simplify(subs(u(t)=u1,ALT));
> AL:=(1-nu^2)*diff(u(nu),nu2)-2*nu*diff(u(nu),nu)+(2-m^2/(1-nu^2))*u(nu); > > u2:=subs(t=1-nu,u1); > simplify(subs(u(nu)=u2,AL)); > The advantage of these methods are that there are ample rooms for advances. Today my skills for solving classical equations such as Riccati is much advanced. Highly complicated and more general Riccati equations in its billions now possible. Sincerely Dr.M.Basti ### 56 Understanding conformal mapping in maple To plot mapping of complex function in maple, use [plots]conformal The trick is to how to specify the quadrant in the x-y plane. This example shows how. Suppose we want to map the ﬁrst quadrent. Then we specify the DIAGONAL points in the range, from the lower left corner to the upper right corner, which then should be 0..1+I Because 0 is the lower left corner, and $$(1,i)$$ is the upper right corner. Example: This below uses the ﬁrst TWO quadents, i.e. the upper half of the x-y plane This below puts the plots next to each others so to see them ### 57 Is there a way to keep the assumptions but not see the tilda character show up? interface(showassumed=0) removes all tildas and interface(showassumed=1) adds the tildas. ### 58 Fourier series in maple I wrote this to generate FS in Maple for some HW I was doing. I think this was for Math 121A at UC Berkeley in 2003 To animate do Here is the animation from the Maple notebook: Another version ### 59 How to plot graphs next to each others in a grid like fashion ### 60 How to generate Pi on X-axis From book Maple animation by John Putz ### 61 How to make output from FunctionAdvisor look better? From Preben Alsholm or answer by Thomas Richard ### 62 How to do partial fractions? Use convert(expr,parfrac) or convert(f,fullparfrac) ### 63 How to generate sequence sum symbolically $a_{{1}}b_{{1}}+a_{{2}}b_{{2}}+a_{{3}}b_{{3}}+a_{{4}}b_{{4}}+a_{{5}}b_{{5}}+a_{{6}}b_{{6}}+a_{{7}}b_{{7}}$ ### 64 Nice plot from Maple from Serge from the net: ### 65 How to check if 2 expressions are the same? Use evalb(). For example evalb(I*sinh(x)=sin(I*x)); gives true The above does not always work. Only sure way is to do this ### 66 converting series to factorials Function by Robert Israel from the net: $\text{series} \left ( x-{\frac{{x}^{3}}{ \left ( \left ( 3 \right ) \right ) !}}+{\frac{{x}^{5}}{ \left ( \left ( 5 \right ) \right ) !}}+O \left ({x}^{7} \right ) ,x,7 \right )$ ### 67 How to ﬁnd what new additions made to Maple? ?updates,maple10 ### 68 Why Maple can’t solve laplace equation and numerically? ### 69 Some Maple Matrix operations Create a new matrix, by appending some rows of one matrix to rows from another matrix: \left [ \begin{array}{ccc} 1&2&3\\ \noalign{\medskip }4&5&6 \end{array} \right ] \left [ \begin{array}{ccc} 7&8&10\\ \noalign{\medskip }11&12&13 \\ \noalign{\medskip }14&15&16\end{array} \right ] Now append ﬁrst row of A to last 2 rows of B \left [ \begin{array}{ccc} 1&2&3\\ \noalign{\medskip }11&12&13 \\ \noalign{\medskip }14&15&16\end{array} \right ] \left [ \begin{array}{cccc} 1&7&8&10\\ \noalign{\medskip }4&11&12&13 \end{array} \right ] \left [ \begin{array}{ccc} 7&8&10\\ \noalign{\medskip }14&15&16 \end{array} \right ] B:=\left [ \begin{array}{ccc} 0&99&92\\ \noalign{\medskip }8&0&-31 \\ \noalign{\medskip }69&44&0\end{array} \right ] \left [ \begin{array}{ccc} 0&99&92\\ \noalign{\medskip }8&0&-31 \\ \noalign{\medskip }69&44&0\end{array} \right ] To ﬁnd inverse. \left [ \begin{array}{cc} 1/2&0\\ \noalign{\medskip }-1&1/2 \end{array} \right ] To check that for any matrix A, then A*transpose(A) is always a matrix which is symmetrical A:=\left [ \begin{array}{ccc} 99&44&-31\\ \noalign{\medskip }29&92&67 \end{array} \right ] \left [ \begin{array}{ccc} 99&44&-31\\ \noalign{\medskip }29&92&67 \end{array} \right ] how to create a random lower triangular matrix? \left [ \begin{array}{cccc} 67&0&0&0\\ \noalign{\medskip }-31&92&0&0 \\ \noalign{\medskip }44&29&99&0\\ \noalign{\medskip }69&8&27&-4 \end{array} \right ] ### 70 How set diagonal elements to some value, say 1? A:= \left [ \begin{array}{ccccc} 1&-98&-76&-4&29\\ \noalign{\medskip }-38& 1&-72&27&44\\ \noalign{\medskip }-18&57&1&8&92\\ \noalign{\medskip }87& 27&-32&1&-31\\ \noalign{\medskip }33&-93&-74&99&1\end{array} \right ] \left [ \begin{array}{ccccc} 1&-98&-76&-4&29\\ \noalign{\medskip }-38& 1&-72&27&44\\ \noalign{\medskip }-18&57&1&8&92\\ \noalign{\medskip }87& 27&-32&1&-31\\ \noalign{\medskip }33&-93&-74&99&1\end{array} \right ] ### 71 How to multiply roots of a polynomial? ### 72 How to plot a surface in 3D? One can also use impliticplot3d ### 73 How to convert trigs to sinc function in an expression Maple doesn’t have a sinc function. If you mean the function sinc(x) = sin(x)/x, you could say something like ### 74 How to ﬁnd NullSpace and ColumnSpace of a matrix? ### 75 How to ﬁx the interface to using Maple notation for input? Go to tools->optiopn, and Display, and select Maple notation for input display. ### 76 How to ﬁnd all solutions using allvalues ? ### 77 How to add one to only the elements of the diagonal of a matrix? Use Map with ﬁlter ### 78 How to search help for updates on some package and type say updates,Maple17,DE in the small box there. ### 79 How to work with groups in worksheet I use these special keystrokes constantly in my Maple worksheet typing: Ctrl-J: Insert execution group below cursor. Ctrl-K: Insert execution group above cursor. Ctrl-T: Switch from executable code mode to text mode (for entering extended formatted comments). Ctrl-M: Switch from text mode to executable code mode. Shift-Enter (or Shift-Return): Begin a new line in the same execution group. Func-3: Split execution group into two (at cursor). Func-4: Join cursor execution group with execution group below. ### 80 How to read code into worksheet? Use the read command, as in read "mycode.mpl" where mycode.mpl is plain text ﬁle that contains maple code ### 81 Code editors for Maple ### 82 How to ﬁnd if package is module or table? New packages are module, which allows using packageName:-function() since it is easier. Old packages use tables which needs packageName[function]() which is not common. To ﬁnd if package is based on module or not, use the command This will return true or false. To know if name is package use the command ### 83 How to replace a string? ### 84 How to use geometry and plottools ? To know more about the intersection, use this: ### 85 How to simplify log expressions ? Use symbolic option ### 86 How to simplify hyperbolic expression ? How to convert $\frac{3+2\sinh (x)^2}{\sinh (x)^2\tanh (x)}$ to $3 \coth ^3(x)-\coth (x)$ ### 87 How to create text ﬁle and append string to it? ### 88 How to search packages and libraries? To ﬁnd in which library a command is do To get content of library do Then can use this to print the name of each symbol/command, and then use whattype command to ﬁnd its type To get list of Maple kernel builtin commands and symbols, use this. Written by Acer from Maple prime site: The above gives on Maple 18.02 the following ["crinterp", "equation", "{}", "even", "debugopts", "embedded_imaginary", "define_external", "embedded_real", "coeff", "cx_zero", "coeffs", "embedded_axis", "conjugate", "constant", "convert", "cx_infinity", "dlclose", "identical", "divide", "hfloat", "done", "function", "", "fraction",
"denom", "float", "degree", "finite", "disassemble",
"extended_rational", "diff", "extended_numeric", "frem",
"union", "frontend", "upperbound", "exports", "writeto",
"factorial", "xor", "evalgf1", "type", "expand", "typematch",
"entries", "unames", "evalb", "unbind",
"evalf/hypergeom/kernel", "atomic", "hfarray", "anything",
"hastype", "complex", "has", "boolean", "goto", ":-",
"gmp_isprime", "!", "genpoly", "anyfunc", "gc", "algebraic",
"SFloatMantissa", "ssystem", "Scale10", "stop", "Scale2",
"sort", "SearchText", "[]", "~", "subset", "~Array",
"subsindets", "~Matrix", "streamcall", "~Vector", "subs",
"Unordered", "table", "ToInert", "system",
"_maplet", "trunc", "_jvm", "kernel/transpose", "_treeMatch",
"tcoeff", "_savelib", "taylor", "abs", "rtable_num_dims",
"_xml", "rtable_redim", "and", "rtable_scale", "andmap",
"rtable_scanblock", "alias", "rtable_size", "anames",
"rtable_sort_indices", "assign", "savelib", "assemble",
"rtable_zip", "array", "select", "appendto", "searchtext",
"cat", "series", "callback", "selectremove", "bind", "sign",
"attributes", "setattribute", "ormap", "ArrayOptions", "order",
"Array", "parse", "**", "overload", "*", "::", "numer",
"CopySign", "numelems", "^", "or", "||", "op", "nops",
"seq", "normal", "time", "not", "piecewise", "numboccur",
"?[]", "userinfo", "modp2", "inner", "mods", "timelimit",
"mvMultiply", "traperror", "negate", "rtable_normalize_index",
"call_external", "rtable_is_zero", "assigned", "rtable_indfns",
"evalf", "rtable_histogram", "eval", "evaln", "rtable_eval",
"truefalse", "evalhf", "rtable_convolution", "tabular", "mul",
"rtableInfo", "zppoly", "if", "rtable", "uneval", "remove",
"sfloat", "rhs", "specfunc", "readlib", "string", "reduce_opr",
"symbol", "ASSERT", "?()", "realcons", "TRACE", "quit",
"relation", "_local", "pointto", "sequential", "add", "print",
"int/series", "protected", "Record", "irem", "procedure",
"Re", "iquo", "poszero", "isqrt", "real_infinity", "RETURN",
"is_gmp", "ratpoly", "+", "lcoeff", "rational", "OrderedNE",
"kernelopts", "range", "Object", "NumericEventHandler",
"icontent", "numeric", "NumericStatus", "igcd", "odd",
"NumericClass", "ilog10", "nonpositive", "NumericEvent",
"ilog2", "nonreal", "implies", "posint", "NameSpace",
"indets", "positive", "NextAfter", "indices", "polynom",
"MPFloat", "intersect", "pos_infinity", "MorrBrilCull",
"<", "member", "neg_infinity", "Im", "maxnorm", "name",
"<>", "max", "negint", "<=", "map2", "negative", "modp1",
"nonnegative", "FromInert", "modp", "negzero",
"EqualStructure", "minus", "nonposint", ">=", "min",
"nonnegint", ">", "DefaultUnderflow", "lexorder",
"imaginary", "=", "lhs", "indexable", "ERROR", "ldegree",
"indexed", "EqualEntries", "length", "integer", "macro",
"list", "DEBUG", "map", "literal", "..", "lowerbound",
"module", "Default0", "lprint", "moduledefinition",
"DefaultOverflow"]
296

### 89 How to numerically solve a BVP ode and plot the solution?

This one has one solution

This solved coupled ODE’s, so there are 2 solutions. Say $$x_1(t)$$ and $$x_2(r)$$, It is a little tricky to plot all solutions generated, but here is an example

And now to plot do

### 90 How to ﬁnd the indicial equation for an ODE?

For say Bessel ode of order zero:

The third argument above is the singularity point of interest. So we have two roots, both zero. These are now used for ﬁnding the power series solution $$y(x)$$ if needed.

Another example, is Bessel of order 1

### 91 How to display on screen for speciﬁc width?

This below by Axel Vogt posted on sci.math.symbolic which does a nice job of formatting output to speciﬁc width.

for VIM

in vim, type set syntax=maple after putting the ﬁle maple.vim in ~/.vim/syntax/maple.vim. I found maple.vim in above link.

For Maple IDE

use packages(); to ﬁnd what packages loaded. use unwith to remove package

### 94 some rules of thumbs when using Maple

1. put restart in separate execution group
2. do not use with inside proc(). Use uses instead.

### 95 How to write derivative

To write $$y'(x)=x$$, one way is diff(y(x),x)=x and another is D(y)(x)=x. To write $$y''(x)=x$$, one way is diff(y(x),x\$2)=x and another is (D@@2)(y)(x)=x.

To convert from one form to another use convert(eq,diff) or convert(eq,D)

### 96 How to solve heat PDE in 1D in Maple 2017?

to solve $$\frac{\partial u(x,t)}{\partial t}=k \frac{\partial ^2 u(x,t)}{\partial x^2}$$ with homogeneous dirichlet boundary conditions $$u(0,t)=0,u(L,t)=0$$ the commands are

Which gives

$u \left ( x,t \right ) =\sum _{{\it \_Z1}=1}^{\infty }{\it \_C1} \left ({\it \_Z1} \right ) \sin \left ({\frac{\pi \,{\it \_Z1}\,x}{L}} \right ){{\rm e}^{-{\frac{k{\pi }^{2}{{\it \_Z1}}^{2}t}{{L}^{2}}}}}$

$u \left ( x,t \right ) =\sum _{n=1}^{\infty }{\it \_C1} \left ( n \right ) \sin \left ( x\lambda \left ( n \right ) \right ){{\rm e}^{-kt \left ( \lambda \left ( n \right ) \right ) ^{2}}}$

For homogeneous Neumann B.C., at $$x=0$$, let $$\frac{\partial u}{\partial x}=0$$ and at $$x=L$$ let $$u(L,t)=0$$, the solution it gives looks diﬀerent than my hand solution

It gives

$u \left ( x,t \right ) ={\it \_C3}\,{\it \_C2}\, \left ({{\rm e}^{1/4\,{\frac{2\,i\pi \,xL-k{\pi }^{2}t}{{L}^{2}}}}}+{{\rm e}^{-1/4\,{\frac{\pi \, \left ( 2\,ixL+k\pi \,t \right ) }{{L}^{2}}}}} \right )$

I need to look more into the above and see if this comes out to be the same as my hand solution.

Another example, with initial conditions now given

The result is

$u \left ( x,t \right ) =\sum _{n=1}^{\infty } \left ( 2\,{\frac{1}{L}{{\rm e}^{-1/4\,{\frac{k{\pi }^{2}t \left ( 1+2\,n \right ) ^{2}}{{L}^{2}}}}}\cos \left ( 1/2\,{\frac{\pi \,x \left ( 1+2\,n \right ) }{L}} \right ) \int _{0}^{L}\!f \left ( x \right ) \cos \left ( 1/2\,{\frac{\pi \,x \left ( 1+2\,n \right ) }{L}} \right ) \,{\rm d}x} \right )$

Another example

$u \left ( x,t \right ) =\sum _{n=1}^{\infty }768\,{\frac{1}{\pi \, \left ( 16\,{n}^{4}+32\,{n}^{3}-136\,{n}^{2}-152\,n+105 \right ) }{{\rm e}^{-1/4\,{\frac{k{\pi }^{2}t \left ( 1+2\,n \right ) ^{2}}{{L}^{2}}}}}\cos \left ( 1/2\,{\frac{\pi \,x \left ( 1+2\,n \right ) }{L}} \right ) }$

Another example

$u \left ( x,t \right ) =\sin \left ({\frac{\pi \,x}{L}} \right ){{\rm e}^{-9\,{\frac{{\pi }^{2}kt}{{L}^{2}}}}} \left ( -2\,\cos \left ( 2\,{\frac{\pi \,x}{L}} \right ) +3\,{{\rm e}^{8\,{\frac{{\pi }^{2}kt}{{L}^{2}}}}}-1 \right )$

The above answer seems wrong. There is not even a summation in it. It is diﬀerent from my hand solution. Look more into it.

### 97 How to make multiple assumptions on a symbol?

Now can use is(A,constant);

### 99 How to check if expression is an equation?

check for ‘=‘ as follows

### 100 How to check if expression is a set?

check for ‘set‘ as follows

### 101 How to set boundary conditions for dsolve or pdsolve?

The Maple syntax for seeting initial and boundary conditions is very confusing, as compared to Mathematica, which seems to me to be simpler. So I wrote this to remind me of the syntax each time.

For PDE, assuming dependent variable is $$u(x,t)$$ then

 Conditions Maple code $$u(0,t)=0$$ u(0,t)=0 $$\frac{\partial u}{\partial x}=0$$ at $$x=0$$ D[1](u)(0,t)=0 $$\frac{\partial ^2 u}{\partial x^2}=0$$ at $$x=0$$ D[1,1](u)(0,t)=0 $$\frac{\partial ^3 u}{\partial x^3}=0$$ at $$x=0$$ D[1,1,1](u)(0,t)=0 $$\frac{\partial u}{\partial t}=0$$ at $$t=0$$ D[2](u)(x,0)=0 $$\frac{\partial ^2 u}{\partial t^2}=0$$ at $$t=0$$ D[2,2](u)(x,0)=0 $$\frac{\partial ^3 u}{\partial t^3}=0$$ at $$t=0$$ D[2,2,2](u)(x,0)=0

Notice the syntax for the last one above. It is (D[1]@@2)(u)(0,t)=0 and not (D@@2)[1](u)(0,t)=0

For an ODE, assuming dependent variable is $$y(x)$$ then the syntax is

 Conditions Maple code $$y(0)=0$$ y(0)=0 $$\frac{dy}{dx}=0$$ at $$x=0$$ D(y)(0)=0 $$\frac{d^2 y}{d x^2}=0$$ at $$x=0$$ (D@@2)(y)(0)=0

### 102 How to export a plot to PDF?

I could only ﬁnd a way to export to eps

Make sure not to put : at the end of the plot command! else it will not be exported. It has to end with ;

This will same it to t.eps in the currentdir() location. Then used ps2pdf t.eps t.pdf to convert it to PDF. Or just ps2pdf t.eps it will automatically create t.pdf

Or ps2pdf -dCompatibilityLevel=1.4  t.eps but may it is best to do

ps2pdf -dCompatibilityLevel=1.4 -dEmbedAllFonts=true  t.eps

To ﬁnd roots of $$(3+4 i)^{1/3}$$, do