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
  • We have just released updates to Maple and MapleSim.

    Maple 2023.2 includes a strikethrough character style, a new unit system, improved behavior when editing or deleting subscripts, improved find-and-replace, better mouse selection of piecewise functions and the contents of matrices, and moreWe recommend that all Maple 2023 users install this update.

    This update also include a fix to the problem with setoptions3d, as first reported on MaplePrimes. Thanks, as always, for helping us make Maple better.

    This update is available through Tools>Check for Updates in Maple, and is also available from the Maple 2023.2 download page, where you can find more details.

    At the same time, we have also released an update to MapleSim, which contains a variety of improvements to MapleSim and its add-ons. You can find more information on the MapleSim 2023.2 download page.

     

    Many everyday decisions are made using the results of coin flips and die rolls, or of similar probabilistic events. Though we would like to assume that a fair coin is being used to decide who takes the trash out or if our favorite soccer team takes possession of the ball first, it is impossible to know if the coin is weighted from a single trial.

     

    Instead, we can perform an experiment like the one outlined in Hypothesis Testing: Doctored Coin. This is a walkthrough document for testing if a coin is fair, or if it has been doctored to favor a certain outcome. 

     

    This hypothesis testing document comes from Maple Learn’s new Estimating collection, which contains several documents, authored by Michael Barnett, that help build an understanding of how to estimate the probability of an event occurring, even when the true probability is unknown.

    One of the activities in this collection is the Likelihood Functions - Experiment document, which builds an intuitive understanding of likelihood functions. This document provides sets of observed data from binomial distributions and asks that you guess the probability of success associated with the random variable, giving feedback based on your answer. 

     

     

    Once you’ve developed an understanding of likelihood functions, the next step in determining if a coin is biased is the Maximum Likelihood Estimate Example – Coin Flip activity. In this document, you can run as many randomized trials of coin flips as you like and see how the maximum likelihood estimate, or MLE, changes, bearing in mind that if a coin is fair, the probability of either heads or tails should be 0.5. 

     

     

    Finally, in order to determine in earnest if a coin has been doctored to favor one side over the other, a hypothesis test must be performed. This is a process in which you test any data that you have against the null hypothesis that the coin is fair and determine the p-value of your data, which will help you form your conclusion.

    This Hypothesis Testing: Doctored Coin document is a walkthrough of a hypothesis test for a potentially biased coin. You can run a number of trials on this coin, determine the null and alternative hypotheses of your test, and find the test statistic for your data, all using your understanding of the concepts of likelihood functions and MLEs. The document will then guide you through the process of determining your p-value and what this means for your conclusion.

    So if you’re having suspicions that a coin is biased or that a die is weighted, check out Maple Learn’s Estimating collection and its activities to help with your investigation!

    The Maple Conference starts tomorrow Oct. 26 at 9am EDT! It's not too late to register: https://www.maplesoft.com/mapleconference/2023/. Even if you can't attend all the presentations, registration will allow you to view the recorded videos after the conference. 

    Check out the detailed conference program here: https://www.maplesoft.com/mapleconference/2023/full-program.aspx

    This is an successfull attempt to simulate space frames in MapleSim using the relatively new Rod component.

    At t=3s, a lateral force component is applied to make the simulation more interesting.

    The structure collapses/folds in an origami style fashion.

    To build the model, MapleSim needs additional components.

    For example, an equilateral triangle

    requires the addition of rigid body frames at the connection of two rods.

    Additionally, the rigid body frames must have initial position conditions (ICs) that match the intended structure.

    Interestingly the ICs do not have to be set to Treat as Guess. It is only required to put an approximate coordinate. Leaving the ICs on Ignore was sufficient for the attached model.

    Rod components can be replaced by Flexible Beam components which require considerably more simulation time and either Revolute joints at their ends or a rather complex connection with Rigid Body frames (of zero length) to adjacent Flexible Beam components.

     

    Spaceframe_2.msim

     

    With Halloween right around the corner, we at Maplesoft wanted to celebrate the occasion with an activity where you can carve your own pumpkin… using math! 

     

    Halloween is said to have originated a few hundred years back in ancient Celtic festivals, specifically one called Samhain. This was celebrated from October 31st to November 1st to mark the end of harvesting season and the beginning of winter, or the "darker quarter" of the year. Since then, Halloween has evolved into a fun celebration of candy and costumes in many countries!

     

    With that said, here’s my take on the pumpkin carving activity: 

     

     

    The great thing is, if you mess up, you can always go back; unlike carving pumpkins in real life. My design is pretty simple (although cute), so let’s see what you all can impress us with!

     

    You can also make your own original art and publish it to your channel so that anyone can see your own artistic creations. You can also attend the Maple Conference next week on October 26 and 27, an event filled with two days of presentations from members of the Maplesoft Community. Participants will also be able to see all the artwork submitted for the Art Gallery and Creative Showcase, where you can draw inspiration for your own submissions to next year’s showcase! The conference is virtual and free of charge, and you can register here.

     

    Looking forward to seeing you there!

    The Maple Conference will be starting in two weeks! The detailed agenda, which includes abstracts of invited and contributed talks, is available here: https://www.maplesoft.com/mapleconference/2023/full-program.aspx.

    Please join us on October 26 and 27 for two days of presentations from our staff members and the larger Maple community, a look at our Art Gallery and Creative Showcase, opportunities for networking with other Maple enthusiasts, and more! The conference is virtual and free of charge, and you can register at https://www.maplesoft.com/mapleconference/2023/.

    We look forward to seeing you at the conference!

     

    Almost 300 years ago, a single letter exchanged between two brilliant minds gave rise to one of the most enduring mysteries in the world of number theory. 

    In 1742, Christian Goldbach penned a letter to fellow mathematician Leonhard Euler proposing that every even integer greater than 2 can be written as a sum of two prime numbers. This statement is now known as Goldbach’s Conjecture (it is considered a conjecture, and not a theorem because it is unproven). While neither of these esteemed mathematicians could furnish a formal proof, they shared a conviction that this conjecture held the promise of being a "completely certain theorem." The following image demonstrates how prime numbers add to all even numbers up to 50:

    From its inception, Goldbach's Conjecture has enticed generations of mathematicians to seek evidence of its legitimacy. Though weaker versions of the conjecture have been proved, the definitive proof of the original conjecture has remained elusive. There was even once a one-million dollar cash prize set to be awarded to anyone who could provide a valid proof, though the offer has now elapsed. While a heuristic argument, which relies on the probability distribution of prime numbers, offers insight into the conjecture's likelihood of validity, it falls short of providing an ironclad guarantee of its truth.

    The advent of modern computing has emerged as a beacon of progress. With vast computational power at their disposal, contemporary mathematicians like Dr. Tomàs Oliveira e Silva have achieved a remarkable feat—verification of the conjecture for every even number up to an astonishing 4 quintillion, a number with 18 zeroes.

    Lazar Paroski’s Goldbach Conjecture Document on Maple Learn offers an avenue for users of all skill levels to delve into one of the oldest open problems in the world of math. By simply opening this document and inputting an even number, a Maple algorithm will swiftly reveal Goldbach’s partition (the pair of primes that add to your number), or if you’re lucky it could reveal that you have found a number that disproves the conjecture once and for all.

    A salesperson wishes to visit every city on a map and return to a starting point. They want to find a route that will let them do this with the shortest travel distance possible. How can they efficiently find such a route given any random map?

    Well, if you can answer this, the Clay Mathematics Institute will give you a million dollars. It’s not as easy of a task as it sounds.

    The problem summarized above is called the Traveling Salesman Problem, one of a category of mathematical problems called NP-complete. No known efficient algorithm to solve NP-complete problems exists. Finding a polynomial-time algorithm, or proving that one could not possibly exist, is a famous unsolved mathematical problem.

    Over years of research, many advances have been made in algorithms that can solve the problem, not in perfectly-efficiently time, but quickly enough for many smaller examples that you can hardly notice. One of the most significant Traveling Salesman Problem solutions is the Concorde TSP Solver. This program can find optimal routes for maps with thousands of cities.

    Traveling Salesman Problems can also be used outside of the context of visiting cities on a map. They have been used to generate gene mappings, microchip layouts, and more.

    The power of the legendary Concorde TSP Solver is available in Maple. The TravelingSalesman command in the GraphTheory package can find the optimal solution for a given graph. The procedure offers a choice of the recently added Concorde solver or the original pure-Maple solver.

    To provide a full introduction to the Traveling Salesman Problem, we have created an exploratory document in Maple Learn! Try your hand at solving small Traveling Salesman examples and comparing different paths. Can you solve the problems as well as the algorithm can?

     

    # ----------------------------------THE DESIGN OF THE MAPLET SCREEN---------------------
    with(Maplets[Elements]):
    HCC:=Maplet(Window('title'="HEAT CONDUCTIVITY CONTROL",["WITH THIS APPLICATION THE CONDUCTIVITY COEFFICIENT OF A ONE-DIMENSIONAL OBJECT, APPROXIMATING THE TEMPRATURE OF THE OBJECT TO A TARGET TEMPRETURE AT A CERTAIN FINAL TIME, IS CONTROLLED. ",[["l",TextField[l](3)],["T",TextField[T](3)],["f(x,t)",TextField[f](15)],["phi(x)",TextField[ph](5)]],[["k(0)",TextField[k0](3)],["g0(t)",TextField[g0](10)],["k(l)",TextField[kl](3)],["g1(t)",TextField[g1](10)],["mu(x)",TextField[mu](10)]],[["alpha",TextField[alpha](3)],["kaplus(x)",TextField[kaplus](5)],["N",TextField[N](3)],["kstart(x)",TextField[kstart](3)],["beta",TextField[beta](3)],["eps",TextField[eps](3)]] ,[Button("Calculate the Control",Evaluate('kutu'=ms(N,l,alpha,T,ph,f,g0,g1,mu,kaplus,k0,kl,kstart,beta,eps))),[TextBox['kutu'](30..30)],Button("Draw the Control",Evaluate('Draw'='plot(kutu,x=0..l)')),Plotter['Draw'](),[[Button("Distance to
    Target",Evaluate('kutu2'=ms8(N,l,alpha,T,ph,f,g0,g1,mu,kaplus,k0,kl,kstart,beta,eps))),TextField['kutu2'](12)],[Button("Approximation to kaplus",Evaluate('kutu3'='evalf(int((kutu-kaplus)^2,x=0..l))')),TextField['kutu3'](12)]]],Button("Shutdown",Shutdown())])):
    # -------------------------PROCEDURE FOR CALCULATION OF THE CONTROL FUNCTION-----------
    with(inttrans):
    with(linalg):
    ms:=proc(N,l,alpha,T,ph,f,g0,g1,mu,kaplus,k0,kl,kstart,beta,eps):
    with(inttrans):
    with(linalg):
    w:=simplify(x^2/2*g1/(l*kl)+(x^2/2-x*l)*g0/(l*k0)):
    phdal:=ph-subs(t=0,w):
    fdal:=simplify(f-diff(w,t)+diff(kaplus*diff(w,x),x)):
    # ---------------------------------Solution of the Heat Problem------------------------------------
    dp:=proc(ka)
    with(inttrans):
    with(linalg):
    phi:=Vector(1..N):
    phi[1]:=1/sqrt(l):
    for i from 2 to N do
    phi[i]:=evalf(sqrt(2/l)*cos((i-1)*Pi*x/l)):
    od:
    K:=Array(1..N,1..N):
    for j from 1 to N do
    for k from 1 to N do
    K[j,k]:=evalf(-int(ka*diff(phi[k],x$2)*phi[j],x=0..l)):
    od:
    od:
    F:=Vector(1..N):
    for n from 1 to N do
    F[n]:=evalf(int(fdal*phi[n],x=0..l)):
    od:
    A:=Vector(1..N):
    for m from 1 to N do
    A[m]:=evalf(int(phdal*phi[m],x=0..l)):
    od:
    KL:=Matrix(1..N,1..N):
    for j1 from 1 to N do
    for k1 from 1 to N do
    if (j1=k1) then KL[j1,k1]:=s+K[j1,k1] else KL[j1,k1]:=K[j1,k1] fi:
    od:
    od:
    FL:=Vector(1..N):
    for i1 from 1 to N do
    FL[i1]:=evalf(laplace(F[i1],t,s));
    od:
    S:=Vector(1..N):
    for i2 from 1 to N do
    S[i2]:=(A[i2]+FL[i2]);
    od:
    C:=Vector(1..N):
    C:=evalm(inverse(KL)&*S):
    c:=Vector(1..N):
    for i3 from 1 to N do
    c[i3]:=evalf(invlaplace(C[i3],s,t)):
    od:
    v:=evalf(add(c[n1]*phi[n1],n1=1..N)):
    uyak:=v+w;
    end:
    # ---------------------------------Solution of the Adjoint Problem------------------------------------
    ap:=proc(ka)
    with(inttrans):
    with(linalg):
    utau:=evalf(subs(t=T-tau,dp(ka))):
    phe:=evalf(2*(subs(tau=0,utau)-mu));
    phie:=Vector(1..N):
    phie[1]:=1/sqrt(l):
    for i4 from 2 to N do
    phie[i4]:=evalf(sqrt(2/l)*cos((i4-1)*Pi*x/l)):
    od:
    Kc:=Array(1..N,1..N):
    for j2 from 1 to N do
    for k2 from 1 to N do
    Kc[j2,k2]:=evalf(-int(ka*diff(phie[k2],x$2)*phie[j2],x=0..l)):
    od:
    od:
    Fc:=Vector(1..N):
    for m1 from 1 to N do
    Fc[m1]:=0:
    od:
    Ac:=Vector(1..N):
    for cm1 from 1 to N do
    Ac[cm1]:=evalf(int(phe*phie[cm1],x=0..l)):
    od:
    KLC:=Matrix(1..N,1..N):
    for cj1 from 1 to N do
    for ck1 from 1 to N do
    if (cj1=ck1) then KLC[cj1,ck1]:=s+Kc[cj1,ck1] else KLC[cj1,ck1]:=Kc[cj1,ck1] fi:
    od:
    od:
    FLC:=Vector(1..N):
    for ci1 from 1 to N do
    FLC[ci1]:=evalf(laplace(Fc[ci1],tau,s));
    od:
    Sc:=Vector(1..N):
    for ci2 from 1 to N do
    Sc[ci2]:=(Ac[ci2]+FLC[ci2]);
    od:
    CC:=Vector(1..N):
    CC:=evalm(inverse(KLC)&*Sc):
    cc:=Vector(1..N):
    for ci3 from 1 to N do
    cc[ci3]:=evalf((invlaplace(CC[ci3],s,tau))):
    od:
    ve:=evalf(add(cc[cn]*phie[cn],cn=1..N)):
    eta:=evalf(subs(tau=T-t,ve));
    end:
    # ---------------------------------Calculation of the Gradient----------------------------------
    T�rev:=proc(alpha,ka)
    T�re:=simplify(evalf(-int(diff(dp(ka),x)*diff(ap(ka),x),t=0..T)+2*alpha*(ka-kaplus)));
    end:
    # ----------------------------Calculation of the Cost Functional--------------------------------
    Jka:=proc(ka)
    IJ1:=evalf(int((subs(t=T,dp(ka))-mu)^2,x=0..l));
    end:
    Sta:=proc(ka)
    IJ2:=simplify(evalf((int((ka-kaplus)^2,x=0..l))));
    end:
    II:=proc(ka)
    IJ:=simplify(evalf(Jka(ka)+alpha*Sta(ka))):
    end:# 
    # -----------------------------------Minimizing Process--------------------------------------------
    a[0]:=kstart:
    ka[0]:=kstart:
    say�:=0:
    for im from 0 to 60 do
    a[im+1]:=simplify(evalf(ka[im-say�]-beta*T�rev(alpha,ka[im-say�]))): 
    fark:=evalf(II(ka[im-say�])-II(a[im+1])): 
    if(fark>0 and fark<eps) then break elif (fark>0) then 
    j:=im+1: ka[j-say�]:=a[im+1]:   elif(fark<=0) then  say�:=say�+1: beta:=beta/(1.2): ka[im-say�+2]:=ka[im-say�+1]:   else fi:
    od:
    optcont:=a[im+1]:
    end:
    # -------------------------END OF THE PROCEDURE FOR CALCULATION OF THE CONTROL FUNCTION-----------
    # ------PROCEDURE FOR CALCULATION OF THE DISTANCE TO THE TARGET FUNCTION-----------
    ms8:=proc(N,l,alpha,T,ph,f,g0,g1,mu,kaplus,k0,kl,kstart,beta,eps):
    with(inttrans):
    with(linalg):
    w8:=simplify(x^2/2*g1/(l*kl)+(x^2/2-x*l)*g0/(l*k0)):
    phdal8:=ph-subs(t=0,w8):
    fdal8:=simplify(f-diff(w8,t)+diff(kaplus*diff(w8,x),x)):
    phi8:=Vector(1..N):
    phi8[1]:=1/sqrt(l):
    for i8 from 2 to N do
    phi8[i8]:=evalf(sqrt(2/l)*cos((i8-1)*Pi*x/l)):
    od:
    K8:=Array(1..N,1..N):
    for j8 from 1 to N do
    for k8 from 1 to N do
    K8[j8,k8]:=evalf(-int(ms(N,l,alpha,T,ph,f,g0,g1,mu,kaplus,k0,kl,kstart,beta,eps)*diff(phi8[k8],x$2)*phi8[j8],x=0..l)):
    od:
    od:
    F8:=Vector(1..N):
    for m28 from 1 to N do
    F8[m28]:=evalf(int(fdal8*phi8[m28],x=0..l)):
    od:
    A8:=Vector(1..N):
    for m8 from 1 to N do
    A8[m8]:=evalf(int(phdal8*phi8[m8],x=0..l)):
    od:
    KL8:=Matrix(1..N,1..N):
    for j18 from 1 to N do
    for k18 from 1 to N do
    if (j18=k18) then KL8[j18,k18]:=s+K8[j18,k18] else KL8[j18,k18]:=K8[j18,k18] fi:
    od:
    od:
    FL8:=Vector(1..N):
    for i148 from 1 to N do
    FL8[i148]:=evalf(laplace(F8[i148],t,s));
    od:
    S8:=Vector(1..N):
    for i48 from 1 to N do
    S8[i48]:=(A8[i48]+FL8[i48]);
    od:
    C8:=Vector(1..N):
    C8:=evalm(inverse(KL8)&*S8):
    c8:=Vector(1..N):
    for i58 from 1 to N do
    c8[i58]:=evalf(invlaplace(C8[i58],s,t)):
    od:
    v8:=evalf(add(c8[n8]*phi8[n8],n8=1..N)):
    uyak8:=v8+w8;
    IJ18:=evalf(int((subs(t=T,uyak8)-mu)^2,x=0..l));
    end:
    # ------END OF THE PROCEDURE FOR CALCULATION OF THE DISTANCE TO THE TARGET FUNCTION-----------
    Maplets[Display](HCC):


     

    Deleted posts should go into a seperate container on mapleprimes for review by the original poster.

    In the past some have been deleted by accident and others for good reasons and others just because. 

    The idea to put it into a container is so accidental deletes can be recovered and not lost.  A legitimate delete of a post is if it provides no value to the original question.

    Mapleprimes advanced search isn't working properly

    I wanted to find only my (Author: Christopher2222) related to (keyword: plot) and the search found posts and plots where I wasn't even involved! 

    Mapleprimes - please fix

    Here's a few commands you can use within Maple to collect information about your computer.  This is on a Windows 7 machine but should work for most Win7+ systems.  Not sure how far back the WMIC commands can be used, and it won't work on Mac or Linux. 

    kernelopts(version)

    `Maple 2022.0, X86 64 WINDOWS, Mar 8 2022, Build ID 1599809`

    (1)

    interface(version)

    `Standard Worksheet Interface, Maple 2022.0, Windows 7, March 8 2022 Build ID 1599809`

    (2)

    ssystem("WMIC CPU Get Name, NumberOfCores, NumberOfLogicalProcessors")[2]

    "Name                                             NumberOfCores  NumberOfLogicalProcessors  

Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz  2              2                          


"

    (3)

    ssystem("WMIC computersystem get totalphysicalmemory")[2]

    "TotalPhysicalMemory  

8517836800           


"

    (4)

    ssystem("WMIC memorychip get devicelocator, capacity, speed")[2]

    "Capacity    DeviceLocator  Speed  

4294967296  DIMM 0         800    

4294967296  DIMM 1         800    


"

    (5)

    ````

    Download Maple_-_computer-info.mw

    This post is in response to a question regarding the speed of Maple 2023 on different computers. 

    I'm asking users to suggest a few benchmark problems for Maple to calculate for testing.  Basic system information (Processor speed, RAM, video card etc..) perform the calculation, get the timing and then we can collect all the information into a chart where we can update it in the original post of this thread. 

    All input is welcome, it doesn't have to be confined to Maple 2023.  We can expand to as many older versions as we wish. 

    we have recieved lots of great sumissions, but we want your great submission and now you have more time.

     

    The deadline for submissions to the Art Gallery and Showcase for the 2023 Maple Conference is rapidly approaching. We really want to see your art! It doesn't have to be incredibly impressive or sophisticated, we just want to see what our community can create! If you've been working on something or have a great idea, you still have a few days to get it together to submit.

    A penrose tiling mosaic of that famous Windows 95 background

    Submission can be made by email to gallery@maplesoft.com but be sure to visit the visit our Call for Creative Works for details on the format of the submission.

     

    The Proceedings of the Maple Conference 2022 are up at mapletransactions.org and I hope that you will find the articles interesting.  There is a brief memorial to Eugenio Roanes-Lozano, whom some of you will remember from past meetings. 

    The cover image was the "People's Choice" from the Art Gallery, by Paul DeMarco.

    This provides a nice excuse to remind you to register at the conference page for the Maple Conference 2023 and in particular to remind you to submit your entries for the Art Gallery.  See you there!  The conference will take place October 26 and 27, and features plenary talks by our own Laurent Bernardin and by Tom Crawford (Oxford, but more widely known as "The Naked Mathematician" for his incredibly popular YouTube videos on mathematical topics). See Tom Rocks Maths for more (or less :)

    The deadline for submission to the Proceedings (which will again be published in Maple Transactions) will be Nov 27, one month after the conference ends.  We have put new processes in place to ensure a more timely publication schedule, and we anticipate that the Proceedings will be published in early Spring 2024.

    First 10 11 12 13 14 15 16 Last Page 12 of 306