Applications, Examples and Libraries

Share your work here

A new Maple e-book, Multivariate Calculus Study Guide, is now available. Part of the Clickable Calculus collection of interactive Maple e-books, this guide takes full advantage of Maple’s Clickable Math approach. It has over 600 worked examples, the vast majority of which are solved using interactive, Clickable Math techniques. 

Deisgned to help students taking this course, instructors may also find this e-book useful as a guide to using Clickable Math to teach Multivariate Calculus.

See Multivariate Calculus Study Guide for more information.

 

eithne

A new Maple e-book, Multivariate Calculus Study Guide, is now available. Part of the Clickable Calculus collection of interactive Maple e-books, this guide takes full advantage of Maple’s Clickable Math approach. It has over 600 worked examples, the vast majority of which are solved using interactive, Clickable Math techniques. 

Deisgned to help students taking this course, instructors may also find this e-book useful as a guide to using Clickable Math to teach Multivariate Calculus.

See Multivariate Calculus Study Guide for more information.

 

eithne

Consider the well-known Euler's formula  

 eix = cos x + i sin x   

When we calculate that for  x = π  we get:

eiπ = cos π + i sin π   or

eiπ = −1 + i × 0   (because cos π = −1 and sin π = 0)  or

eiπ = −1  or  eiπ + 1 = 0

It seems absolutely magical that such a neat equation combines  5  fundamental constants: e ,  i ,  π , 1 , 0

The purpose of this post - to give a simple visualization of equality  eiπ = −1  (statical and animated) by expanding  eiπ  in a series of complex numbers. These numbers we represent as vectors in the plane. We will see that the partial sums of this series are broken lines like a spiral, twisting around the point -1 steadily approaching to it.

Euler procedure has one required parameter  n is positive integer - the number of displayed terms of the series  for  eiπ  

Optional parameter  a  is any symbol (by default  a=NULL). We use this option if  instead of a static spiral want to see an animated spiral. 

Procedure code can be found in the attached file  Euler.mw

 

Examples of use.

The first example shows  8 terms of the series (broken line of 8 units):

Euler(8);

                

 

 

The terms of the series where  n> = 10  on the same plot can not be seen as very small. In this case, we use  the second plot with magnification of  100 : 1 .  

The second example:

Euler(14);

 

 

 

In the third example, we see an animated broken line. It's  first 9 units represented  on the left plot, and then for n> = 10 on the right plot:

Euler(13, a);

  

 

Euler.mw

In this paper we will demonstrate the importance of using simple to complex algorithms applied to complex systems in civil and mechanical engineering. In order to develop solutions that developers need to be involved in issues of advanced dynamic computer science. We show how is that with the Maple scientific program and through component-based algorithms can generate power then then be inserted into specific algorithms. Will form patterns with movements of rotation and revolution of their axes, in each case to model and analyze the curves thereof comprising. With these modelalos and curve analysis we can predict manufacturing costs, freight, inter alia estrcturas which they can be used with the correct use of Maplesoft.

 

IX_Fast_2016.pdf

Solid_Algorithms_applied_in_complex_3D_structures_for_Civil_Engineering_with_Maplesoft.mw

(in spanish)

Lenin Araujo Castillo

 

 

 

 

This post is my attempt to answer the question from here .  

The procedure  ContoursWithLabels  has 2 required parameters: Expr  is an expression in  x  and  y  variables,  Range1  and  Range2  are ranges for  x  and  y . In this case, the output is the list of floats for the contours and 8 black contours (with labels) (the axis of coordinates as a box). 

The optional parameters: Number is positive integer - the number of contours (by default Number=8),  S is a set of real numbers  C  for contours (for which Expr=C) (by default  S={}),  GraphicOptions  is a list of graphic options for plotting (by default  GraphicOptions=[color = black, axes = box]),  Coloring  is an equality  Coloring=list of color options for  plots[dencityplot]  command (by default Coloring=NULL). 

The code of the procedure:

restart;

