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
  • Hi all,

    Look at my pretty plot.  It is defined by

    x=sin(m*t);
    y=sin(n*t);

    where n and m are one digit positive integers.

    You can modify my worksheet with different values of n and m.

    pillow_curve.mw

    pillow_curve.pdf

    The name of the curve may be something like Curve of Lesotho.  I saw this first in one of my father's books.

    Regards,
    Matt

     

    This doc is just an example for uploading with my post.

    DocumentsAttachmentUsingLinks_in_MaplePrimes_Post.mw

    The above doc/worksheet can be clicked and viewed.

    Youtube URL is given below. This also can be clicked and viewed. Thanks to Carl Love's suggestion, I modified using the chain link in the editor.

    https://youtu.be/0pDa4FWMSQo

     

     

     

     

     

    Hello Congratulations on the great product! Isn't time time Maple got a dark theme for us night owls ! Thanx

    The order in which expressions evaluate in Maple is something that occasionally causes even advanced users to make syntax errors.

    I recently saw a single line of Maple code that provided a good example of a command not evaluating in the order the user desired.

    The command in question (after calling with(plots):) was

    animate(display, [arrow(<cos(t), sin(t)>)], t = 0 .. 2*Pi)

    This resulted in the error:

    Error, (in plots/arrow) invalid input: plottools:-arrow expects its 3rd argument, pv, to be of type {Vector, list, vector, complexcons, realcons}, but received 0.5000000000e-1*(cos(t)^2+sin(t)^2)^(1/2)
     

    This error indicates that the issue in the animation is the arrow command

    arrow(<cos(t), sin(t)>)

    on its own, the above command would give the same error. However, the animate command takes values of t from 0 to 2*Pi and substitutes them in, so at first glance, you wouldn't expect the same error to occur.

    What is happening is that the command 

    arrow(<cos(t), sin(t)>)

    in the animate expression is evaluating fully, BEFORE the call to animate is happening. This is due to Maple's automatic simplification (since if this expression contained large expressions, or the values were calculated from other function calls, that could be simplified down, you'd want that to happen first to prevent unneeded calculation time at each step).

    So the question is how do we stop it evaluating ahead of time since that isn't what we want to happen in this case?

    In order to do this we can use uneval quotes (the single quotes on the keyboard - not to be confused with the backticks). 

    animate(display, ['arrow'(<cos(t), sin(t)>)], t = 0 .. 2*Pi)

    By surrounding the arrow function call in the uneval quotes, the evaluation is delayed by a level, allowing the animate call to happen first so that each value of t is then substituted before the arrow command is called.

    Maple_Evaluation_Order_Example.mw

    Download pendulumprojection.mw

    Most of the time in multivariable calculus the vectors we are decomposing with respect to a given direction are attached to a specific point and this "orthogonal decomposition" should be visualized as a triplet of vectors with initial point at that given point such that the two projections sum to the original vector. Keep in mind our high school physics pendulum example where we need to evaluate both the component of the downward gravitational force along the tangential direction of motion of the pendulum for the equations of motion as well as along the perpendicular direction to the motion to evaluate the tension in the string or wire holding the pendulum mass.

    We create an Explorable graphic to visualize this idea and then create an animation which requires a bit of Maple expert user knowledge to accomplish (thanks Maplesoft!). A delayed evaluation of the arrow command from the plot package is required in order to animate that arrow so that it waits for the animation command to feed it actual numerical values for the vector to be plotted.

    My worksheet URL:
    http://www34.homepage.villanova.edu/robert.jantzen/courses/mat2500/handouts/pendulumprojection.mw

    As a continuation of the posts:
    https://www.mapleprimes.com/posts/208958-Determination-Of-The-Angles-Of-The-Manipulator
    https://www.mapleprimes.com/posts/209255-The-Use-Of-Manipulators-As-Multiaxis
    https://www.mapleprimes.com/posts/210003-Manipulator-With-Variable-Length-Of
    But this time without Draghilev's method.
    Motion along straight lines can replace motion along any spatial path (with any practical precision), which means that solving the inverse problem of the manipulator's kinematics can be reduced to solving the movement along a sequential set of segments. Thus, another general method for solving the manipulator inverse problem is proposed.
    An example of a three-link manipulator with 5 degrees of freedom. Its last link, like the first link, geometrically corresponds to the radius of the sphere. We calculate the coordinates of the ends of its links when passing a straight line segment. We do this in a loop for interior points of the segment using the procedure for finding real roots of polynomial systems of equations RootFinding [Isolate]. First, we “remove” two “extra” degrees of freedom by adding two equations to the system. There can be an infinite set of options for additional equations - if only they correspond to the technical capabilities of the device. In this case, two maximally easy conditions were taken: one equation corresponds to the perpendicularity of the last (third) link directly to the segment of the trajectory itself, and the second equation corresponds to the perpendicularity to the vector with coordinates <1,1,1>. As a result, we got four ways to move the manipulator for the same segment. All of these ways are selected as one of the RootFinding [Isolate] solutions (in text  jj=1,2,3,4).
    In this text jj=4
    without_Draghilev_method.mw       

    As you can see, everything is very simple, there is practically no programming and is performed exclusively by Maple procedures.

     

    Maple Learn is out of beta! I am pleased to announce that Maple Learn, our new online environment for teaching and learning math and solving math problems, is out of beta and is now an officially released product. Over 5000 teachers and students used Maple Learn during its public beta period, which was very helpful. Thank you to everyone who took the time to try it out and provide feedback.

    We are very excited about Maple Learn, and what it can mean for math education. Educators told us that, while Maple is a great tool for doing, teaching, and learning all sorts of math, some of their students found its very power and breadth overwhelming, especially in the early years of their studies. As a result, we created Maple Learn to be a version of Maple that is specifically focused on the needs of educators and students who are teaching and learning math in high school, two year and community college, and the first two years of university.  

    I talked a bit about what this means in a previous post, but probably the best way to get an overview of what this means is to watch our new two minute video:  Introducing Maple Learn.

     

     

    Visit Maple Learn for more information and to try it out for yourself.  A basic Maple Learn account is free, and always will be.   If you are an instructor, please note that you may be eligible for a free Maple Learn Premium account. You can apply from the web site. 

    There’s lots more we want to do with Maple Learn in the future, of course. Even though the beta period is over, please feel free to continue sending us your feedback and suggestions. We’ve love to hear from you!

    Recently I wanted to convert some integers to binary form and then make a list of the binary digits. I know I have done such things easily in the past but I forget how exactly. I spent quite a bit of time now hunting around in the Help facility looking for useful commands. I finally patched together a procedure to do that.
    My point is: searching for Help is often quite difficult.

    I notice however, that I can ask my android phone a question about, for example,  Frobenius reciprocity and it understands my spoken question and provides an answer (actually, many answers) instantly. It would be so nice if Maple had a better way to respond.

    I can search a whole pdf document for a keyword-not as satisfactory but still better that using the help facility.

    Does anyone else agree?

    Here is a very nice (but not easy) elementary problem.
    The equality
    ceil(2/(2^(1/n)-1)) = floor(2*n/ln(2));

                 

    is not an identity, it does not hold for each positive integer n.
    How to find such a number?

    [This is a re-post, because the original vanished when trying a conversion Question-->Post]

    The problem appears in the recent book:
    Richard P. Stanley - Conversational Problem Solving. AMS, 2020. 

    The problem is related to a n-dimensional tic-tac-toe game. The first counterexample (2000) was wrong due to a multiprecision arithmetic error.
    The  author of the book writes 
    "To my knowledge, only eight values of n are known for which the equation fails,
    and it is not known whether there are infinitely many such values",

    but using Maple it will be easy to find more.

    A brute-force solution is problematic because the smallest counterexample is > 7*10^14.

    restart;
    a := 2/(2^(1/n)-1): b := 2*n/ln(2):
    asympt(b-a, n);
    

            

    It results:  b - a → 1 (for n →oo);
    So, to have a counterexample, b must be close to an integer
    m ≈ 2*n/ln(2)  ==> n/m ≈ ln(2)/2

    The candidates for n/m will be obviously the convergents of the continued fraction of the irrational number ln(2)/2.
     

    convert(ln(2)/2, confrac, 200, 'L'):
    Digits:=500:
    for n in numer~(L[3..]) do
      if not evalf(ceil(a)=floor(b)) then printf("n=%d\n", n) fi;
    od:
    

    n=777451915729368
    n=140894092055857794
    n=1526223088619171207
    n=54545811706258836911039145
    n=624965662836733496131286135873807507
    n=1667672249427111806462471627630318921648499
    n=36465374036664559522628534720215805439659141
    n=2424113537313479652351566323080535902276508627
    n=123447463532804139472316739803506251988903644272
    n=97841697218028095572510076719589816668243339678931971
    n=5630139432241886550932967438485653485900841911029964871
    n=678285039039320287244063811222441860326049085269592368999
    n=312248823968901304612135523777926467950572570270886324722782642817828920779530446911
    n=5126378297284476009502432193466392279080801593096986305822277185206388903158084832387
    n=1868266384496708840693682923003493054768730136715216748598418855972395912786276854715767
    n=726011811269636138610858097839553470902342131901683076550627061487326331082639308139922553824778693815

     

    So, we have obtained 16 counterexamples. The question whether there are an infinity of such n's remains open.

     

    With this application, the differential equation of forced systems is studied directly. It comes with embedded components and also with native Maple code. Soon I will develop this same application with MapleSim. Only for engineering students.

    Damped_Forced_Movement.mw

    Lenin AC

    Ambassador of Maple

    One of the most interesting help page about the use of the Physics package is Physics,Examples. This page received some additions recently. It is also an excellent example of the File -> Export -> LaTeX capabilities under development.

    Below you see the sections and subsections of this page. At the bottom, you have links to the updated PhysicsExample.mw worksheet, together with PhysicsExamples.PDF.

    The PDF file has 74 pages and is obtained by going File -> Export -> LaTeX (FEL) on this worksheet to get a .tex version of it using an experimental version of Maple under development. The .tex file that results from FEL (used to get the PDF using TexShop on a Mac) has no manual editing. This illustrates new automatic line-breakingequation labels, colours, plots, and the new LaTeX translation of sophisticated mathematical physics notation used in the Physics package (command Latex in the Maplesoft Physics Updates, to be renamed as latex in the upcoming Maple release). 

    In brief, this LaTeX project aims at writing entire course lessons or scientific papers directly in the Maple worksheet that combines what-you-see-is-what-you-get editing capabilities with the Maple computational engine to produce mathematical results. And from there get a LaTeX version of the work in two clicks, optionally hiding all the input (View -> Show/Hide -> Input).

    PhysicsExamples.mw   PhysicsExamples.pdf

    PS: MANY THANKS to all of you who provided so-valuable feedback on the new Latex here in Mapleprimes.

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

    If you are interested in experimenting with simple antenna arrays, this worksheet may prove useful.  I have provided a few examples of arrays that repeat in the x, y and z directions, but it will be very easy to tweak this tool if you are more interested in circular or triangular arrays.

    This is one of the example arrays:

    Antenna_arrays.mw

    antenna_arrays.pdf

    In two recent questions

    dnaviaux  raised concerns about saving informations he could include in a typeset report.

    In the first question these informations were mainly printf terminal outputs, while the second question was oriented to informations of type Table (in the sense of DocumentTools:-Layout:-Table).

    Acer has given a direct answer to this last question.
    On my side I proposed a less direct one based on a LaTeXapproach.


    Since several years I use to generate a LaTeX source code for typeset reports directly from Maple (this is not very difficult once you know LaTeX).
    These reports often contain data tables Mbut latex(M)is not the good way to code these data tables into LaTeX.
    That is why I turned towards the LaTeX/tabularstructure

    \begin{tabular}{...}
    ...
    \end{tabular]


    Data tables are very simple structures and converting them programmatically from Maple Matrix into  LaTeX tabular is rather simple: the most important thing you must remember is that some characters have a special role in LaTeX  (for instance "\" , "_" and "$") while having a special meaning in Maple too: so beware of conflicts.

    The procedure Tabular in the attached file takes as argument a Matrix and returns the LaTeX code of its tabular counterpart.
    Note that it could be easily extendend to accept a DataFrameas input.
    This is a very simple simple version and fonts (\rm, \bf, \it... or others), styles (\scriptsize, \large, ...) and much more customization features could be accounted for without any difficulty.

    For this particular example inspired by dnaviaux first question, it would be probably better to replace the LaTeX code by one of thes two:

    \begin{tabular}{|c @{ $\pm$  } c|}
    ....
    Asdfsdg & +5.190e+01 & 2.5950e+00 \\ 
    

    or :

    \begin{tabular}{|c|c|}
    ....
    Asdfsdg & \multicolumn{2}{c|}{$+8.680e-01 \pm 0.9190$} \\ 





    dnaviaux second question concerned a DocumentTools:-Layout:-Table object.
    For what I understood this table has a simple structure (no rowspan neither columnspan used).

    But, knowing that tabular can manage merged columns (\multicolumn) and merged rows (\multirow, provided the ad hoc pasckage is used), I wondered if it would be possible to generate the LaTeX/tabular code corresponding to a Table using rowspan and columnspan?

    This is done by the procedure Tabular_Table in the attached file.
    Here again this is a very simple procedure which doesn't exploit all the informations a Table structure contains (backgroundstylefillcoloralignalignmentseparator [Tabular_Table separates all columns and rows] ...).

    The "raw" rendering is not bad but could be improved:

    • adjust the way \multirowcenters the content of a cell (Xis badly placed in example 3)
    • adjust the spaces between line/clineand the text
      • by using the package cellspace 
      • or my modufying \arraystretch with \renewcommand.
    • one could also add a legend with \caption
    • parameterize Tabular_Table to accept other column separators
    • manage the colors (for instance a blue for a math expression and a black for a text)
    • ...

    Finally Tabularand Tabular_Tablecould have an optional argument file:

    {file::{symbol, string}:= terminal} 

    set by default to terminalor wich could be the name of a  .texfile 


    This work is still under developpement and I would be happy to exchange with you on this topic.
    Happy New Year to all of you

     

    Tabular_from_Maple.mw

    Here is the content of the .tex file (I used Welcome-to-CoCalc.texto create/compile it)

    \documentclass{article}
    
    % set font encoding for PDFLaTeX, XeLaTeX, or LuaTeX
    \usepackage{ifxetex,ifluatex}
    \if\ifxetex T\else\ifluatex T\else F\fi\fi T%
      \usepackage{fontspec}
    \else
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage{lmodern}
    \fi
    
    \usepackage{hyperref}
    
    % DO NOT FORGET THIS PACKAGE !!!
    \usepackage{multirow}
    
    \title{Tabulars from Maple}
    \author{mmcdara}
    
    
    \begin{document}
    \maketitle
    
    \begin{itemize}
    \item[\bf{Example 1}]
    
    \begin{tabular}{|c|c|c|}
    \hline 
    \hline 
    Quantity & Nominal value & Uncertainty \\ 
    \hline 
    Asdfsdg & +9.060e+01 & 4.5298e+00 \\ 
    \hline 
    Bdfg & +1.437e+01 & 7.1870e-01 \\ 
    \hline 
    C123 & +8.025e+01 & 4.0125e+00 \\ 
    \hline 
    Ddf sdfg dsfg  & +9.614e+00 & 4.8072e-01 \\ 
    \hline 
    \hline 
    \end{tabular}
    
    \item[]\vspace*{10mm}
    
    \item[\bf{Example 3}]
    
    \begin{tabular}{| c | c | c | c | c |}
    \hline 
    \multicolumn{1}{|c|}{\multirow{4}{*}{X}} & \multicolumn{2}{c|}{\multirow{1}{*}{A1}} & \multicolumn{1}{c|}{\multirow{2}{*}{A2}} & \multicolumn{1}{c|}{\multirow{1}{*}{A3}} \\ 
    \cline{2-2} 
    \cline{3-3} 
    \cline{5-5} 
     & \multicolumn{1}{c|}{\multirow{2}{*}{B1}} &\multicolumn{1}{c|}{\multirow{1}{*}{B2}} & & \multicolumn{1}{c|}{\multirow{3}{*}{B3}} \\ 
    \cline{3-3} 
    \cline{4-4} 
     &  & \multicolumn{2}{c|}{${\cos \left( \omega\,t+\phi \right) }^{\mathstrut}_{\atop{}{\mathstrut}}$} &  \\ 
    \cline{2-2} 
    \cline{3-3} 
    \cline{4-4} 
     & \multicolumn{3}{c|}{${{\frac {1}{\Gamma  \left( x \right) }\sqrt {{{\rm e}^{-{\frac {{t}^{2}}{\pi }}}}}}}^{\mathstrut}_{\atop{}{\mathstrut}}$} &  \\ 
    \hline 
    \end{tabular} 
    
    \end{itemize}
    
    \end{document}


    Image of the resulting PDF:

     

    For comparison here is the Tableof Example 3 that Mapledisplays in the worksheet

    Hello everyone,

    There is a strange behaviour with code-edit. Namely, when hiding code-edit window and recovering it, sometimes Maple create a very narrow window. It is very hard to see the code that way. After a while the code-edit region window readjusts itself though. However it takes time.

    Also another thing, it would be useful when searching in a worksheet, to have an option that allows to search in code-edit region also.

    Best regards,

    A customer wondered if they could create a plot of points on a polar axis, and if they could zoom a polar plot.

     We suggested a couple of options for making these plots, and (although zooming is not supported in polar coordinates in Maple 2020) an alternative to manually scale a polar plot.

    Hope it's a useful demonstration.

    rho := [seq(i, i = 1 .. 10)];
    theta := [seq((2*j*Pi)/10, j = 1 .. 10)];
    nby2 := zip(`[]`, rho, theta);
    
    # Method A of plotting points in polar basis
    with(plots);
    pointplot(rho, theta, coords = polar, axiscoordinates = polar, connect = false, color = "HotPink", symbol = soliddiamond);
    
    #Method B to create polar point plot
    polarplot(nby2, style = point, color = "green", symbol = solidbox);
    
    #narrow view of polar plot around first point as a substitute for zooming
    polarplot(nby2, style = point, color = "OrangeRed", symbol = solidcircle, coordinateview = [0 .. 2, Pi/5 - Pi/20 .. Pi/5 + Pi/20])
    
    

    Download polar-point-plot-with-zoom.mw

    First 23 24 25 26 27 28 29 Last Page 25 of 300