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 have polished up findings with custom components to share it here:

    Optimized code generated with Maple’s codegen package cannot be used in the same way as it was possible with older versions of MapleSim’s Custom Component Template.

    Intermediate variables `tx` (where x is an integer) of the optimized code are interpreted as physical parameters in the current template version and not as variables. This makes sense and is more consistent with MapleSim’s definition of variables and parameters, but leads to errors in MapleSim.

    The attached model shows how optimized code can be generated for the current template and compares an older, still working (!) template with the new one.

    The attached worksheet contains commands to programmatically generate optimized code for the current Custom Component Template.

    CustomComponentTemplates_comparision.msim

    Optimized_code_for_custom_component_template.mw

    Have you ever wondered about the people behind the scenes at Maplesoft? What about the students who help design the products?

    This week, we thought we’d introduce ourselves. We are some of the co-op students at Maplesoft, who in between studying believe that Math Matters.

    I’ll go first. My name is Pleiades, I’m 21 and my pronouns are they/them. I am a product management intern at Maplesoft, working with Maple Learn and Maple Calculator. I'm not a math student, but my favorite thing about math is how expressive its language is. Mathematical equations and symbols can be used to express incredibly complex ideas, and even if you don't understand the sense, you can still read the "words". My favorite thing about working for Maplesoft is the flexibility. I have many different types of tasks, and I’m able to learn so many different things.

    Keep reading, and find out more about my fellow students below!

    Quality Assurance:

    Hello, my name is Matilda (she/her)! I am 19 years old, studying physics and astronomy at the University of Waterloo. I am part of the QA team here at Maplesoft, working as a quality assurance analyst co-op. I find math fascinating as it is a broad field that can be challenging, but also invokes a lot of creativity. As I am a new addition at Maplesoft, I am excited to work with the various Maple products.  I am looking forward to meeting new students and individuals, and to help grow not only myself but the company further. 

     

    My name is Kat, I’m 20 and my pronouns are she/her. In my spare time, I enjoy reading and rock climbing. I am a QA analyst at Maplesoft, mostly working on Maple 2023. I am a student at UW studying mathematical physics and I would like to also minor in astronomy/astrophysics. My favorite thing about math is the objectivity of it, how there is a set structure and logical solution to any problem. I especially like calculus and trigonometry. I’m excited to be at Maplesoft because I will be learning everything about Maple from the inside perspective, which is used in many 300 and 400-level applied math courses that I will be taking at UW. I also really like the office environment and my coworkers.

     

    Development:

    Hey, my name is Paul C, I am 22 years old, and I am working as a Web and Mobile developer with Steve Metzger for the next 4 months. At the University of Waterloo, I study Mathematical Physics, though, I love the Computational Mathematics courses I’ve taken at UWaterloo. As for the world of Mathematics, I have always been fond of how everything can be thoroughly proven through basic arguments and logic. I am very excited to be working at Maplesoft, as I have for a long time been intrigued as to how Maple, Symbolab, and WolframAlpha function. So, this position is finally giving me the opportunity to truly explore how such software is developed.

    Sales:

    My name is Robin, I’m 21 years old and my pronouns are he/him. I am currently working as a Business Operations Analyst at Maplesoft, working with the sales department. I am a candidate of Bachelors of Business Administration at Wilfrid Laurier University with a minor in Economics and a specialization in Finance. My favorite thing about math is how it is present everywhere. Numbers help us understand world and Math helps us understand the number. My favorite part about working at Maplesoft is the extremely positive culture that we work in. Rather than competing with other people in the department, sales team has a very healthy approach towards work and are always there to help out each other.

     

    Content Creation:

    My name is Nikolas (he/him), I’m 20 years old and I’m an undergraduate physics student at the University of Waterloo. I’m part of the math content team at Maplesoft, focussing on creating new content for Maple Learn. The thing I like most about math is that while it may be a very objective discipline, it still involves an incredible amount of creativity. My favourite part of working at Maplesoft is the chance to share what I’ve learned about physics and math through Maple Learn content.

    Good morning, afternoon, or evening!  I'm Miles (age 23, he/him), and I'm a UW mathematics student majoring in combinatorics and optimization and minoring in biology.  This term at Maplesoft, I work in content development for Maple Learn, which involves creating examples for the Maple Learn Document Gallery, working on special requests for users, and more.  My favorite thing about math is the fact that it is the analytical backbone of so many other areas of research.  You may think of biological research as performing experiments or medical trials, but behind the scenes, data entry and analysis are key to finding valuable conclusions and discoveries.  Biology is my particular favorite, of course, but there are countless fields of study with these mathematical aspects.

    I'm looking forward to expanding my skillset and repertoire of tasks at Maplesoft.  This is my second term working here; last term I got my bearings as a content developer and am looking forward to so much more.  More advanced documents and workshops/presentations are on the horizon! :D


     

    New display of arbitrary constants and functions

     

    When using computer algebra, first we want results. Right. And textbook-like typesetting was not fully developed 20+ years ago. So, in the name of getting those results, people somehow got used to the idea of "give up textbook-quality computer algebra display". But computers keep evolving, and nowadays textbook typesetting is fully developed, so we have better typesetting in place. For example, consider this differential equation:

     

    Download New_arbitrary_constants_and_functions.mw

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

    Problem statement:
    Determine the relativistic uniformly accelerated motion, i.e. the rectilinear motion for which the acceleration w in the proper reference frame (at each instant of time) remains constant.

    As an application of the post presented by Dr Cheb Terrab in MaplePrimes on the principle of relativity ( found here ), we solve the problem stated on page 24 of Landau & Lifshitz book [1], which makes use of the relativistic invariant condition of the constancy of a four-scalar, viz., `w__μ`*w^mu where w^mu is the four-acceleration. This little problem exemplify beautifully how to use invariance in relativity. This is the so-called hyperbolic motion and we explain why at the end of this worksheet.

    NULL

    let's introduce the coordinate system, X = (x, y, z, tau)with tau = c*t 

    with(Physics)

    Setup(coordinates = [X = (x, y, z, tau)])

    [coordinatesystems = {X}]

    (1)

    %d_(s)^2 = g_[lineelement]

    %d_(s)^2 = -Physics:-d_(x)^2-Physics:-d_(y)^2-Physics:-d_(z)^2+Physics:-d_(tau)^2

    (2)

    NULL

    Four-velocity

     

    The four-velocity is defined by  u^mu = dx^mu/ds and dx^mu/ds = dx^mu/(c*sqrt(1-v^2/c^2)*dt) 

    Define this quantity as a tensor.

    Define(u[mu], quiet)

    The four velocity can therefore be computing using

    u[`~mu`] = d_(X[`~mu`])/%d_(s(tau))

    u[`~mu`] = Physics:-d_(Physics:-SpaceTimeVector[`~mu`](X))/%d_(s(tau))

    (1.1)

    NULL

    As to the interval d(s(tau)), it is easily obtained from (2) . See Equation (4.1.5)  here with d(diff(tau(x), x)) = d(s(tau)) for in the moving reference frame we have that d(diff(x, x)) = d(diff(y(x), x)) and d(diff(y(x), x)) = d(diff(z(x), x)) and d(diff(z(x), x)) = 0.

     Thus, remembering that the velocity is a function of the time and hence of tau, set

    %d_(s(tau)) = d(tau)*sqrt(1-v(tau)^2/c^2)

    %d_(s(tau)) = Physics:-d_(tau)*(1-v(tau)^2/c^2)^(1/2)

    (1.2)

    subs(%d_(s(tau)) = Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2), u[`~mu`] = Physics[d_](Physics[SpaceTimeVector][`~mu`](X))/%d_(s(tau)))

    u[`~mu`] = Physics:-d_(Physics:-SpaceTimeVector[`~mu`](X))/(Physics:-d_(tau)*(1-v(tau)^2/c^2)^(1/2))

    (1.3)

    Rewriting the right-hand side in components,

    lhs(u[`~mu`] = Physics[d_](Physics[SpaceTimeVector][`~mu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))) = Library:-TensorComponents(rhs(u[`~mu`] = Physics[d_](Physics[SpaceTimeVector][`~mu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))))

    u[`~mu`] = [Physics:-d_(x)/(Physics:-d_(tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics:-d_(y)/(Physics:-d_(tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics:-d_(z)/(Physics:-d_(tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), 1/(-(v(tau)^2-c^2)/c^2)^(1/2)]

    (1.4)

    Next we introduce explicitly the 3D velocity components while remembering that the moving reference frame travels along the positive x-axis

    NULL

    simplify(u[`~mu`] = [Physics[d_](x)/(Physics[d_](tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics[d_](y)/(Physics[d_](tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics[d_](z)/(Physics[d_](tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), 1/(-(v(tau)^2-c^2)/c^2)^(1/2)], {d_(x)/d_(tau) = v(tau)/c, d_(y)/d_(tau) = 0, d_(z)/d_(tau) = 0}, {d_(x), d_(y), d_(z)})

    u[`~mu`] = [v(tau)/(c*((c^2-v(tau)^2)/c^2)^(1/2)), 0, 0, 1/(-(v(tau)^2-c^2)/c^2)^(1/2)]

    (1.5)

    Introduce now this explicit definition into the system

    Define(u[`~mu`] = [v(tau)/(c*((c^2-v(tau)^2)/c^2)^(1/2)), 0, 0, 1/(-(v(tau)^2-c^2)/c^2)^(1/2)])

    {Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-d_[mu], Physics:-g_[mu, nu], u[mu], w[`~mu`], w__o[`~mu`], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

    (1.6)

    NULL

    Computing the four-acceleration

     

    This quantity is defined by the second derivative w^mu = d^2*x^mu/ds^2 and d^2*x^mu/ds^2 = du^mu/ds and du^mu/ds = du^mu/(c*sqrt(1-v^2/c^2)*dt)

    Define this quantity as a tensor.

    Define(w[mu], quiet)

    Applying the definition just given,

    w[`~mu`] = d_(u[`~mu`])/%d_(s(tau))

    w[`~mu`] = Physics:-d_[nu](u[`~mu`], [X])*Physics:-d_(Physics:-SpaceTimeVector[`~nu`](X))/%d_(s(tau))

    (2.1)

    Substituting for d_(s(tau))from (1.2) above

    subs(%d_(s(tau)) = Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2), w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/%d_(s(tau)))

    w[`~mu`] = Physics:-d_[nu](u[`~mu`], [X])*Physics:-d_(Physics:-SpaceTimeVector[`~nu`](X))/(Physics:-d_(tau)*(1-v(tau)^2/c^2)^(1/2))

    (2.2)

    Introducing now this definition (2.2)  into the system,

    Define(w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2)), quiet)

    lhs(w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))) = TensorArray(rhs(w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))))

    w[`~mu`] = Array(%id = 36893488148327765764)

    (2.3)

    Recalling that tau = c*t, we get

    "PDETools:-dchange([tau=c*t],?,[t],params=c)"

    w[`~mu`] = Array(%id = 36893488148324030572)

    (2.4)

    Introducing anew this definition (2.4)  into the system,

    "Define(w[~mu]=rhs(?),redo,quiet):"

    NULL

    In the proper referential, the velocity of the particle vanishes and the tridimensional acceleration is directed along the positive x-axis, denote its value by `#msub(mi("w"),mn("0"))`

    Hence, proceeding to the relevant substitutions and introducing the corresponding definition into the system, the four-acceleration in the proper referential reads

      "Define(`w__o`[~mu]= subs(v(t)=`w__0`, v(t)=0,rhs(?)),quiet):"

    w__o[`~mu`] = TensorArray(w__o[`~mu`])

    w__o[`~mu`] = Array(%id = 36893488148076604940)

    (2.5)

    NULL

    The differential equation solving the problem

     

    NULL``

    Everything is now set up for us to establish the differential equation that will solve our problem. It is at this juncture that we make use of the invariant condition stated in the introduction.

    The relativistic invariant condition of uniform acceleration must lie in the constancy of a 4-scalar coinciding with `w__μ`*w^mu  in the proper reference frame.

    We simply write the stated invariance of the four scalar (d*u^mu*(1/(d*s)))^2 thus:

    w[mu]^2 = w__o[mu]^2

    w[mu]*w[`~mu`] = w__o[mu]*w__o[`~mu`]

    (3.1)

    TensorArray(w[mu]*w[`~mu`] = w__o[mu]*w__o[`~mu`])

    (diff(v(t), t))^2*c^2/(v(t)^2-c^2)^3 = -w__0^2/c^4

    (3.2)

    NULL

    This gives us a first order differential equation for the velocity.

     

    Solving the differential equation for the velocity and computation of the distance travelled

     

    NULL

    Assuming the proper reference frame is starting from rest, with its origin at that instant coinciding with the origin of the fixed reference frame, and travelling along the positive x-axis, we get successively,

    NULL

    dsolve({(diff(v(t), t))^2*c^2/(v(t)^2-c^2)^3 = -w__0^2/c^4, v(0) = 0})

    v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2), v(t) = -t*c*w__0/(t^2*w__0^2+c^2)^(1/2)

    (4.1)

    NULL

    As just explained, the motion being along the positive x-axis, we take the first expression.

    [v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2), v(t) = -t*c*w__0/(t^2*w__0^2+c^2)^(1/2)][1]

    v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2)

    (4.2)

    This can be rewritten thus

    v(t) = w__0*t/sqrt(1+w__0^2*t^2/c^2)

    v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2)

    (4.3)

    It is interesting to note that the ultimate speed reached is the speed of light, as it should be.

    `assuming`([limit(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t = infinity)], [w__0 > 0, c > 0])

    limit(v(t), t = infinity) = c

    (4.4)

    NULL

    The space travelled is simply

    x(t) = Int(rhs(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2)), t = 0 .. t)

    x(t) = Int(w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t = 0 .. t)

    (4.5)

    `assuming`([value(x(t) = Int(w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t = 0 .. t))], [c > 0])

    x(t) = c*((t^2*w__0^2+c^2)^(1/2)-c)/w__0

    (4.6)

    expand(x(t) = c*((t^2*w__0^2+c^2)^(1/2)-c)/w__0)

    x(t) = c*(t^2*w__0^2+c^2)^(1/2)/w__0-c^2/w__0

    (4.7)

    This can be rewritten in the form

    x(t) = c^2*(sqrt(1+w__0^2*t^2/c^2)-1)/w__0

    x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0

    (4.8)

    NULL

    The classical limit corresponds to an infinite velocity of light; this entails an instantaneous propagation of the interactions, as is conjectured in Newtonian mechanics.
    The asymptotic development gives,

    lhs(x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0) = asympt(rhs(x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0), c, 4)

    x(t) = (1/2)*w__0*t^2+O(1/c^2)

    (4.9)

    As for the velocity, we get

    lhs(v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2)) = asympt(rhs(v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2)), c, 2)

    v(t) = t*w__0+O(1/c^2)

    (4.10)

    Thus, the classical laws are recovered.

    NULL

    Proper time

     

    NULL

    This quantity is given by "t'= ∫ dt sqrt(1-(v^(2))/(c^(2)))" the integral being  taken between the initial and final improper instants of time

    Here the initial instant is the origin and we denote the final instant of time t.

    NULL

    `#mrow(mi("t"),mo("′"))` = Int(sqrt(1-rhs(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2))^2/c^2), t = 0 .. t)

    `#mrow(mi("t"),mo("′"))` = Int((1-w__0^2*t^2/((1+w__0^2*t^2/c^2)*c^2))^(1/2), t = 0 .. t)

    (5.1)

    Finally the proper time reads

    `assuming`([value(`#mrow(mi("t"),mo("′"))` = Int((1-w__0^2*t^2/((1+w__0^2*t^2/c^2)*c^2))^(1/2), t = 0 .. t))], [w__0 > 0, c > 0, t > 0])

    `#mrow(mi("t"),mo("′"))` = arcsinh(t*w__0/c)*c/w__0

    (5.2)

    When proc (t) options operator, arrow; infinity end proc, the proper time grows much more slowly than t according to the law

    `assuming`([lhs(`#mrow(mi("t"),mo("′"))` = arcsinh(t*w__0/c)*c/w__0) = asympt(rhs(`#mrow(mi("t"),mo("′"))` = arcsinh(t*w__0/c)*c/w__0), t, 1)], [w__0 > 0, c > 0])

    `#mrow(mi("t"),mo("′"))` = (ln(2*w__0/c)+ln(t))*c/w__0+O(1/t^2)

    (5.3)

    combine(`#mrow(mi("t"),mo("′"))` = (ln(2*w__0/c)+ln(t))*c/w__0+O(1/t^2), ln, symbolic)

    `#mrow(mi("t"),mo("′"))` = ln(2*t*w__0/c)*c/w__0+O(1/t^2)

    (5.4)

    NULL

    Evolution of the four-acceleration of the moving frame as observed from the fixed reference frame

     

    NULL

    To obtain the four-acceleration as a function of time, simply substitute for the 3-velocity (4.3)  in the 4-acceleration (2.4)

    " simplify(subs(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2),?),symbolic)"

    w[`~mu`] = Array(%id = 36893488148142539108)

    (6.1)

    " w[t->infinity]^(  mu)=map(limit,rhs(?),t=infinity) assuming `w__0`>0,c>0"

    `#msubsup(mi("w"),mrow(mi("t"),mo("→"),mo("∞")),mrow(mo("⁢"),mo("⁢"),mi("μ",fontstyle = "normal")))` = Array(%id = 36893488148142506460)

    (6.2)

    We observe that the non-vanishing components of the four-acceleration of the accelerating reference frame get infinite while those components in the moving reference frame keep their constant values . (2.5)

    NULL

    Evolution of the three-acceleration as observed from the fixed reference frame

     

    NULL

    This quantity is obtained simply by differentiating the velocity v(t)given by  with respect to the time t.

     

    simplify(diff(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t), size)

    diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2)

    (7.1)

    Here also, it is interesting to note that the three-acceleration tends to zero. This fact was somewhat unexpected.

    map(limit, diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2), t = infinity)

    limit(diff(v(t), t), t = infinity) = 0

    (7.2)

    NULL

    At the beginning of the motion, the acceleration should be w__0, as Newton's mechanics applies then

    NULL

    `assuming`([lhs(diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2)) = series(rhs(diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2)), t = 0, 2)], [c > 0])

    diff(v(t), t) = series(w__0+O(t^2),t,2)

    (7.3)

    NULL

    Justification of the name hyperbolic motion

     

    NULL

    Recall the expressions for x and diff(t(x), x)and obtain a parametric description of a curve, with diff(t(x), x)as parameter. This curve will turn out to be a hyperbola.

    subs(x(t) = x, x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0)

    x = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0

    (8.1)

    `#mrow(mi("t"),mo("′"))` = arcsinh(t*w__0/c)*c/w__0

    `#mrow(mi("t"),mo("′"))` = arcsinh(t*w__0/c)*c/w__0

    (8.2)

    The idea is to express the variables x and t in terms of diff(t(x), x).

     

    isolate(`#mrow(mi("t"),mo("′"))` = arcsinh(t*w__0/c)*c/w__0, t)

    t = sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)*c/w__0

    (8.3)

    subs(t = sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)*c/w__0, x = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0)

    x = c^2*((1+sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2)^(1/2)-1)/w__0

    (8.4)

    `assuming`([simplify(x = c^2*((1+sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2)^(1/2)-1)/w__0)], [positive])

    x = c^2*(cosh(`#mrow(mi("t"),mo("′"))`*w__0/c)-1)/w__0

    (8.5)

    We now show that the equations (8.3) and (8.5) are parametric equations of a hyperbola with parameter the proper time diff(t(x), x)

     

    Recall the hyperbolic trigonometric identity

    cosh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2-sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2 = 1

    cosh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2-sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2 = 1

    (8.6)

    Then isolating the sinh and the cosh from equations (8.3) and (8.5),

    NULL

    isolate(t = sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)*c/w__0, sinh(`#mrow(mi("t"),mo("′"))`*w__0/c))

    sinh(`#mrow(mi("t"),mo("′"))`*w__0/c) = t*w__0/c

    (8.7)

    isolate(x = c^2*(cosh(`#mrow(mi("t"),mo("′"))`*w__0/c)-1)/w__0, cosh(`#mrow(mi("t"),mo("′"))`*w__0/c))

    cosh(`#mrow(mi("t"),mo("′"))`*w__0/c) = x*w__0/c^2+1

    (8.8)

    and substituting these in (8.6) , we get the looked-for Cartesian equation

     

    subs(sinh(`#mrow(mi("t"),mo("′"))`*w__0/c) = t*w__0/c, cosh(`#mrow(mi("t"),mo("′"))`*w__0/c) = x*w__0/c^2+1, cosh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2-sinh(`#mrow(mi("t"),mo("′"))`*w__0/c)^2 = 1)

    (x*w__0/c^2+1)^2-w__0^2*t^2/c^2 = 1

    (8.9)

    NULL

    This is the Cartesian equation of a hyperbola, hence the name hyperbolic motion

    NULL

    Reference

     

    [1] Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.

    NULL

    Download Uniformly_accelerated_motion.mw

    This is a friendly reminder that the deadline for submissions for this year's Maple Conference Creative Works Exhibit is fast approaching!

    If you are looking for inspiration, you can take a look at the writeup of the works that were featured last year in this write up in the most recent issue of Maple Transations.

    Also, don't forget that you can also submit art made in Maple Learn for a special exhibit alongside the main gallery.

    If you haven’t seen the posts already, the Maple Conference is coming up on the 2nd and 3rd of November! Last year’s art competition was very popular, so this year, not only are we holding the Maple Art and Creative Works Exhibit again, but we’ve decided to extend the art competition to include a Maple Learn Art Showcase!

    You may be wondering what math art can be created in Maple Learn, and what the requirements are for the conference. Let’s address the first question first.

    The best way to learn what kind of math art can be made is by taking a look at our Maple Learn Art document collection! This collection is in the Maple Learn document gallery, and includes art created by users with different levels of math and Maple Learn knowledge.

    Many examples of art are shown in the collection, but take a look at this art piece, which shows a fun character made with functions!

                                              

    We not only have static art, but animations as well. Take a look at this document, which shows an animated flower and bee, all created with math and Maple Learn.

     

    Now for the conference requirements. The submission requirement date is October 14th 2022, and there’s only one criterion for submission:

    • Art must be created in Maple Learn, and submissions must include the Maple Learn document.

     

    Feel free to include any extra information about yourself and your artwork directly in the document. You can share your submission by using the share icon in the top right of the Maple Learn UI. This will create a URL, which can be sent to gallery@maplesoft.com. Don’t forget to include your name in the emailed submission! Please contact us if you’re unsure about any of the criteria, or if you have any other questions!

    It may seem overwhelming, but remember: submitting something gives you a chance to share your art with the world and not submitting removes that chance! If you'd like more information about the Maple Learn Art Showcase or the Maple Art and Creative Works Exhibit, please check out our page on submissions for the art gallery on the Maplesoft website, or check out this example submission. See you all next time!

    Paulina Chin of Maplesoft and I are pleased to annouce Maple Transactions Volume 2 Issue 1, the Proceedings of the 2021 Maple Conference.

    Articles can be found at mapletransactions.org

    Some articles are written directly in Maple and are published via the Maple Cloud.  There is also a Demo Video by Michael Monagan of his new GCD code.  There are articles on Math Education, on Applications of Maple, on software, and on mathematics research.  We draw particular attention to the article by Veselin Jungic, 3M Teaching Fellow at SFU and a Fellow of the Canadian Math Society, on Indigenising mathematics.  We hope that, as members of the Maple Community, you find much of interest.

    Best wishes,

    Rob Corless, Editor-in-Chief

    Maple Transactions

    Forest of ethnomathematics and its root.  Colourful natural trees growing in a forest above ground while below ground is a colourful mathematical tree going to a single glowing root


     

    New generalized unit vectors in Physics:-Vectors

     

    The Physics:-Vectors package, written many years ago to teach Vector Analysis to 1st year undergrad students in Physics courses, introduces several things that are unique in computer algebra software. Briefly, this package has the ability to compute sums, dot and cross products, and differentiation with

    • 

    abstract vectors, like `#mover(mi("A"),mo("→"))` or `#mover(mi("A"),mo("→"))`(x, y, z), symbols or functions with an arrow on top that indicates to the system that they are vectors, not scalars;

    • 

    projected vectors of algebraic (non-matrix) type in any of the Cartesian, cylindrical or spherical basis and/or associated systems of coordinates, including for that purpose an implementation of the corresponding unit vectors of the three bases;

    • 

    abstract or projected differential operators that involve Nabla, Gradient, Divergence, Laplacian and Curl;

    • 

    inert vectors or vectorial differential operators, including related expansion of operations and simplification; 

    • 

    path, surface and volume vector integrals.

     

    In addition to the above, the display is as in textbooks, the input resembles paper and pencil handwriting, and examples of the use of Physics:-Vectors in Vector Analysis are presented in the Physics,Examples page.

     

    Download New_generalized_unit_vectors.mw

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

    Einstein's principle of relativity

     

    The main difference between Newtonian mechanics and the mechanics based on Einstein's principle of relativity is that in the latter the velocity of light, c, is the same in all inertial reference systems. Therefore, when comparing the velocity of an object measured in two reference systems 1 and 2 that are moving relative to each other, the Newtonian rule of addition of velocities, v__2_ = v__1_+v__R_, where v__R_ is the velocity of one system with respect to the other one, is not valid; if it were, the speed v__1_ and v__2_ of light in the systems 1 and 2 would not be the same. This introduces surprising conceptual consequences, and algebraic complications in the formulas relating the values of measurements, in the systems 1 and 2, of time, space and everything else that is related to that.

     

    This post is thus about Einstein's principle of relativity and the consequences of the velocity of light being the same in all inertial reference systems. Although the topic is often considered advanced, the concepts, as shocking as they are, are easy to understand, and the algebra is still tractable in simple terms. The presentation, following Landau & Lifshitz [1], Chapter 1, is at a basic level, with no prerequisite expertise required, and illustrates well how to handle the basic algebraic aspects of special relativity using computer algebra.

     

    Finally, it seems to me not useful to just present the algebra when the concepts behind Einstein's theory are straightforward and surprising. For that reason, the short sections 1 and 2 are all about these concepts, and the algebra only starts in section 3, with the Lorentz transformations (which was recently the topic of a Mapleprimes post at a more advanced level ). To reproduce the computations shown in this worksheet, please install the Maplesoft Physics Updates v.1314 or any subsequent version.

     

    Download Einstens_principle_of_relativity.mw

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

     

    Welcome back to another blog post, Maple Learn enthusiasts! Today we’re going to go through a concept and see what documents are available to help you learn the concept. What concept? Blood typing!

    You may have gotten your blood tested before, but do you know the science behind blood types? Have you ever thought about it, even? Well, if not, you’re in the right place! Let’s take a look at some of the concepts you need to know before looking deeper into blood typing.

    First, what are genotypes and phenotypes? Did you notice those terms had links attached to them? We have Maple Learn documents on this topic, shown below. Take a moment to read them over before we continue, but to summarize: A genotype is the genetic makeup within a trait, whereas a phenotype is the displayed trait. Another important term to recognize is allele – the specific variations of genes that are involved in the genotype.

    The next thing to review is Punnett Squares, and the document is also shown below. Review this one too, to learn how to examine genetic combinations! Take a good look at the tables being used, as well, as an example of a creative use of a typically mathematical feature.

    Now let’s finally dig into the blood types. Humans have 4 different blood types (excluding the Rhesus factor – but we won’t be talking about that today): A, B, AB, and O. A and B alleles are represented with an “I” with a superscript A or B, respectively. O is represented with “i”. Remember, a full genotype has two alleles, so someone with the blood type O would be represented as “ii” in their genotype. Can you read the Punnett Square below?

    To extend your learning, take a look at our blood typing quiz! This quiz allows you to practice making Punnett Squares on paper, in order to figure out the likelihood of a phenotype (the blood type) given the genotype of the parents.

    We hope you enjoyed the concept walkthrough! Please let us know if there are any other concepts you’d like to see explained through Maple Learn documents. Until next time!

    Notation is one of the most important things to communicate with others in science. It is remarkable how many people use or do not use a computer algebra package just because of its notation. For those reasons, in the context of the Physics package, strong emphasis is put on using textbook notation as much as possible regarding input and output, including, for that purpose, as people here know, significant developments in Maple typesetting.

    Still, for historical reasons, when using the Physics package, the labels used to refer to a coordinate system had been a single Capital Letter, as in X, Y, ...It was not possible to use, e.g. X', or x.

    That has changed. Starting with the Maplesoft Physics Updates v.1308, any symbol can be used as a coordinate system label. The lines below demo this change.

     

    Download new_coordinates_labels.mw

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

    As we head back to school, I want to take a moment to thank all the math teachers out there who take on the demanding yet overlooked task of educating our children, teenagers, and young people. 

    I'm where I am today because my calculus teacher, Prof. Srinivasan, was unwavering in her belief that my classmates and I could master any math topic, including calculus. Her conviction in me gave me the confidence to believe I could 'do' math. While Prof. Srinivasan made teaching look easy, I'm acutely aware that teaching math is no easy feat. Speaking with math educators regularly, I can appreciate how challenging teaching math is today compared to a decade ago. Not only do they have to teach the subject, but they must be able to teach it in-person and online, to a group of students that may not be up to speed on the prerequisite material, and in an era where disruptive technologies vie for their student's attention. No wonder math educators are so anxious about returning to the classroom this fall!

    And while I wish I could abracadabra your worries away, what I can do is offer you the opportunity to use Maple Learn, a tool built to support the utopian vision of a world where all students love math. A world where math is for everyone, not just the gifted, and the purpose of math class is to explore and marvel at the wonders of the universe, not just get to the correct answer.

    Slightly more concretely, Maple Learn is a flexible interactive environment for exploring concepts, solving problems, and creating rich online math content. I've seen educators use Maple Learn to help their students: 

    I’ve talked to lots of instructors, in math, and in courses like economics and physics that use math, who have lots of ideas of how to engage their students and deepen their understanding through interactive online activities. What they don’t have are the tools, programming experience, deployment platform, or time to implement their vision. Fortunately, Maple Learn makes it incredibly easy to develop and share your own content, and all you need are your ideas and a web browser. But you don’t need to start from scratch. You can choose from an extensive, constantly growing repository of ready-made, easily customizable content covering a wide range of topics. I think you’ll be pleasantly surprised by how easy it is, but since we are well aware that instructors are extremely busy people, we also have content development services that can help you transform your static content into interactive lessons.

    If you haven't looked at Maple Learn, or it's been a while since you last saw it, you can visit Reinventing Math Education with Maple Learn for more information, including an upcoming webinar you might be interested in attending and a special offer on Maple Learn for Maple campuses. And if you ever want to discuss ways Maple Learn might help you, or have ideas on how to make it better, please reach out. I'm always up for good conversation. 

    And for all the dedicated teachers who are taking a deep breath and heading back into the classroom this fall, thank you.

    Welcome back to another document walkthrough! Today, I thought we’d take a look at a non-math example, like chemistry. The document we’ll be using is “Finding Average Atomic Mass”. Before we get too into it, I’d like to define some terms. Average atomic mass is defined as the weighted average mass of all isotopes of an element. An elemental isotope can be thought of as a “version” of the element – The same element at its core, but having different weight or other properties. This is due to having the same number of protons, but a different number of neutrons.

    This document is, of course, about finding that average atomic mass. See the picture below for our problem, which states the element, the isotopes, and their separate masses and relative abundance.

    The average atomic mass can then be calculated using sum notation. To calculate, take the weighted mean of the isotopes’ atomic masses, as shown in the overview section of the Average Atomic Mass document.

    Once you’ve tried solving the problem yourself, take a look at the answer in group four, or one of the practice problems in group five. We have three examples on this topic (Average Atomic Mass Example 1, Average Atomic Mass Example 2, and Average Atomic Mass Example 3), so take a look at them all!

    I hope you enjoyed learning just a bit of chemistry today, and let us know in the comments if there are any documents you’d specifically like to see explained, or any topics you’d like us to talk about!

     

    Welcome back to another post on the Maple Learn Calculus collection! Previously on this series we looked at the Limit subcollection, and today we are going to look at the Derivative subcollection in the Maple Learn Document Gallery.

    There are many different types of documents in this sub collection, so let’s take a look at one of them. We’ll start with the very first question people ask when learning about derivatives: What is a derivative?

     

    This document starts us off with an example of f(x):=x2. The example provides the background information for the rest of the document, and a visualization with a slider.

    Then, we define both the Geometric and Algebraic definition of a derivative. This allows us to understand the concept in two different ways, a very useful thing for students as they explore other topics within calculus.  

    Finally, the document suggests two more documents for future learning: Derivatives: Notation, for more information on the notation used in derivatives, and the Formal Definition of a Derivative document, for more information on how derivatives are formally defined and derived. Make sure to check them out too!

    Now, that’s just the start. We’ve got practice problems, definitions and visualizations of rules, information on points without derivatives, and much more. They’re useful for both new learning and as a refresher, so take a look!

    We can’t wait to see you another time for when we dive into Derivative documents. Let us know after the Calculus collection showcase blog posts if there’s another collection you’d like to see showcased!

     

     

    Combing a Prismatic Joint component with an Elasto Gap component does not always provide correct results. Incorrectly combined (red mass below), a force is generated although the distance between the flanges is greater than the relaxed spring length. A force is exerted (instead of no force is exerted as stated here) on the mass which leads to a smaler deflection (expected are 9.81 m).

    This happened to me although I connected flange_a to flange_a and flange_b to flange_b in configruation A bellow. Configuration B works with inverted flanges and configuration C works with inverted unit vector of the prismatic joint. By reversing the direction of gravity, configuration A becomes a valid configuration and configurations B and C become invalid configurations.

    It seems that in invalid configruations the value of the  flange distance s_rel can have a large magnitude but is negative in sign which generates significant forces although there is no contact of flanges.

    So far for the observations.

     

    Would a change of the contact condition

    prevent invalid configurations or do we have to live with it for principal reasons that I am over looking?

    If so, I don't see a foolproof method to avoid invalid configurations. Instead, I can only suggest measuring the flange distance of the Elasto Gap component as in the attached. If negative values of large amplitude occur, the configuration is invalid.

    Assuming that a beginner would connect intuetively flange_a to flange_a and flange_b to flange_b, there is a chance of 50% that the configuration is invalid (A instead of C). This is too much to be acceptable, especially since verifying results in complex assemblies is often not possible.

    It is worth noting that the contact condition comes from the underlying Modelica component and not from MapleSoft.

    Prismatic_Joint_with_Elasto_Gap.msim

    First 18 19 20 21 22 23 24 Last Page 20 of 306