MaplePrimes Posts

MaplePrimes Posts are for sharing your experiences, techniques and opinions about Maple, MapleSim and related products, as well as general interests in math and computing.

Latest Post
  • Latest Posts Feed
  • I was playing around with plotting volumes of revolution for calculus.  My opinion is that the defaults for Student[Calculus1][VolumeOfRevolution] could be improved by a couple simple changes.  My hope is that the people here can make my plots better to give Maplesoft a good idea of how to change the defaults.  

    The standard code and output are

    Student[Calculus1][VolumeOfRevolution](x+2,x^2+1,x=0..1,output=plot);

     

    Download Volum_rev_2023_trial1.mw

     

    Changing the surface style to patch and the surfce colors to different colors creates a plot that I find easier to interpret.

    Student[Calculus1][VolumeOfRevolution](x+2,x^2+1, x = 0..1,output=plot,volumeoptions =[color="DarkBlue",style=patch],volume2options =[color="DarkGreen",style=patch],caption="");

     

     

     

    Download Volum_rev_2023_trial2.mw

    What do you think about getting the defaults changed?  I hope someone can give better suggestions for the plot defaults.

    Jill is walking on some trails after a long and stressful day at work. Suddenly, her stress seems to be lifted off her shoulders as her attention gets drawn to nature's abundant beauty. From the way the flowers blossom to the way the leaves grow on their stems, it is stunning.

    When many think of mathematics, what comes to mind is often numbers, equations, and calculations. While these aspects are essential to math, they only scratch the surface of a profoundly creative discipline. Mathematics is much more than mere numerical manipulation. It is a rich and intricate realm that influences everything from art and science to philosophy and technology.

    Just as Jill was stunned by the beauty of nature, you too can be amazed by the beauty of math! The golden ratio is one math concept that garners a reputation for being particularly beautiful, perhaps due to its presence in different parts of nature. You can explore it through some Maple Learn documents.

    Check out the Fibonacci sequence and golden ratio document to better understand the golden ratio and its relationships. Perhaps, once you have a good grasp on the basics, you would like to check out the golden spiral document. Notice how the spiral that results resembles the outline of a nautilus shell and the arms of a spiral galaxy!

    The spiral generated in the maple learn document on the golden spiral. A nautilus shell whose shape resembles the golden spiral generated in the maple learn document.A spiral galaxy whose arms resemble the spiral generated in the Maple Learn document on the golden spiral.

    Nautilus shell image: https://en.wikipedia.org/wiki/File:NautilusCutawayLogarithmicSpiral.jpg -- Spiral galaxy image: https://www.cnet.com/pictures/natures-patterns-golden-spirals-and-branching-fractals/


    Next, you may want to understand why the golden ratio is considered the most irrational number. You can do that by checking out the most irrational number document. Or you could explore this golden angle document to see how the irrationality of the number can be used to reproduce structures found in nature, such as the arrangement of seeds in a sunflower's centre!


    An image generated in the golden angle Maple Learn document where points are packed around the center of a circle using the golden angle. The points are tightly packed around the center.The previous image is superimposed on top of an image of the center of a sunflower. The superimposed image matches the seeds' packing in the sunflower's center.

    Sunflower image: https://commons.wikimedia.org/wiki/File:Helianthus_whorl.jpg
     

    That's all for this post! No worries, though. Maple Learn has hundreds of documents that can aid you in exploring the abundant beauty of math. Enjoy!

    Perhaps you could consider a Coding theory Package.  I'm working on Coding theory at the moment.

    It’s finally here. The mystical treasure that has long been rumoured to lie deep within the labyrinthine halls of Maple Learn is within your grasp at last. The ordeals ahead are treacherous, and most who have ventured in have never returned… but, armed with nothing but your wits and your curiosity, you know you’re prepared to conquer the trials that await you. Can you be the first to uncover the secrets of Maple Learn?

    A screenshot of the start screen of 'The Treasure of Maple Learn', which consists of colourful squares spelling the word 'START'.

    A screenshot of the first room of the Treasure of Maple Learn. The text reads, 'A distant howl echoes through the dark, misty forest as you tread carefully past the towering trees. Many have walked this path seeking the legendary treasure within Maple Learn, but few have returned. You stop in front of a huge stone door, carved with ancient symbols.'

    Surprise! We here at Maplesoft have decided to become game developers. Okay, maybe not really, but we do have one game that we’re excited to be sharing with you all. Introducing: The Treasure of Maple Learn. This series of documents mimics the style of a text-based adventure game, and takes you through a series of puzzles that challenge you to discover for yourself all of what Maple Learn has to offer. It was originally created by myself and a team of other co-op students during the 2021 Maplesoft Hackathon, and I’m very excited to be releasing this updated and polished version of the game. Finally, it’s time to set out on your quest to discover the legendary treasure that lurks within Maple Learn… if you dare.

    If you don’t dare, don’t worry, we have other options. You can also check out our new video on Getting Started with Maple Learn, which takes you through everything you need to know to become a Maple Learn expert. And if that’s not enough learning Maple Learn for you, we also have an extensive collection of How-To documents. Want an in-depth look at how to use the plot window? How about an exploration of how to work with linear algebra? Or maybe you want to unleash your artistic side? We’ve got you covered.

    So if you’re just getting started with Maple Learn and are looking for a tutorial, you’ve got options—we’ve got a quick video overview, tons of collections of in-depth documentation, and a quest through the treacherous depths of Maple Learn to uncover the secrets that lie within. Pick your poison! (But maybe watch out for literal poison in that labyrinth.)

     

    Advanced Engineering Mathematics with Maple (AEM) by Dr. Lopez is such an art.

    Mathematics and Control Theory talks easily in Maple...

    Thanks Prof. Lopez. You are the MAN !!

    Dr. Ali GÜZEL

    The concept of “Maple Learn art” debuted on the MaplePrimes blog in December 2021.  Since then, we’ve come a long way with new Maple Learn features and ever-growing creative minds.  Creating art using mathematical expressions and shapes is a great way to hone both your mathematical skills and your creativity, and is the perfect break from a bout of studying or the like.

    I started my own Maple Learn art journey over one year ago.  Let’s see how one’s art can improve over time using new and advanced features!

    Art with Shapes, March 2022

    This pi-themed pie is simple and cute, but could use some additional features:

    Adding Shaded() around Maple Learn shape commands colors them in!

    Fun fact: I hand-picked all of the coordinates for that pi symbol.  It was an arduous but rewarding process.  Nowadays, I recommend a new method.  When you create a table in Maple Learn with two number columns, the values are plotted as points.  These points can be clicked and dragged across the plot window, and the table updates automatically to display the new coordinates.  How can you use this to make art?

    1. Create a table as described above.
    2. Move the points with your mouse to create an outline of the desired shape.
    3. Use the coordinates from your table in your geometry command.

    Let’s apply these techniques in a newer piece: a full recreation of the spaghetti emoji!

    Art with Shapes, August 2023

    Would you look at that?!  Fully-shaded colors, a background, and lines of spaghetti noodles that weren’t painstakingly guesstimated combine to create a wonderfully improved piece of art.

    Art with Animation, March 2022

    Visit the document to see its animation.  Animation is an invaluable feature in Maple Learn, frequently utilized to observe how changing variables affect functions or model a concept.  We’ve harnessed its power for animated artwork!  This animation is cute, using parametric functions and more to change the image as the animation variable changes.  Like the previous piece, it’s missing a background, and the leaves overlap the stem awkwardly in some places.

    Art with Animation, August 2023

     

    This piece has a simple background made with a large black square, but it enhances the overall effect.

    The animation here comes from piecewise functions, which display different values based on a given criterion.  In this case, the criterion is the current value of the animation variable.

    There are 32 individual polygons in this image (including 8 really tiny ones along the edges!) and 8 rainbow colors.  Each color is associated with a different piecewise function, and displays four random squares in that color in each frame of the animation.

    This image isn’t that much more advanced than the animated flower, but I think the execution has vastly improved.

    Whether you’ve been following these blog posts since December 2021 or are new to Maple Learn, we hope you give Maple Learn art a try.

    And don’t forget that Maple is also a goldmine of artistic potential.  Maple’s bountiful collection of packages such as Fractals, ColorTools, plottools and more are great places to start for math that is as aesthetically pleasing as it is informative.

    This week, our staff participated in a series of art challenges using either Maple Learn or Maple itself, each featuring a suggested theme and suggested mathematical content.  Check out the challenges and some of our employees’ entries below, and try out a challenge for yourself!

     

    Tuesday’s Art Theme: Pasta

    Mathematical Content: Shapes

    Example: Lazar Paroski’s spiraling take on spaghetti

     

    Wednesday’s Art Theme: Nature

    Mathematical Content: Fractals

    Example: John May’s Penrose tiling landscape (in Maple!)

     

    Thursday’s Art Theme: Disco

    Mathematical Content: Animation

    Example: Paulina Chin’s disco ball (in Maple!)

     

    Friday’s Art Theme: Space

    Mathematical Content: Color

    Example: that’s today!  Who knows what our staff will create…?

     

    We hope these prompts have inspired you! If you create some art you’re really proud of, consider submitting it to be featured in the 2023 Maple Conference’s Creative Works Showcase.

    Space. The final frontier. A frontier we wouldn’t stand a chance of exploring if it weren’t for the work of one Albert Einstein and his theories of special relativity. After all, how are we supposed to determine at what speed an alien spaceship is traveling towards Earth if we can’t understand how Newtonian physics break down at high velocities? That is precisely the question that this Maple MathApp asks. Using the interactive tool, you can see how the relative velocities change depending on your reference point. Just what you need for the next time you see a UFO rocketing through the sky!

    But what if you don’t have the MathApp on hand when the aliens visit? (So rare to travel anywhere without a copy of Maple on you, I know, but it could happen.) You’ll have to just learn more about special relativity so that you can make those calculations on the fly. And luckily, we have just what you need to do that: our new Maple Learn collection on modern physics, created by Lazar Paroski. Still not quite sure how to wrap your head around the whole thing? Check out this document on the postulates of special relativity, which explains and demonstrates some of the fundamentals of special relativity with lively animations.

     

    Screenshot of a Maple Learn document. The right side shows a paused animation of an observer, a moving car, and a moving bird. The left side shows calculations for the relative speeds.

    Once you’ve gotten familiar with the basics, it’s time to get funky. This document on time dilation shows how two observers looking at the same event from different frames of reference can measure different times for that event. And of course once you start messing with time, everything gets weird. For an example, check out this document on length contraction, which explains how observers in different frames of reference can measure different lengths for the same moving object. Pretty wild stuff.

     

    Screenshot of a Maple Learn document, showing a paused animation of two observers, one inside a moving car, and one outside. Light inside the car is moving up and down.Screenshot of a Maple Learn document, showing a paused animation of two observers, one inside a moving bus and one outside. There is light moving back and forth inside the bus.

    So now, armed with this collection of documents, we’ll all be ready for the next time the aliens come down to Earth—ready to calculate the relative speed of their UFOs from the perspectives of various observers. That’ll show ‘em!

    Registration for Maple Conference 2023 is now open! This year’s conference will again be a free virtual event. Please visit our site to see more information about the event and to register.

    Our call for presentations has now concluded, but it is not too late to submit to our Maple Conference Art Gallery and Creative Works Showcase.

    The Agenda section, where you’ll find information about the conference format and an overview schedule, has been added. This will be updated as the details are finalized.  

    The pendulum and the cantilever share simple-looking ordinary differential equations (ODEs), but they are challenging to solve:

    This post derives solutions from Lawden and Bisshopp by Maple commands, which (to the best of my knowledge) have not been published providing not only results but also the accompanying computer algebra techniques. A tabulated format has been chosen to better highlight similarities and differences.

    Both solutions have in common that in a first step, the unknown function is integrated and then in a second step the inverse of the unknown function (i.e., the independent variable) is integrated. Only in combination with a well-chosen set of initial/boundary conditions solutions are possible. This makes these two cases difficult to handle by generic integration methods.

    Originally, I was not looking for this insight. I was more interested in an exact solution for nonlinear deformations to benchmark numerical simulation results.  Relatively quickly, I was able to achieve this with the help of this forum, but after that I was left with some nagging questions:

    Why does Maple not provide a solution for the pendulum although one exists?

    Why isn’t there an explicit solution for the cantilever when there is one for the pendulum?

    Why is it so difficult to proof that elliptic expressions are equal?

    Repeatedly, whenever there was time, I came back to these questions and got more and more a better understanding of the two problems and the overall context. It also required me to learn more of Maple, and I had to revisit fundamentals of functions, differential equations, and integration, which was entirely possible within Maples help system. Today, I am satisfied to the point that I think it is too much to expect Maple to provide a high-level general integration method for such problems.

    I am also satisfied that I was able to combine all my findings scattered across many documents and Mapleprime questions into a single executable textbook-style document with hidden Maple code that:

    Exclusively uses and manipulates equation expressions (no assignment operators := were required),

    Avoids differentials that are often used in textbooks but (for good reasons) are not supported by Maple,

    Exclusively applies high-level commands (i.e. no extraction of subexpression, manipulation
               and subsequent re-assembly of expressions was needed).

    The solutions for the pendulum and the cantilever are substantially different although the ODEs and essential derivation steps are similar. I think that an explicit solution for the cantilever, as it exists for the pendulum, is impossible (using elliptic integrals and functions). I leave it open to comments: whether this is correct and whether it is attributable to the set of initial and boundary conditions, the different symmetry of the sine and cosine functions in the ODEs, or both. I hope that the tabular presentation will provide an easy overview, allowing to form an own opinion.

    If you are patient enough to work through the table, you will find a link between the cantilever and the pendulum that you are probably not expecting. 

    Finally, I have to give credit to Bisshopp, who was probably the first to provide a solution for the cantilever. The clarity and compactness on only 3 pages and the way how the inverse of functions was determined before the age of computers makes this paper worth studying. Also, Lawden has to be mentioned, who did the same on 3 pages for the pendulum in a marvelous book on elliptic functions and applications. It happens that he is overlooked in more recent publications and it’s unclear to me if he was the first who published an explicit solution. His book might be one of the last of its kind in this age of computers, and for that reason alone, it is worth enjoying as he enjoyed writing it.

     

    The Pendulum and the Cantilever Side by Side

    C_R, Summer 2023

    • 

    To better compare the pendulum and the cantilever, the symbol `ϕ` was chosen for the angle of the pendulum for the simple reason that this comparison started with bending theory, where `ϕ` is often used to denote a deflection angle.

    • 

    Leibniz and Newton notation was not used to make functional dependencies of variables visible. Instead functional notation  `ϕ` = `ϕ`(t) and `ϕ` = `ϕ`(s)is used.

    • 

    To create an executable document that maintains a clear representation, it is necessary to use functional notation for differential equations and remove functional notation for integration. To avoid using the same symbol for both the integration variable and the upper limit of integration, this document uses two ways to express when the upper limit of integration varies (i.e., depends on the dependent variable of the functions being searched, namely `ϕ` = `ϕ`(t) and `ϕ` = `ϕ`(s)). Both ways have their pros and cons.

     

    Typesetting:-EnableTypesetRule({"EllipticE", "EllipticE2", "EllipticF", "EllipticK", "InverseJacobiAM", "InverseJacobiSN", "JacobiSN"})

     

    ©_®

    Pendulum

    Cantilever

    Independent variable

    Time t

    Arclength s

    Dependent variable

    Angle of the pendulum with respect to direction of gravity `ϕ`(t)

    varphi(t)

    (1)

    The slope of the cantilever with respect to the unbend state `ϕ`(s)

    varphi(s)

    (2)

    Parameters

    • 

    Length l

    • 

    Gravitational constant g 

    • 

    Length L

    • 

    A force F at the free end

    • 

    A bending moment M at the free end

    • 

    The bending stiffness EI 

    ODE

    diff(varphi(t), t, t)+C*sin(varphi(t)) = 0

    diff(diff(varphi(t), t), t)+C*sin(varphi(t)) = 0

    (3)

    (for derivation see for example Wikipedia [1] or Lawden [2])

    diff(varphi(s), s, s)+C*cos(varphi(s)) = 0

    diff(diff(varphi(s), s), s)+C*cos(varphi(s)) = 0

    (4)

    (for derivation see for example Bisshopp [3] or Beléndez [4])

    Definitions

    `ϕ`(0) = 0, `ϕ`((1/4)*T) = `ϕ__0`

    varphi(0) = 0, varphi((1/4)*T) = varphi__0

    (5)

    `ϕ`(t)is periodic with the oscillation period T (i.e., the movement is bounded):

    0 < abs(`&varphi;__0`) and abs(`&varphi;__0`) < Pi

    0 < abs(varphi__0) and abs(varphi__0) < Pi

    (6)

    `&varphi;`(L) = `&varphi;__0`, Eval(diff(varphi(s), s), s = L) = 1/rho

    varphi(L) = varphi__0, Eval(diff(varphi(s), s), s = L) = 1/rho

    (7)

    For a downward force:

    0 < `&varphi;__0` and `&varphi;__0` < (1/2)*Pi

    0 < varphi__0 and varphi__0 < (1/2)*Pi

    (8)

    Parameter C

    "C=omega^(2)", where omegais the angular frequency of the pendulum for small anglular excursions

    C = g/l

    C = g/l

    (9)

    "Specific" Load

    C = F/EI

    C = F/EI

    (10)

    Initial/

    boundary
    conditions

    Eval(varphi(t), t = -(1/4)*T) = -`&varphi;__0`, Eval(diff(varphi(t), t), t = -(1/4)*T) = 0

    Eval(varphi(t), t = -(1/4)*T) = -varphi__0, Eval(diff(varphi(t), t), t = -(1/4)*T) = 0

    (11)

    Eval(varphi(s), s = 0) = 0, varphi(L) = varphi__0, Eval(diff(varphi(s), s), s = L) = 1/rho

    Eval(varphi(s), s = 0) = 0, varphi(L) = varphi__0, Eval(diff(varphi(s), s), s = L) = 1/rho

    (12)

    Only the second condition is essential.
    Additional essential condition: The length L of the cantilever beam is constant (not a boundary condition in its common sense but essential for the solution).

    #1 integration step
    with the second condition

    Method: Integration with an integration factor (and converting to D notation, not shown)

    DEtools:-intfactor(diff(diff(varphi(t), t), t)+C*sin(varphi(t)) = 0, `&varphi;`(t)); DETools:-firint((diff(diff(varphi(t), t), t)+C*sin(varphi(t)) = 0)*%, `&varphi;`(t))

    -2*C*cos(varphi(t))+(diff(varphi(t), t))^2+c__1 = 0

    (13)

    Substituting initial conditions (11)

    eval(convert(-2*C*cos(varphi(t))+(diff(varphi(t), t))^2+c__1 = 0, D), t = -(1/4)*T); convert(value({Eval(diff(varphi(t), t), t = -(1/4)*T) = 0, Eval(varphi(t), t = -(1/4)*T) = -varphi__0}), D); isolate(eval(`%%`, %), c__1)

    c__1 = 2*C*cos(varphi__0)

    (14)

    and isolating diff(`&varphi;`(t), t)in (13) yields

    convert(isolate(subs(c__1 = 2*C*cos(varphi__0), -2*C*cos(varphi(t))+(diff(varphi(t), t))^2+c__1 = 0), diff(`&varphi;`(t), t)), radical)

    diff(varphi(t), t) = (2*C*cos(varphi(t))-2*C*cos(varphi__0))^(1/2)

    (15)

    Alternative method [5]: Integration to an implicit representation

    dsolve({(Eval(varphi(s), s = 0) = 0, varphi(L) = varphi__0, Eval(diff(varphi(s), s), s = L) = 1/rho)[3], diff(diff(varphi(s), s), s)+C*cos(varphi(s)) = 0}, `&varphi;`(s), implicit)[1]

    Int(1/(-2*C*sin(_a)+(2*C*sin(varphi(L))*rho^2+1)/rho^2)^(1/2), _a = 0 .. varphi(s))-s-c__2 = 0

    (16)

    and differentiation w.r.t. to s 

    diff(Int(1/(-2*C*sin(_a)+(2*C*sin(varphi(L))*rho^2+1)/rho^2)^(1/2), _a = 0 .. varphi(s))-s-c__2 = 0, s); isolate(%, diff(`&varphi;`(s), s)); expand(subs(varphi(L) = varphi__0, Eval(diff(varphi(s), s), s = L) = 1/rho, %))

    diff(varphi(s), s) = (-2*C*sin(varphi(s))+2*C*sin(varphi__0)+1/rho^2)^(1/2)

    (17)

    (This method works only if rho <> infinity; i.e., only with curvature/bending moment at the free end.)

    Continuing now without bending momenteval(diff(varphi(s), s) = (-2*C*sin(varphi(s))+2*C*sin(varphi__0)+1/rho^2)^(1/2), rho = infinity)

    diff(varphi(s), s) = (-2*C*sin(varphi(s))+2*C*sin(varphi__0))^(1/2)

    (18)

    #2 integrating the inverse function

    With the chain rule

    (diff(`&varphi;`(t), t))*(diff(t(`&varphi;`), `&varphi;`)) = 1

    (diff(varphi(t), t))*(diff(t(varphi), varphi)) = 1

    (19)

    isolate((diff(varphi(t), t))*(diff(t(varphi), varphi)) = 1, diff(`&varphi;`(t), t))

    diff(varphi(t), t) = 1/(diff(t(varphi), varphi))

    (20)

    (15) can be written as

    isolate((diff(varphi(t), t) = 1/(diff(t(varphi), varphi)))*(1/(diff(varphi(t), t) = (2*C*cos(varphi(t))-2*C*cos(varphi__0))^(1/2))), diff(t(`&varphi;`), `&varphi;`)); subs(`&varphi;`(t) = `&varphi;`, %)

    diff(t(varphi), varphi) = 1/(2*C*cos(varphi)-2*C*cos(varphi__0))^(1/2)

    (21)

    where the functional notation `&varphi;`(t)was removed for integration

    map(Int, diff(t(varphi), varphi) = 1/(2*C*cos(varphi)-2*C*cos(varphi__0))^(1/2), `&varphi;` = 0 .. `&varphi;`(t), continuous); (`@`(value, lhs) = rhs)(%)

    -t(0)+t(varphi(t)) = Int(1/(2*C*cos(varphi)-2*C*cos(varphi__0))^(1/2), varphi = 0 .. varphi(t), continuous)

    (22)

    This relation allows to determine the time t = t(`&varphi;`(t)) the pendulum takes to swing to a certain angle `&varphi;` = `&varphi;`*t__.

    Similarly, with

    (diff(`&varphi;`(s), s))*(diff(s(`&varphi;`), `&varphi;`)) = 1

    (diff(varphi(s), s))*(diff(s(varphi), varphi)) = 1

    (23)

    isolate((diff(varphi(s), s))*(diff(s(varphi), varphi)) = 1, diff(`&varphi;`(s), s))

    diff(varphi(s), s) = 1/(diff(s(varphi), varphi))

    (24)

    (16) can be written as

    isolate((diff(varphi(s), s) = 1/(diff(s(varphi), varphi)))*(1/(diff(varphi(s), s) = (-2*C*sin(varphi(s))+2*C*sin(varphi__0))^(1/2))), diff(s(`&varphi;`), `&varphi;`))

    diff(s(varphi), varphi) = 1/(-2*C*sin(varphi(s))+2*C*sin(varphi__0))^(1/2)

    (25)

    and integrated over s

    map(int, diff(s(varphi), varphi) = 1/(-2*C*sin(varphi(s))+2*C*sin(varphi__0))^(1/2), `&varphi;` = 0 .. `&varphi;__s`, continuous)

    -s(0)+s(varphi__s) = int(1/(-2*C*sin(varphi(s))+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous)

    (26)

    This expression relates the arclength s to the slope `&varphi;__s` at the location s (i.e., `&varphi;`(s) = `&varphi;__s`). It is the inverse of what we intend to solve (i.e., `&varphi;` = `&varphi;`(s)) but it is essential to derive a solution. Unlike for the pendulum, an indexed symbol `#msub(mi("&varphi;",fontstyle = "normal"),mi("s"))`has been chosen to avoid formally correct but uncommon expressions like "t(`&varphi;`(t))."

    Special cases

    Oscillation period T

    When `&varphi;`*t__ = `&varphi;__0` the pendulum has swung a quater of the period. With
    t(0) = 0, `&varphi;`(t) = `&varphi;__0`, t(`&varphi;__0`) = (1/4)*T

    t(0) = 0, varphi(t) = varphi__0, t(varphi__0) = (1/4)*T

    (27)

    (22) becomes

    subs(t(0) = 0, varphi(t) = varphi__0, t(varphi__0) = (1/4)*T, -t(0)+t(varphi(t)) = Int(1/(2*C*cos(varphi)-2*C*cos(varphi__0))^(1/2), varphi = 0 .. varphi(t), continuous))

    (1/4)*T = Int(1/(2*C*cos(varphi)-2*C*cos(varphi__0))^(1/2), varphi = 0 .. varphi__0, continuous)

    (28)

    where `&varphi;`(t)was replaced in the integrant by `&varphi;` to create input that can be processes by the int command. After evaluation

    isolate(`assuming`([simplify(value((1/4)*T = Int(1/(2*C*cos(varphi)-2*C*cos(varphi__0))^(1/2), varphi = 0 .. varphi__0, continuous)))], [C > 0, 0 < `&varphi;__0` and `&varphi;__0` < Pi]), T)

    T = 4*2^(1/2)*InverseJacobiAM((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2))/(C^(1/2)*(1-cos(varphi__0))^(1/2))

    (29)

    where 1/am = InverseJacobiAM denotes the inverse Jacobian amplitude function.

    Expression for `&varphi;__0`
    Calculation of the length L in order to get an expression to determine the unknown slope `&varphi;__0` at the free end of the cantilever as a function of the load parameter C. With
    s(0) = 0, s(`&varphi;__s`) = L, `&varphi;__s` = `&varphi;__0`, `&varphi;`(s) = `&varphi;`

    s(0) = 0, s(varphi__s) = L, varphi__s = varphi__0, varphi(s) = varphi

    (30)

    (26) becomessubs(s(0) = 0, s(varphi__s) = L, varphi__s = varphi__0, varphi(s) = varphi, -s(0)+s(varphi__s) = int(1/(-2*C*sin(varphi(s))+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous))

    L = int(1/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__0, continuous)

    (31)

    where `&varphi;`(s)is replaced by `&varphi;` to create input that can be processes by the int command. After evaluation

    `assuming`([value(L = int(1/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__0, continuous))], [C > 0, 0 < `&varphi;__0` and `&varphi;__0` < (1/2)*Pi])

    L = EllipticK((1/2)*(2*sin(varphi__0)+2)^(1/2))/C^(1/2)-EllipticF(1/(sin(varphi__0)+1)^(1/2), (1/2)*(2*sin(varphi__0)+2)^(1/2))/C^(1/2)

    (32)

    where K = EllipticK and F = EllipticF denote the complete and incomplete elliptic integrals of the first kind.

    #3 Solutions of particular interest  

    Explicit solution for `&varphi;`(t) in bounded motion.
    Rearranging (22)

    `assuming`([simplify(2*C*(-t(0)+t(varphi(t)) = Int(1/(2*C*cos(varphi)-2*C*cos(varphi__0))^(1/2), varphi = 0 .. varphi(t), continuous)))], [C > 0])/(sqrt(C)*sqrt(2))

    -C^(1/2)*2^(1/2)*(t(0)-t(varphi(t))) = Int(1/(cos(varphi)-cos(varphi__0))^(1/2), varphi = 0 .. varphi(t), continuous)

    (33)

    and substituting this essential identity (expression 5.1.3 from Lawden [2])

    -cos(`&varphi;__0`)+cos(`&varphi;`) = 2*sin((1/2)*`&varphi;__0`)^2-2*sin((1/2)*`&varphi;`)^2

    cos(varphi)-cos(varphi__0) = 2*sin((1/2)*varphi__0)^2-2*sin((1/2)*varphi)^2

    (34)

    yields

    subs(cos(varphi)-cos(varphi__0) = 2*sin((1/2)*varphi__0)^2-2*sin((1/2)*varphi)^2, -C^(1/2)*2^(1/2)*(t(0)-t(varphi(t))) = Int(1/(cos(varphi)-cos(varphi__0))^(1/2), varphi = 0 .. varphi(t), continuous))

    -C^(1/2)*2^(1/2)*(t(0)-t(varphi(t))) = Int(1/(2*sin((1/2)*varphi__0)^2-2*sin((1/2)*varphi)^2)^(1/2), varphi = 0 .. varphi(t), continuous)

    (35)

    `assuming`([value(-C^(1/2)*2^(1/2)*(t(0)-t(varphi(t))) = Int(1/(2*sin((1/2)*varphi__0)^2-2*sin((1/2)*varphi)^2)^(1/2), varphi = 0 .. varphi(t), continuous))], [0 < `&varphi;__0` and `&varphi;__0` < Pi])

    -C^(1/2)*2^(1/2)*(t(0)-t(varphi(t))) = 2^(1/2)*InverseJacobiAM((1/2)*varphi(t), csc((1/2)*varphi__0))/sin((1/2)*varphi__0)

    (36)

    which simplifies further with

    t(0) = 0, t(`&varphi;`(t)) = t

    t(0) = 0, t(varphi(t)) = t

    (37)

    to

    subs(t(0) = 0, t(varphi(t)) = t, ((-C^(1/2)*2^(1/2)*(t(0)-t(varphi(t))) = 2^(1/2)*InverseJacobiAM((1/2)*varphi(t), csc((1/2)*varphi__0))/sin((1/2)*varphi__0))*(1/sqrt(2)))*sin((1/2)*`&varphi;__0`))

    sin((1/2)*varphi__0)*C^(1/2)*t = InverseJacobiAM((1/2)*varphi(t), csc((1/2)*varphi__0))

    (38)

    Mapping now sn = JacobiSN with the modulus csc((1/2)*`&varphi;__0`) to the expression above (Maple converts InverseJacobiAM to InverseJacobiSN and simplifies automatically)

    map(JacobiSN, sin((1/2)*varphi__0)*C^(1/2)*t = InverseJacobiAM((1/2)*varphi(t), csc((1/2)*varphi__0)), csc((1/2)*`&varphi;__0`))

    JacobiSN(sin((1/2)*varphi__0)*C^(1/2)*t, csc((1/2)*varphi__0)) = sin((1/2)*varphi(t))

    (39)

    the angle `&varphi;`as a function of time is obtained explicitly

    convert(isolate(JacobiSN(sin((1/2)*varphi__0)*C^(1/2)*t, csc((1/2)*varphi__0)) = sin((1/2)*varphi(t)), `&varphi;`(t)), sincos)

    varphi(t) = 2*arcsin(JacobiSN(sin((1/2)*varphi__0)*C^(1/2)*t, 1/sin((1/2)*varphi__0)))

    (40)

    Bending curve of the cantilever for a given load (i.e., for a given `&varphi;__0`, obtainable from (32)).

    To obtain a parametric form x(p), y(p)of the bending curve, the following two ODEs have to be integrated

    diff(x(s), s) = cos(`&varphi;`(s)), diff(y(s), s) = sin(`&varphi;`(s))

    diff(x(s), s) = cos(varphi(s)), diff(y(s), s) = sin(varphi(s))

    (41)

    Applying

    diff(x(s), s) = (diff(x(`&varphi;`), `&varphi;`))*(diff(`&varphi;`(s), s)), diff(y(s), s) = (diff(y(`&varphi;`), `&varphi;`))*(diff(`&varphi;`(s), s))

    diff(x(s), s) = (diff(x(varphi), varphi))*(diff(varphi(s), s)), diff(y(s), s) = (diff(y(varphi), varphi))*(diff(varphi(s), s))

    (42)

    in the following way to (41)

    subs({diff(x(s), s) = (diff(x(varphi), varphi))*(diff(varphi(s), s)), diff(y(s), s) = (diff(y(varphi), varphi))*(diff(varphi(s), s))}, diff(varphi(s), s) = 1/(diff(s(varphi), varphi)), {diff(x(s), s) = cos(varphi(s)), diff(y(s), s) = sin(varphi(s))})[]

    (diff(x(varphi), varphi))/(diff(s(varphi), varphi)) = cos(varphi(s)), (diff(y(varphi), varphi))/(diff(s(varphi), varphi)) = sin(varphi(s))

    (43)

    isolate(((diff(x(varphi), varphi))/(diff(s(varphi), varphi)) = cos(varphi(s)), (diff(y(varphi), varphi))/(diff(s(varphi), varphi)) = sin(varphi(s)))[1], diff(x(`&varphi;`), `&varphi;`)), isolate(((diff(x(varphi), varphi))/(diff(s(varphi), varphi)) = cos(varphi(s)), (diff(y(varphi), varphi))/(diff(s(varphi), varphi)) = sin(varphi(s)))[2], diff(y(`&varphi;`), `&varphi;`))

    diff(x(varphi), varphi) = cos(varphi(s))*(diff(s(varphi), varphi)), diff(y(varphi), varphi) = sin(varphi(s))*(diff(s(varphi), varphi))

    (44)

    yields two ODEs where x and y depend on the variable `&varphi;`(s). Substituting (25) and `&varphi;`(s) = `&varphi;` 

    subs(diff(s(varphi), varphi) = 1/(-2*C*sin(varphi(s))+2*C*sin(varphi__0))^(1/2), `&varphi;`(s) = `&varphi;`, [diff(x(varphi), varphi) = cos(varphi(s))*(diff(s(varphi), varphi)), diff(y(varphi), varphi) = sin(varphi(s))*(diff(s(varphi), varphi))])[]

    diff(x(varphi), varphi) = cos(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), diff(y(varphi), varphi) = sin(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2)

    (45)

    map(Int, (diff(x(varphi), varphi) = cos(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), diff(y(varphi), varphi) = sin(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2))[1], `&varphi;` = 0 .. `&varphi;__s`, continuous), map(Int, (diff(x(varphi), varphi) = cos(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), diff(y(varphi), varphi) = sin(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2))[2], `&varphi;` = 0 .. `&varphi;__s`, continuous)

    Int(diff(x(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(cos(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous), Int(diff(y(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(sin(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous)

    (46)

    results in a parametric solution with parameter `#mrow(mi("p"),mo("&equals;"),mi("\`&varphi;__s\`"))` where "0<= `&varphi;__s`<=`&varphi;__0`." 
    For the x coordinate

    subs(`assuming`([x(0) = 0, simplify(value((Int(diff(x(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(cos(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous), Int(diff(y(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(sin(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous))[1]))], [0 < `&varphi;` and `&varphi;` < (1/2)*Pi, C > 0]))

    x(varphi__s) = (2^(1/2)*sin(varphi__0)^(1/2)-(-2*sin(varphi__s)+2*sin(varphi__0))^(1/2))/C^(1/2)

    (47)

    For the y coordinate a long expression with the following structure

    subs(`assuming`([y(0) = 0, simplify(value((Int(diff(x(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(cos(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous), Int(diff(y(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(sin(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous))[2]), radical)], [0 < `&varphi;` and `&varphi;` < (1/2)*Pi, 0 < `&varphi;__0` and `&varphi;__0` < (1/2)*Pi, 0 < `&varphi;__s` and `&varphi;__s` < (1/2)*Pi, C > 0])); y(`&varphi;__s`) = (A__1*EllipticE(z__1, k)+A__2*EllipticF(z__1, k)+A__3*EllipticE(z__2, k)+A__4*EllipticF(z__2, k))/sqrt(C)

    y(varphi__s) = (A__1*EllipticE(z__1, k)+A__2*EllipticF(z__1, k)+A__3*EllipticE(z__2, k)+A__4*EllipticF(z__2, k))/C^(1/2)

    (48)

    is obtained where A__i = A__i(`&varphi;__s`, `&varphi;__0`), z__i = z__i(`&varphi;__s`, `&varphi;__0`) and k = k(`&varphi;__0`).

    NULL

    Not required in the above: To derive an explicit solution, Lawden performed a change of variable of this kind

    sin((1/2)*`&varphi;`) = sin((1/2)*`&varphi;__0`)*sin(u)

    sin((1/2)*varphi) = sin((1/2)*varphi__0)*sin(u)

    (49)

     

    which is not needed with Maple commands.

     

    Furthermore: Formally, it would have been nice to have the pendulum start its movement at t=0 at an angle -`&varphi;__0`. However, this leads to an output in (36) with two inverse elliptic functions where `&varphi;`(t) is difficult if not impossible to isolate.

     

    Solution for the free end of the cantilever (i.e., `&varphi;__s` = `&varphi;__0`and s = L)

    subs(x(0) = 0, `&varphi;__s` = `&varphi;__0`, x(`&varphi;__0`) = x(L), x(varphi__s) = (2^(1/2)*sin(varphi__0)^(1/2)-(-2*sin(varphi__s)+2*sin(varphi__0))^(1/2))/C^(1/2))

    x(L) = 2^(1/2)*sin(varphi__0)^(1/2)/C^(1/2)

    (50)

    subs(`assuming`([y(0) = 0, y(`&varphi;__0`) = y(L), simplify(value(subs(`&varphi;__s` = `&varphi;__0`, (Int(diff(x(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(cos(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous), Int(diff(y(varphi), varphi), varphi = 0 .. varphi__s, continuous) = Int(sin(varphi)/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__s, continuous))[2])))], [0 < `&varphi;` and `&varphi;` < (1/2)*Pi, 0 < `&varphi;__0` and `&varphi;__0` < (1/2)*Pi, 0 < `&varphi;__s` and `&varphi;__s` < (1/2)*Pi, C > 0]))

    y(L) = (EllipticK((1/2)*(2*sin(varphi__0)+2)^(1/2))-EllipticF(1/(sin(varphi__0)+1)^(1/2), (1/2)*2^(1/2)*(sin(varphi__0)+1)^(1/2))-2*EllipticE((1/2)*2^(1/2)*(sin(varphi__0)+1)^(1/2))+2*EllipticE(1/(sin(varphi__0)+1)^(1/2), (1/2)*2^(1/2)*(sin(varphi__0)+1)^(1/2)))/C^(1/2)

    (51)

    ``

    Some remarks

    NULL

    NULL

     

    Comparison to the solution from Lawden

    Expression (39) compared to sin((1/2)*theta(t)) = sin((1/2)*alpha)*sn(t+K, sin((1/2)*alpha))

    sin((1/2)*theta(t)) = sin((1/2)*alpha)*sn(t+K, sin((1/2)*alpha))

    (52)

    (pasted from DLMF 22.19.2 for the case C = 1). The same with adapted variables  subs(alpha = `&varphi;__0`, sn = JacobiSN, K = 0, theta(t) = `&varphi;__t`, sin((1/2)*theta(t)) = sin((1/2)*alpha)*sn(t+K, sin((1/2)*alpha)))

    sin((1/2)*varphi__t) = sin((1/2)*varphi__0)*JacobiSN(t, sin((1/2)*varphi__0))

    (53)

    Now equating the left hand side of (39) to JacobiSN(z, k)and identifying the parameters z and k

    subs(C = 1, lhs(JacobiSN(sin((1/2)*varphi__0)*C^(1/2)*t, csc((1/2)*varphi__0)) = sin((1/2)*varphi(t)))) = JacobiSN(z, k)

    JacobiSN(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = JacobiSN(z, k)

    (54)

    map(op, JacobiSN(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = JacobiSN(z, k)); solve([(rhs-lhs)(%)], {k, z})[]

    k = csc((1/2)*varphi__0), z = sin((1/2)*varphi__0)*t

    (55)

    Using the following identity from Maple's FunctionAdvisor and the correspondence in (55)

    FunctionAdvisor(identities, JacobiSN(z, 1/k))[5]

    JacobiSN(z, k) = JacobiSN(z*k, 1/k)/k

    (56)

    yields

    convert(subs(k = csc((1/2)*varphi__0), z = sin((1/2)*varphi__0)*t, JacobiSN(z, k) = JacobiSN(z*k, 1/k)/k), sincos)

    JacobiSN(sin((1/2)*varphi__0)*t, 1/sin((1/2)*varphi__0)) = sin((1/2)*varphi__0)*JacobiSN(t, sin((1/2)*varphi__0))

    (57)

    Comparing this with (53) confirms that (40) is correct.

    Equivalent expressions to determine `&varphi;__0` 

    As returned by value:

    normal(L = EllipticK((1/2)*(2*sin(varphi__0)+2)^(1/2))/C^(1/2)-EllipticF(1/(sin(varphi__0)+1)^(1/2), (1/2)*(2*sin(varphi__0)+2)^(1/2))/C^(1/2))

    L = (EllipticK((1/2)*(2*sin(varphi__0)+2)^(1/2))-EllipticF(1/(sin(varphi__0)+1)^(1/2), (1/2)*(2*sin(varphi__0)+2)^(1/2)))/C^(1/2)

    (58)

    simplify instead of value:

    convert(`assuming`([simplify(L = int(1/(-2*C*sin(varphi)+2*C*sin(varphi__0))^(1/2), varphi = 0 .. varphi__0, continuous))], [0 < `&varphi;__0` and `&varphi;__0` < (1/2)*Pi]), sincos)

    L = -I*2^(1/2)*EllipticF(I*sin(varphi__0)^(1/2)/(1-sin(varphi__0))^(1/2), I*(1-sin(varphi__0))^(1/2)/(sin(varphi__0)+1)^(1/2))/(C^(1/2)*(sin(varphi__0)+1)^(1/2))

    (59)

    With integration tools and change of variables using x = sin(`&varphi;`):

    Int(1/sqrt(-2*C*sin(`&varphi;`)+2*C*sin(`&varphi;__0`)), `&varphi;` = 0 .. `&varphi;__0`); L = IntegrationTools:-Change(%, x = sin(`&varphi;`), x); simplify(subs(isolate(x__0 = sin(`&varphi;__0`), `&varphi;__0`), %)); subs(x__0 = sin(`&varphi;__0`), `assuming`([value(%)], [0 < x and x < 1, 0 < x__0 and x__0 < 1]))

    L = 2^(1/2)*EllipticF(sin(varphi__0)^(1/2)/(sin(varphi__0)+1)^(1/2), I*(-sin(varphi__0)^2+1)^(1/2)/(-1+sin(varphi__0)))/(C^(1/2)*(1-sin(varphi__0))^(1/2))

    (60)

    Without having a Maple way: Christian Wolinski has provided 3 additional expressions where one is of particular simplicity [6]

      L = EllipticF(sqrt(1-1/(sin(`&varphi;__0`)+1))*sqrt(2), (1/2)*sqrt(2)*sqrt(sin(`&varphi;__0`)+1))/sqrt(C)

    L = EllipticF((1-1/(sin(varphi__0)+1))^(1/2)*2^(1/2), (1/2)*2^(1/2)*(sin(varphi__0)+1)^(1/2))/C^(1/2)

    (61)