ContoursWithLabels := proc (Expr, Range1::(range(realcons)), Range2::(range(realcons)), Number::posint := 8, S::(set(realcons)) := {}, GraphicOptions::list := [color = black, axes = box], Coloring::`=` := NULL)

local r1, r2, L, f, L1, h, S1, P, P1, r, M, C, T, p, p1, m, n, A, B, E;

uses plots, plottools;

f := unapply(Expr, x, y);

if S = {} then r1 := rand(convert(Range1, float)); r2 := rand(convert(Range2, float));

L := [seq([r1(), r2()], i = 1 .. 205)];

L1 := convert(sort(select(a->type(a, realcons), [seq(f(op(t)), t = L)]), (a, b) ->is(abs(a) < abs(b))), set);

h := (L1[-6]-L1[1])/Number;

S1 := [seq(L1[1]+(1/2)*h+h*(n-1), n = 1 .. Number)] else

S1 := convert(S, list)  fi;

print(Contours = evalf[2](S1));

r := k->rand(20 .. k-20); M := []; T := [];

for C in S1 do

P := implicitplot(Expr = C, x = Range1, y = Range2, op(GraphicOptions), gridrefine = 3);

P1 := [getdata(P)];

for p in P1 do

p1 := convert(p[3], listlist); n := nops(p1);

if n < 500 then m := `if`(40 < n, (r(n))(), round((1/2)*n)); M := `if`(40 < n, [op(M), p1[1 .. m-11], p1[m+11 .. n]], [op(M), p1]); T := [op(T), [op(p1[m]), evalf[2](C)]] else

if 500 <= n then h := floor((1/2)*n); m := (r(h))(); M := [op(M), p1[1 .. m-11], p1[m+11 .. m+h-11], p1[m+h+11 .. n]]; T := [op(T), [op(p1[m]), evalf[2](C)], [op(p1[m+h]), evalf[2](C)]]

fi; fi; od; od;

A := plot(M, op(GraphicOptions));

B := plots:-textplot(T);

if Coloring = NULL then E := NULL else E := ([plots:-densityplot])(Expr, x = Range1, y = Range2, op(rhs(Coloring)))  fi;

display(E, A, B);

end proc:

 

Examples of use:

ContoursWithLabels(x^2+y^2, -3 .. 3, -3 .. 3);

                             

 

 

ContoursWithLabels(x^2-y^2, -5 .. 5, -5 .. 5, {-20, -15, -10, -5, 0, 5, 10, 15, 20}, [color = black, thickness = 2, axes = box], Coloring = [colorstyle = HUE, colorscheme = ["White", "Red"], style = surface]);

                           

 

 

The next example, I took from here:

ContoursWithLabels(sin(1.3*x)*cos(.9*y)+cos(.8*x)*sin(1.9*y)+cos(.2*x*y), -5 .. 0, 2 .. 5, {seq(-2 .. 2, 0.5)}, [color = black, axes = box], Coloring = [colorstyle = HUE, colorscheme = ["Cyan", "Red"], style = surface]);

                                 

 

There are many more examples can be found in the attached file. 

ContoursWithLabels1.mw

 

Edit. The attached file has been corrected.


The year 2015 has been one with interesting and relevant developments in the MathematicalFunctions  and FunctionAdvisor projects.

• 

Gaps were filled regarding mathematical formulas, with more identities for all of BesselI, BesselK, BesselY, ChebyshevT, ChebyshevU, Chi, Ci, FresnelC, FresnelS, GAMMA(z), HankelH1, HankelH2, InverseJacobiAM, the twelve InverseJacobiPQ for P, Q in [C,D,N,S], KelvinBei, KelvinBer, KelvinKei, KelvinKer, LerchPhi, arcsin, arcsinh, arctan, ln;

• 

Developments happened in the Mathematical function package, to both compute with symbolic sequences and symbolic nth order derivatives of algebraic expressions and functions;

• 

The input FunctionAdvisor(differentiate_rule, mathematical_function) now returns both the first derivative (old behavior) and the nth symbolic derivative (new behavior) of a mathematical function;

