Personal Stories

Stories about how you have used Maple, MapleSim and Math in your life or work.

Hi to all,

Dr. Lopez's "Advanced Engineering Mathematics with Maple" is just excellent... I strongly advise...

That book is my most favorite and Dr. Lopez is my favorite teacher :)

 

As a student I came across an amazing lab experimentA T-type structure with two masses attached to it showed a sudden change in oscillation mode.  

 

With MapleSim I was able to reproduce the experiment.

At the time I was told that this perplexing phenome happens because there are always imperfections. 

 

Today we would probably say that the symmetry has to be broken. The attached example has two parameter sets that a) break symmetry of boundary conditions and b) by structural asymmetry (i.e imperfection). Asymmetry in the initial conditions should also be possible (but I could make work with flexible beams). 

Compared to coupled oscillators that exchange energy via a coupling spring, this example exchanges energy via masses. In fact in its simplest implementation only one mass and two elastic structures are required for this type of mode coupling. MapleSim multibody library offers plenty of possibilities to demonstrate thisFlexible beams are not required. However, flexible beams show mode coupling beautifully and allow a simple reproduction in real life. For that the worksheet contains a parameter set to build a real model with steel wires. Tuning by adjusting the length of the vertical post is required since nonlinearities already shift frequencies in the model. 

 

I would be interested in other cool examples of mode coupling. I am also interested in solutions for flexible beams that impose asymmetry in the initial conditions. To keep it realistic at the start, the T should be bend as one would bend it with a fingertip in x direction. It would be even more realistic if the arms are flexed by gravity with zero velocity at the start of the simulation. How can this be done? 

 

Flexible_beam_mode_coupling.msim

Dear all,

Recently I discovered the noncommuting variables in the Physics package due to Edgardo Cheb-Terrab; doubtless there are many posts here on Maple Primes describing them.  Here is one more, which shows how to use this package to prove the Schur complement formula.

https://maple.cloud/app/6080387763929088/Schur+Complement+Proof+in+Maple

I guess I have a newbie's question: how well-integrated are Maple Primes and the Maple Cloud?  Anyway that seemed the easiest way to share this.

-r

 

Dear all,

Recently we learned that the idea of "anti-secularity" in perturbation methods was known to Mathieu already by 1868, predating Lindstedt by several years.  The Maple worksheet linked below recapitulates Mathieu's computations:

https://github.com/rcorless/MathieuPerturbationMethod

Nic Fillion and I wrote a more general introduction to perturbation methods using Maple and you can find that paper at 

https://arxiv.org/abs/1609.01321

and the supporting Maple code in a workbook at 

https://github.com/rcorless/Perturbation-Methods-in-Maple

For instance, one of the problems solved is the lengthening pendulum and when we do so taking proper account of anti-secularity (we use renormalization for that one, I seem to remember) we get an error curve that is bounded over time.

 

 

Hope that some of you find this useful.

Hi everyone! It's been a remarkably long time since I posted on MaplePrimes -- I should probably briefly reintroduce myself to the community here. My name is Erik Postma. I manage the mathematical software group at Maplesoft: the team that writes most of the Maple-language code in the Maple product, also known as the math library. You can find a longer introduction at this link.

One of my tasks at Maplesoft is the following. When a request for tech support comes in, our tech support team can usually answer the request by themselves. But no single person can know everything, and when specialized knowledge of Maple's mathematical library is needed, they ask my team for help. I screen such requests, answer what I can by myself, and send the even more specialized requests to the experts responsible for the appropriate part of the library.

Yesterday I received a request from a user asking how to unwrap angles occurring in an expression. This is the general idea of taking the fact that sin(phi) = 'sin'(phi + 2*Pi), and similarly for the other trig functions; and using it to modify an expression of the form sin(phi) to make it look "nicer" by adding or subtracting a multiple of 2*Pi to the angle. For a constant, real value of phi you would simply make the result be as close to 0 as possible; this is discussed in e.g. this MaplePrimes question, but the expressions that this user was interested in had arguments for the trig functions that involved variables, too.

