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
  • Correct computatiton for

    for reasonable expressions f(x,y), g(x,y) would be very useful in double integrals.

    For the moment this is not possible. Too many bugs:

    int(Heaviside(1-x^2-y^2), x=-infinity..infinity, y=-infinity..infinity); #should be Pi
    int(Heaviside(1-x^2-y^2), x=-1..1, y=-1..1); #should be Pi
    int(Heaviside(y-x^2), x=-1..1, y=-1..1); #should be 4/3

    int(Heaviside(y-x^2), y=-1..1, x=-1..1); #This one is OK!





    restart; with(Statistics):
    X := RandomVariable(Normal(0, 1)): Y := RandomVariable(Uniform(-2, 2)):
    Probability(X*Y < 0);

    crashes my comp in approximately 600 s. Mma produces 1/2 on my comp in 0.078125 s.

    Let us consider

    X1 := RandomVariable(Normal(0, 1)):
    X2 := RandomVariable(Normal(0, 1)):
    X3 := RandomVariable(Uniform(0, 1)): 
    X4 := RandomVariable(Uniform(0, 1)):
    Z := max(X1, X2, X3, X4); CDF(Z, t);
    int((1/2)*(_t0*Heaviside(_t0-1)-_t0*Heaviside(_t0)-Heaviside(1-_t0)*Heaviside(-_t0)+Heaviside(-_t0)+Heaviside(1-_t0)-1)*(1+erf((1/2)*_t0*2^(1/2)))*(2^(1/2)*Heaviside(_t0-1)*exp(-(1/2)*_t0^2)*_t0-2^(1/2)*Heaviside(_t0)*exp(-(1/2)*_t0^2)*_t0-2^(1/2)*Heaviside(-_t0)*Heaviside(1-_t0)*exp(-(1/2)*_t0^2)-Pi^(1/2)*undefined*erf((1/2)*_t0*2^(1/2))*Dirac(_t0)-Pi^(1/2)*undefined*erf((1/2)*_t0*2^(1/2))*Dirac(_t0-1)+2^(1/2)*Heaviside(-_t0)*exp(-(1/2)*_t0^2)+2^(1/2)*Heaviside(1-_t0)*exp(-(1/2)*_t0^2)-Pi^(1/2)*undefined*Dirac(_t0)-Pi^(1/2)*undefined*Dirac(_t0-1)+Pi^(1/2)*Heaviside(_t0-1)*erf((1/2)*_t0*2^(1/2))-Pi^(1/2)*Heaviside(_t0)*erf((1/2)*_t0*2^(1/2))-exp(-(1/2)*_t0^2)*2^(1/2)+Pi^(1/2)*Heaviside(_t0-1)-Pi^(1/2)*Heaviside(_t0))/Pi^(1/2), _t0 = -infinity .. t)

    whereas Mma 11 produces the correct piecewise expression (see that here screen15.11.16.docx).

    Edit. Mma output.

    Let us consider 

    J := int(x^n/sqrt(1+x^n), x = 0 .. 1) assuming n > 0;
    2*(2^(1/2)-hypergeom([1/2, 1/n], [(n+1)/n], -1))/(2+n)

    Mma 11 finds the limit is zero. Hope one feels the difference.

    Hi MaplePrimes,

    This YouTube video has a nice puzzle. 

    It is titled "Can you solve the locker riddle". 
    My first blush was to consider modular arithmatic

    Here is a maple page -


    Have a very fine rest of the day.



    limit((x^2-1)*sin(1/(x-1)), x = infinity, complex);
    MultiSeries:-limit((x^2-1)*sin(1/(x-1)), x = infinity, complex);

    whereas the same outputs are expected. The help does not shed light on the problem. Here are few pearls:

    • infinity is used to denote a mathematical infinity, and hence it is usually used as a symbol by itself or as -infinity.
    • The quantities infinity, -infinity, infinity*I, -infinity*I, infinity + y*I, -infinity + y*I, x + infinity*I and x - infinity*I, where x and y are finite, are all considered to be distinct in Maple. However, all 2-component complex numerics in which both components are infinity are considered to be the same (representing the single point at the "north pole" of the Riemann sphere).
    • The type cx_infinity can be used to recognize this "north pole" infinity.

    This MaplePrimes guest blog post is from Dr. James Smith, an Assistant Lecturer in the Electrical Engineering and Computer Science Department of York University’s Lassonde School of Engineering. His team has been working with Maplesim to improve the design of assistive devices.

    As we go through our everyday lives, we rarely give much thought to the complex motions and movements our bodies go through on a regular basis. Motions and movements that seem so simple on the surface require more strength and coordination to execute than we realize. And these are made far more difficult as we age or when our health is in decline. So what can be done to assist us with these functions?

    In recent years, my research team and I have been working on developing more practical and streamlined devices to assist humans with everyday movements, such as standing and sitting. Our objective was to determine if energy could be regenerated in prosthetic devices during these movements, similar to the way in which hybrid electric vehicles recover waste heat from braking and convert it into useable energy.

    People use – and potentially generate – more energy than they realize in carrying out common, everyday movements. Our research for this project focused on the leg joints, and investigated which of the three joints (ankle, knee or hip) was able to regenerate the most energy throughout a sitting or standing motion. We were confident that determining this would lead to the development of more efficient locomotive devices for people suffering from diseases or disabilities affecting the muscles around these joints.

    In order to identify the point at which regenerative power is at its peak, we determined that MapleSim was the best tool to help us gather the desired data. We took biomechanical data from actual human trials and applied them to a robotic model that mimics human movements when transitioning between sitting and standing positions. We created models to measure unique movements and energy consumption at each joint throughout the identified movements to determine where the greatest regeneration occurred.

    To successfully carry out our research, it was essential that we were able to model the complex chemical reactions that occur within the battery needed to power the assistive device. It is a challenge finding this feature in many engineering software programs and MapleSim’s battery modeling library saved our team a great deal of time and effort during the process, as we were able to use an existing MapleSim model and simply make adjustments to fit our project.

    Using MapleSim, we developed a simplified model of the human leg with a foot firmly planted on the ground, followed by a more complex model with a realistic human foot that could be raised off the ground. The first model was used to create a simplified model-based motion controller that was then applied to the second model. The human trials we conducted produced the necessary data for input into a multi-domain MapleSim model that was used to accurately simulate the necessary motions to properly analyze battery autonomy.

    The findings that resulted from our research have useful and substantial applications for prostheses and orthoses designs. If one is able to determine the most efficient battery autonomy, operation of these assistive devices can be prolonged, and smaller, lighter batteries can be used to power them. Ultimately, our simulations and the resulting data create the possibility of more efficient devices that can reduce joint loads during standing to sitting processes, and vice versa.

    Let us consider 

    MmaTranslator:-FromMma(" Table[0,{n=10},{m=2}]");
    [seq([seq(0,i=1..(m := 2))],j=1..(n := 10))]

    The above result is syntactically incorrect in Maple language. The translation should be 

    [seq([seq(0,i=1.. 2)],j=1..10)]

    up to the Mmma's result

    Table[0, {n = 10}, {m = 2}]
    {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0,0}, {0, 0}}

    Another bug is as follows.


    whereas the expected result is piecewise(x=0,1,sin(x)/x) up to

    In general, the MmaTranslator package is outdated. It often returns working Mma's commands as incorrect (Concrete examples are long and need a context. These may be exposed on demand.). The question arises about the quality of other Maple translations. 

    The command

    plots:-implicitplot(evalc(argument((1+x+I*y)/(1-x-I*y))) <= (1/4)*Pi, x = -5 .. 5, y = -5 .. 5, crossingrefine = 1, gridrefine = 2, rational = true, filled, signchange = true, resolution = 1000);

    produces an incorrect result

    in view of


    There is a workaround 

    plots:-inequal(evalc(argument((1+x+I*y)/(1-x-I*y))) <= (1/4)*Pi, x = -5 .. 5, y = -5 .. 5);


    The command 

    restart; st := time(): FunctionAdvisor(EllipticE); time()-st;

    produces the result on my comp in 805.484 s. Too much time.

    The command

    J := int(sin(x)/(x*(1-2*a*cos(x)+a^2)), x = 0 .. infinity)assuming a::real,a^2 <>0;


    (infinity*I)*signum(a^3*(Sum(a^_k1, _k1 = 0 .. infinity))-a^2*(Sum(a^_k1, _k1 = 0 .. infinity))-a*(Sum(a^(-_k1), _k1 = 0 .. infinity))+a^2+Sum(a^(-_k1), _k1 = 0 .. infinity)+a)

    which is wrong in view of 

    evalf(eval(J, a = 1/2));
                           Float(undefined) I

    The correct answer is Pi/(4*a)*(abs((1+a)/(1-a))-1) according to G&R 3.792.6. Numeric calculations confirm it.

    Both the commands 

    maximize(x*sin(t)+y*sin(2*t), t = 0 .. 2*Pi)assuming x>=0,y>=0;
    minimize(x*sin(t)+y*sin(2*t), t = 0 .. 2*Pi)assuming x>=0,y>=0;

    output 0. Simply no words.

    The following three commands 

    plots:-implicitplot(3*cos(x) = tan(y)^3, x = -Pi .. Pi, y = -(1/2)*Pi-1 .. (1/2)*Pi+1, thickness = 3, crossingrefine = 1, rational = true, signchange = true, resolution = 1000, gridrefine = 2);
    plots:-implicitplot(3*cos(x) = tan(y)^3, x = -Pi .. Pi, y = -(1/2)*Pi-1 .. (1/2)*Pi+1, thickness = 3, crossingrefine = 1, rational = true, signchange = false, resolution = 1000, gridrefine = 2);
    plots:-implicitplot(3*cos(x) = tan(y)^3, x = -Pi .. Pi, y = -(1/2)*Pi-1 .. (1/2)*Pi+1, thickness = 3, crossingrefine = 1, rational = true, resolution = 1000, gridrefine = 2);

    produce the same incorrect plot 

    It is clear the sraight lines given by y=Pi/2 and y=-Pi/2 are superfluous. It should be noticed that the Mmma's ContourPlot command without any options produces a correct plot.

    Up to


    If the solve command does not find any solutions, then if the second argument is a name or set of names, then the empty sequence (NULL) is returned; if the second argument is a list, then the empty list is returned. This means that there are no solutions, or the solve command cannot find the solutions. In the second case, a warning is issued, and the global variable_SolutionsMayBeLost is set to true.

     Let us consider 

    solve({x > -Pi, (tan(x)-tan(x)^2)^2-cos(x+4*tan(x)) = -1, x < Pi}, [x]);

    We see the command omits the solution x=0 without any warning. It should be noticed that Mathematica solves it, outputting

    {{x -> 0}, {x -> 0}}

    and the warning

    Solve::incs: Warning: Solve was unable to prove that the solution set found is complete.

    One may draw a conclusion on her/his own.


    From October 19-21, the third installment of the Maple T.A. and Möbius User Summit took place. Making the move back to Europe this year, the three-day conference was held at the beautiful Vienna University of Technology in the heart of Vienna, Austria. The scope of this year’s event expanded to include Maplesoft’s newest product, Möbius, an online courseware environment, which is designed to help academic institutions move their STEM courses online.

    This year’s Summit brought together participants from 20 countries, including Australia, the Czech Republic, Poland, China, Norway, India, Egypt, Japan, the Netherlands, and many others. Needless to say, there is great interest in learning more about how Maple T.A. and Möbius can play a role in shaping the educational landscape.

    Video recordings of each presentation will be made public soon, so keep an eye out for them!

    Conference attendees take in the sights on the veranda at TU Wien

    Getting Down to Business

    Presentations were divided into 5 overarching themes as they relate to Maple T.A. and Möbius: Shaping Curriculum; Content Creation; Experiences Using Möbius; Integrating with your Technology; and The Future of Online Education. Presentations were given by representatives from schools across Europe, including DTU (Denmark), TH Köln (Germany), Imperial College of London and University of Birmingham (UK), Vienna UT (Austria), KTH Royal Institute of Technology (Sweden), Université de Lausanne (Switzerland), and others.

    Many talks showcased the impressive versatility of Maple T.A. as a online assessment system, and Möbius to have practical applications in all STEM subjects, from Nuclear Engineering to Operations Management and many subjects in between.

    Perhaps the discussion that gave Maplesoft the most feedback was led by Steve Furino from the University of Waterloo, who divided attendees up into groups to formulate a wish list of what they’d like to see in a courseware authoring environment. The list had over 40 items.

    Linda Simonsen, Country Manager in the Nordic, records a group’s wish list

    Notable Quotables

    Many thought-provoking statements and questions were posed, but the following few stood out above the rest:

    • “Wouldn’t it be wonderful if you could take the best course from the best instructor anywhere in the world?”
    • “With Maple T.A., we can divert resources away from grading and over to tutoring.”
    • “Möbius rescued us!”

    Get the party started!

    While each day was full of invigorating conference discussions, evenings provided ample opportunity to ditch the suit jacket and tie, and enjoy the lively Austrian atmosphere. The first evening at the Zwölf Apostelkeller was the perfect venue to break the ice while satisfying those taste buds longing for some traditional Viennese cuisine. Once Schnitzel, Käsespätzle (a delicious German version of Mac and Cheese), Strudel, Kaiserschmarren (shredded pancake), and a glass or two of wine hit the table, people soon forgot about the pouring rain outside.

    The evening reception took place 3-4 levels under ground

    Michael Pisapia, VP of Europe, serves digestifs to guests

    It would have been hard to top the social in the Apostelkeller, but the next evening sure tried.

    Day 2 finished with an impressive formal dining experience at the historic Gerstner Beletage in the Palace Todesco, built in 1864 and situated directly across from the Vienna State Opera House. The 500-room palace was home to Eduard Freiherr von Todesco, a well-known Viennese banker.

    View from the palace of the Vienna State Opera House

    Jonny Zivku, Maple T.A. Product Manager, gives opening remarks at the Gerstner Beletage im Palais Todesco

    Jonathan Watkins from the University of Birmingham and Michael Pisapia - both dressed to impress

    The skies finally cleared enough to take some photos, but only after most people had gone home. Thankfully Aron Pasieka, Möbius Project Manager, was still around to get some great shots of the city. Enjoy!

    Before the skies cleared vs. after the skies cleared

    From beginning to end, the entire Summit was very well received by everyone who attended.

    We would be remiss if we did not thank our incredible hosts at the Vienna University of Technology. Stefanie Winkler, Professor Andreas Körner, and Professor Felix Breitenecker were beyond helpful in bringing many of the finer details together, as well as helping many people overcome the language barrier.

    We can’t wait to do it all again in London, England in 2017, and hope to see just as many new faces as familiar ones.


    Photo credits: A. Pasieka, A. French, H. Zunic, J. Cooper


    Update: The conference presentation recordings are now available here on our website.

    3 4 5 6 7 8 9 Last Page 5 of 248