• 

A new topic, plot, used as FunctionAdvisor(plot, mathematical_function), now returns 2D and 3D plots for each mathematical function, following the NIST Digital Library of Mathematical Functions;

• 

The previously existing FunctionAdvisor(display, mathematical_function) got redesigned, so that it now displays more information about any mathematical function, and organized into a Section with subsections for each of the different topics, making it simpler to find the information one needs without getting distracted by a myriad of formulas that are not related to what one is looking for.

More mathematics

 

More mathematical knowledge is in place, more identities, differentiation rules of special functions with respect to their parameters, differentiation of functions whose arguments involve symbolic sequences with an indeterminate number of operands, and sum representations for special functions under different conditions on the functions' parameters.

Examples

   

More powerful symbolic differentiation (nth order derivative)

 

Significative developments happened in the computation of the nth order derivative of mathematical functions and algebraic expressions involving them.

Examples

   

Mathematical handling of symbolic sequences

 

Symbolic sequences enter various formulations in mathematics. Their computerized mathematical handling, however, was never implemented - only a representation for them existed in the Maple system. In connection with this, a new subpackage, Sequences , within the MathematicalFunctions package, has been developed.

Examples

   

Visualization of mathematical functions

 

When working with mathematical functions, it is frequently desired to have a rapid glimpse of the shape of the function for some sampled values of their parameters. Following the NIST Digital Library of Mathematical Functions, a new option, plot, has now been implemented.

Examples

   

Section and subsections displaying properties of mathematical functions

 

Until recently, the display of a whole set of mathematical information regarding a function was somehow cumbersome, appearing all together on the screen. That display was and is still available via entering, for instance for the sin function, FunctionAdvisor(sin) . That returns a table of information that can be used programmatically.

With time however, the FunctionAdvisor evolved into a consultation tool, where a better organization of the information being displayed is required, making it simpler to find the information we need without being distracted by a screen full of complicated formulas.

To address this requirement, the FunctionAdvisor now returns the information organized into a Section with subsections, built using the DocumentTools package. This enhances the presentation significantly.

Examples

   

These developments can be installed in Maple 2015 as usual, by downloading the updates (bundled with the Physics and Differential Equations updates) from the Maplesoft R&D webpage for Mathematical Functions and Differential Equations


Download MathematicalFunctionsAndFunctionAdvisor.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