In such cases, the easiest solution is usually to write a small piece of custom code that the user can use. You might think that we should just add all these bits and pieces to the Maple product, so that everyone can use them -- but there are several reasons why that's not usually a good idea:

  • Such code is often too specialized for general use.
  • Sometimes it is reliable enough to use if we can communicate a particular caveat to the user -- "this will not work if condition XYZ occurs" -- but if it's part of the Maple library, an unsuspecting user might try it under condition XYZ and maybe get a wrong answer.
  • This type of code code generally doesn't undergo the careful interface design, the testing process, and the documentation effort that we apply to the code that we ship as part of the product; to bring it up to the standards required for shipping it as part of Maple might increase the time spent from, say, 15 minutes, to several days.

That said, I thought this case was interesting enough to post on MaplePrimes, so that the community can take a look - maybe there is something here that can help you with your own code.

So here is the concrete question from the user. They have expressions coming from an inverse Laplace transform, such as:

with(inttrans):
F := -0.3000*(-1 + exp(-s))*s/(0.0500*s^2 + 0.1*s + 125);
f := invlaplace(F, s, t)*u(t);
# result: (.1680672269e-1*exp(1.-1.*t)*Heaviside(t-1.)*(7.141428429*sin(49.98999900*t-
#         49.98999900)-357.*cos(49.98999900*t-49.98999900))+.1680672269e-1*(-7.141428429*sin
#         (49.98999900*t)+357.*cos(49.98999900*t))*exp(-1.*t))*u(t)

I interpreted their request for unwrapping these angles as replacing the expressions of the form sin(c1 * t + c0) with versions where the constant term was unwrapped. Thinking a bit about how to be safe if unexpected expressions show up, I came up with the following solution:

unwrap_trig_functions := module()
local ModuleApply := proc(expr :: algebraic, $)
  return evalindets(expr, ':-trig', process_trig);
end proc;

local process_trig := proc(expr :: trig, $)
  local terms := convert(op(expr), ':-list', ':-`+`');
  local const, nonconst;
  const, nonconst := selectremove(type, terms, ':-complexcons');
  const := add(const);
  local result := add(nonconst) + (
    if is(const = 0) then
      0;
    else
      const := evalf(const);
      if type(const, ':-float') then
        frem(const, 2.*Pi);
      else
        frem(Re(const), 2.*Pi) + I*Im(const);
      end if;
    end if);
  return op(0, expr)(result);
end proc;
end module;

# To use this, with f defined as above:
f2 := unwrap_trig_functions(f);
# result: (.1680672269e-1*exp(1.-1.*t)*Heaviside(t-1.)*(7.141428429*sin(49.98999900*t+
#         .27548346)-357.*cos(49.98999900*t+.27548346))+.1680672269e-1*(-7.141428429*sin(
#         49.98999900*t)+357.*cos(49.98999900*t))*exp(-1.*t))*u(t)

Exercise for the reader, in case you expect to encounter very large constant terms: replace the calls to frem above with the code that Alec Mihailovs wrote in the question linked above!

HI Maple Primes people and other interested parties,

I was a teacher for more that ten years.  Most of my teaching was at community college level.

Although I am not a biological father, my extended family is important to me.

I graduated from university two times with special diplomas.  The next two years (99 to 01) were hectic for me.  After that I went to see about females, and now I am in the happily married club.

I'm glad I kept my Maple 13 student version software because like my father, I like to make computer code.

0_2_20_tuple_to_share.pdf

Mathematical truth will outlast the stars in the sky.  but government and good behavior will always kick the ass of any expression.

Consider this 

 

Regards

 

Matt

 

CMRB is defined below. See http://mathworld.wolfram.com/MRBConstant.html.

 

 

Starting by using Maple on the Inverse Symbolic Calculator, with over 21 years of research and ideas from users like you, I developed this shortlist of formulas for the MRB constant.

  • CMRB=