Just a simple little proc that grabs and displays some simple data for general stars (I've only listed a couple for starters).  It wasn't till later that I realized it's not an up to date database as it doesn't contain more recent interesting stars like Kepler 452.  One would have to go to the SIMBAD astronomical database for which I have not yet devoted any time for .. at least not yet. 

StarData := proc (a::string) local b, c, d, e1, e2, e3; b := StringTools:-DeleteSpace(StringTools:-Substitute(a, " ", "+")); c := HTTP:-Get(cat("http://www.stellar-database.com/Scripts/search_star.exe?Name=", b)); d := convert(c[2], string); e1 := d[StringTools:-Search("<H1>", d)+4 .. StringTools:-Search("</H1>", d)-1]; e2 := d[StringTools:-Search("Right", d) .. StringTools:-Search("Standard error in distance", d)-8]; e3 := StringTools:-SubstituteAll(StringTools:-SubstituteAll(StringTools:-SubstituteAll(e2, "<BR>", ""), "<B>", ""), "</B>", ""); print(e1); print(e3) end proc:

StarData("Sun")

"Right Ascension and Declination: 0h0m0s, +0&deg;0'0" (epoch 2000.0)
Distance from Sol: 0 light-years (0 parsecs)
"

(1)

StarData("Wolf 1061")

"Right Ascension and Declination: 16h30m18.097s, -12&deg;39'45.17" (epoch 2000.0)
Distance from Sol: 13.91 light-years (4.264 parsecs)
"

(2)

StarData("Alpha Centauri")

"Right Ascension and Declination: 14h39m35.88s, -60&deg;50'7.4" (epoch 2000.0)
Distance from Sol: 4.395 light-years (1.347 parsecs)
"

(3)

StarData("Sirius")

"Right Ascension and Declination: 6h45m8.871s, -16&deg;42'57.99" (epoch 2000.0)
Distance from Sol: 8.601 light-years (2.637 parsecs)
"

(4)

````


Download StarData3.mw

 

 

 

 

I'd like to pay attention to an article J, B. van den Berg and J.-P. Lessard, Notices of the AMS, October 2015, p. 1057-1063.  We know numerous  applications of CASes to algebra. The authors present such  applications to dynamics. It would be interesting and useful to obtain  opinions of Maple experts on this topic.

Here is its introduction:

"Nonlinear dynamics shape the world around us, from the harmonious movements of celestial bod-
ies,  via  the  swirling  motions  in  fluid  flows,  to the  complicated  biochemistry  in  the  living  cell.
Mathematically  these  beautiful  phenomena  are modeled by nonlinear dynamical systems, mainly
in  the  form  of  ordinary  differential  equations (ODEs), partial differential equations (PDEs) and
delay differential equations (DDEs). The presence of nonlinearities severely complicates the mathe-
matical analysis of these dynamical systems, and the difficulties are even greater for PDEs and DDEs,
which are naturally defined on infinite-dimensional function spaces. With the availability of powerful
computers and sophisticated software, numerical simulations have quickly become the primary tool
to study the models. However, while the pace of progress increases, one may ask: just how reliable
are our computations? Even for finite-dimensional ODEs, this question naturally arises if the system
under  study  is  chaotic,  as  small  differences  in initial conditions (such as those due to rounding
errors  in  numerical  computations)  yield  wildly diverging outcomes. These issues have motivated
the development of the field of rigorous numerics in dynamics"

The well known William Lowell Putnam Mathematical Competition (76th edition)  took place this month.
Here is a Maple approach for two of the problems.

1. For each real number x, 0 <= x < 1, let f(x) be the sum of  1/2^n  where n runs through all positive integers for which floor(n*x) is even.
Find the infimum of  f.
(Putnam 2015, A4 problem)

f:=proc(x,N:=100)
local n, s:=0;
for n to N do
  if type(floor(n*x),even) then s:=s+2^(-n) fi;
  #if floor(n*x) mod 2 = 0  then s:=s+2^(-n) fi;
od;
evalf(s);
#s
end;

plot(f, 0..0.9999);

 

min([seq(f(t), t=0.. 0.998,0.0001)]);

        0.5714285714

identify(%);

So, the infimum is 4/7.
Of course, this is not a rigorous solution, even if the result is correct. But it is a valuable hint.
I am not sure if in the near future, a CAS will be able to provide acceptable solutions for such problems.

2. If the function f  is three times differentiable and  has at least five distinct real zeros,
then f + 6f' + 12f'' + 8f''' has at least two distinct real zeros.
(Putnam 2015, B1 problem)

restart;
F := f + 6*D(f) + 12*(D@@2)(f) + 8*(D@@3)(f);

dsolve(F(x)=u(x),f(x));

We are sugested to consider

g:=f(x)*exp(x/2):
g3:=diff(g, x$3);

simplify(g3*8*exp(-x/2));

So, F(x) = k(x) * g3 = k(x) * g'''
g  has 5 distinct zeros implies g''' and hence F have 5-3=2 distinct zeros, q.e.d.

 

A modified version of John May's modification of Bruce Char's animated Christmas tree, using some Maple 2015 features to automatically scale the 3D plot and automatically play the animation.

I went with the viewpoint option, and removed the blinking lights. In the worksheet the tree shows as scaled larger. Perhaps it could be a submission to walkingrandomly.

bchartree1.mw

The CIELAB perceptual model of human vision can be used to predict the color of a wavelength in sRGB. I found the CIEDE2000 corrections to hue, chroma, and lighness were required to get the right values in the blue to violet region. The CIEDE2000 results seem pretty close to what I see looking through a diffraction grating considering I have no way of knowing how my eyes are adapted.

Use the new, faster  version. It can run in under 1 minute;

nprocWavelength_Color_CIEDE2000.mw   and  WtoC_data.xlsx

You will need the data for the color matching functions in the WtoC Excel File. The data directory can now be controlled in the mw file.

 

This is a post that I wrote for the Altair Innovation Intelligence blog.

I have a grudging respect for Victorian engineers. Isambard Kingdom Brunel, for example, designed bridges, steam ships and railway stations with nothing but intellectual flair, hand-calculations and painstakingly crafted schematics. His notebooks are digitally preserved, and make for fascinating reading for anyone with an interest in the history of engineering.

His notebooks have several characteristics.

  • Equations are written in natural math notation
  • Text and diagrams are freely mixed with calculations
  • Calculation flow is clear and well-structured

Hand calculations mix equations, text and diagrams.

 

Engineers still use paper for quick calculations and analyses, but how would Brunel have calculated the shape of the Clifton Suspension Bridge or the dimensions of its chain links if he worked today?

If computational support is needed, engineers often choose spreadsheets. They’re ubiquitous, and the barrier to entry is low. It’s just too easy to fire-up a spreadsheet and do a few simple design calculations.

 Spreadsheets are difficult to debug, validate and extend.

 

Spreadsheets are great at manipulating tabular data. I use them for tracking expenses and budgeting.

However, the very design of spreadsheets encourages the propagation of errors in equation-oriented engineering calculations

  • Results are difficult to validate because equations are hidden and written in programming notation
  • You’re often jumping about from one cell to another in a different part of the worksheet, with no clear visual roadmap to signpost the flow of a calculation

For these limitations alone, I doubt if Brunel would have used a spreadsheet.

Technology has now evolved to the point where an engineer can reproduce the design metaphor of Brunel’s paper notebooks in software – a freeform mix of calculations, text, drawings and equations in an electronic notebook. A number of these tools are available (including Maple, available via the APA website).

 Modern calculation tools reproduce the design metaphor of hand calculations.

 

Additionally, these modern software tools can do math that is improbably difficult to do by hand (for example, FFTs, matrix computation and optimization) and connect to CAD packages.

For example, Brunel could have designed the chain links on the Clifton Suspension Bridge, and updated the dimensions of a CAD diagram, while still maintaining the readability of hand calculations, all from the same electronic notebook.

That seems like a smarter choice.

Would I go back to the physical notebooks that Brunel diligently filled with hand calculations? Given the scrawl that I call my handwriting, probably not.

I am learning to use maple for my notes preparation for the subject Finite Element Analysis. It is interesting to know that how often we blame maple or computer for the silly mistakes we made in our commands and expect the exact answers. I have used a small file and find it easy to analyse my mistakes fatser. If we make a small mistake in a big file, it not only gives us problem finding our mistakes, it leads to more mistakes in other parts as well. A command working in one document need not necessarily work the same way in other document.

I have made my first document and people will come with suggestions to make appropriate modifications in the various sections to improve my knowledge on maple as well as the subject.

Download FINITE_ELEMENT_ANALYSIS.mw

Ramakrishnan V

rukmini_ramki@hotmail.com

Um den Studierenden zu helfen, deren Mathematikkenntnisse nicht auf dem von Studienanfängern erwarteten Niveau waren, hat die TU Wien einen Auffrischungskurs mit Maple T.A. entwickelt.  Die vom Team der TU Wien ausgearbeiteten Fragen zu mathematischen Themen wie der Integralrechnung, linearen Funktionen, der Vektoranalysis, der Differentialrechnung und der Trigonometrie, sind in die Maple T.A. Cloud übernommen worden.  Außerdem haben wir diesen Inhalt als Kursmodul zur Verfügung gestellt.

Laden Sie das Kursmodul der TU Wien herunter.

Bei Interesse können Sie mehr über das Projekt der TU Wien in diesem Anwenderbericht lesen: Erfolgreiches Auffrischen von Mathematikkenntnissen an der Technischen Universität Wien mit Maple T.A.

Jonny
Maplesoft Product Manager, Maple T.A.

Here's a simple package for drawing knot diagrams and computing the Alexander polynomial. A typical usage case for the AlexanderPolynomial function is when a knot needs to be identified and only a visual representation of the knot is available. Then it's trivial to write down the Dowker sequence by hand and then the sequence can be used as an input for this package. The KnotDiagram function also takes the Dowker sequence as an input.

 

TorusKnot(p, q) and PretzelKnot(p, q, r) are accepted as an input as well and can also be passed to the DowkerNotation function.

 

The algorithm is fairly simple, it works as follows: represent each double point as a quadrilateral (two 'in' vertices and two 'out' vertices); connect the quads according to the Dowker specification; draw the result as a planar graph; erase the sides of each quad and draw its diagonals instead. This draws the intersections corresponding to the double points and guarantees that there are no other intersections. The knot polynomial is then computed from the diagram.

 

The diagrams work fairly well for pretzel knots, but for certain knots they can be difficult to read because some of the quads around the double points can become too small or too skewed. Also, the code doesn't check that the generated quadrilaterals are convex (which is an implicit assumption in the algorithm).

 

knot.txt

knot.mw

read "c:/math/prg/maple/knot.txt"

_m489214528

(1)

with(Knots)

[AlexanderPolynomial, DowkerNotation, KnotDiagram]

(2)

AlexanderPolynomial([6, 8, 10, 2, 4], t)

t^4-t^3+t^2-t+1

(3)

AlexanderPolynomial([4, 10, 14, 12, 2, 8, 6], t)

3*t^2-5*t+3

(4)

AlexanderPolynomial([6, 18, 16, 14, -20, 4, 2, 22, 12, -8, -10], t)

2*t^6-11*t^5+24*t^4-31*t^3+24*t^2-11*t+2

(5)

KnotDiagram([10, 12, -20, -16, -18, 2, 22, 24, -8, -4, -6, 14])

 

AlexanderPolynomial([10, 12, -20, -16, -18, 2, 22, 24, -8, -4, -6, 14], t)

t^10-t^9-t^8+6*t^7-11*t^6+13*t^5-11*t^4+6*t^3-t^2-t+1

(6)

AlexanderPolynomial([4, 8, 10, 16, 2, 18, 20, 22, 6, 14, 12], t)

2*t^6-11*t^5+25*t^4-31*t^3+25*t^2-11*t+2

(7)

DowkerNotation(TorusKnot(5, 4))

[-24, -10, 20, -30, -16, 26, -6, -22, 2, -12, -28, 8, -18, -4, 14]

(8)

KnotDiagram(TorusKnot(5, 4))

 

AlexanderPolynomial(TorusKnot(p, q), t); 1; simplify(subs([p = 5, q = 4], %))

(t^(p*q)-1)*(t-1)/((t^p-1)*(t^q-1))

 

t^12-t^11+t^8-t^6+t^4-t+1

(9)

DowkerNotation(PretzelKnot(3, -4, 5))

[-16, -14, 20, 22, 24, 18, -4, -2, 10, 12, 6, 8]

(10)

KnotDiagram(PretzelKnot(3, -4, 5))

 

AlexanderPolynomial(PretzelKnot(p, q, r), t)

piecewise(p::odd and q::odd and r::odd, piecewise(p*q+p*r+q*r <> -1, (1/4)*signum(p*q+p*r+q*r+1)*((p*q+p*r+q*r)*(t^2-2*t+1)+t^2+2*t+1), 1), AlexanderPolynomial(PretzelKnot(p, q, r), t))

(11)

eval(%, [p = 3, q = -4, r = 5])

2*t^8-3*t^7+2*t^6-t^5+t^4-t^3+2*t^2-3*t+2

(12)

 

Download knot.mw

knot.txt

First 42 43 44 45 46 47 48 Last Page 44 of 77