Hi Mapleprimes,

bye

## Maple Calculator – now with steps!

by: Maple Calculator

I’m very pleased to announce that the Maple Calculator app now offers step-by-step solutions. Maple Calculator is a free mobile app that makes it easy to enter, solve, and visualize mathematical problems from algebra, precalculus, calculus, linear algebra, and differential equations, right on your phone.  Solution steps have been, by far, the most requested feature from Maple Calculator users, so we are pretty excited about being able to offer this functionality to our customers. With steps, students can use the app not just to check if their own work is correct, but to find the source of the problem if they made a mistake.  They can also use the steps to learn how to approach problems they are unfamiliar with.

Steps are available in Maple Calculator for a wide variety of problems, including solving equations and systems of equations, finding limits, derivatives, and integrals, and performing matrix operations such as finding inverses and eigenvalues.

(*Spoiler alert* You may also want to keep a look-out for more step-by-step solution abilities in the next Maple release.)

If you are unfamiliar with the Maple Calculator app, you can find more information and app store links on the Maple Calculator product page.  One feature in particular to note for Maple and Maple Learn users is that you can use the app to take a picture of your math and load those math expressions into Maple or Maple Learn.  It makes for a fast, accurate method for entering large expressions, so even if you aren’t interested in doing math on your phone, you still might find the app useful.

## Pythagorean Triples Ternary Tree

Maple 18

I make a maple worksheet for generating Pythagorean Triples Ternary Tree :

Around 10,000 records in the matrix currently !

You can set your desire size or export the Matrix as text ...

But yet ! I wish to understand from you better techniques If you have some suggestion ?

the mapleprimes Don't load my worksheet for preview so i put a screenshot !

Pythagoras_ternary.mw

Pythagoras_ternary_data.mw

Pythagoras_ternary_maple.mw

## New book Fourier Transforms for Chemistry

by: Maple 2020

We announce the release of a new book, of title Fourier Transforms for Chemistry, which is in the form of a Maple worksheet.  This book is freely available through Maple Application Centre, either as a Maple worksheet with no output from commands or as a .pdf file with all output and plots.

This interactive electronic book in the form of a Maple worksheet comprises six chapters containing Maple commands, plus an overview 0 as an introduction.  The chapters have content as follows.

-   1    continuous Fourier transformation

-   2    electron diffraction of a gaseous sample

-   3    xray diffraction of a crystal and a powder

-   4    microwave spectrum of a gaseous sample

-   5    infrared and Raman spectra of a liquid sample

-   6    nuclear magnetic resonance of various samples

This book will be useful in courses of physical chemistry or devoted to the determination of molecular structure by physical methods.  Some content, duly acknowledged, has been derived and adapted from other authors, with permission.

## pillow curve

Maple 13

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

## One more way of inverse kinematics

by:

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.

## Introducing Maple Learn (officially)

by: Maple Learn

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!

## Damped Forced Movement with Maple

Maple 2020

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

## The Physics Examples and LaTeX

by: 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).

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

## Serious bugs in solve command

by: Maple 2018

In the two examples below (in the second example, the range for the roots is simply expanded), we see bugs in both examples (Maple 2018.2). I wonder if these errors are fixed in Maple 2020?

 > restart;
 > solve({log[1/3](2*sin(x)^2-3*cos(2*x)+6)=-2,x>=-7*Pi/2,x<=-2*Pi}, explicit, allsolutions); # Example 1 - strange error message solve({log[1/3](2*sin(x)^2-3*cos(2*x)+6)=-2,x>=-4*Pi,x<=-2*Pi}, explicit, allsolutions);  # Example 2 - two roots missing
 (1)
 > plot(log[1/3](2*sin(x)^2-3*cos(2*x)+6)+2, x=-7*Pi/2..-2*Pi); plot(log[1/3](2*sin(x)^2-3*cos(2*x)+6)+2, x=-4*Pi..-2*Pi);
 > Student:-Calculus1:-Roots(log[1/3](2*sin(x)^2-3*cos(2*x)+6)=-2, x=-7*Pi/2..-2*Pi);  # OK Student:-Calculus1:-Roots(log[1/3](2*sin(x)^2-3*cos(2*x)+6)=-2, x=-4*Pi..-2*Pi);  # OK
 (2)
 >

I am glad that  Student:-Calculus1:-Roots  command successfully handles both examples.

## Something about one degree of freedom for testing...

by: Maple 17

One forum had a topic related to such a platform. You can download a video of the movement of this platform from the picture at this link. The manufacturer calls the three-degrees platform, that is, having three degrees of freedom. Three cranks rotate, and the platform is connected to them by connecting rods through ball joints. The movable beam (rocker arm) has torsion springs.  I counted 4 degrees of freedom, because when all three cranks are locked, the platform remains mobile, which is camouflaged by the springs of the rocker arm. Actually, the topic on the forum arose due to problems with the work of this platform. Neither the designers nor those who operate the platform take into account this additional fourth, so-called parasitic degree of freedom. Obviously, if we will to move the rocker with the locked  cranks , the platform will move.
Based on this parasitic movement and a similar platform design, a very simple device is proposed that has one degree of freedom and is, in fact, a spatial linkage mechanism. We remove 3 cranks, keep the connecting rods, convert the rocker arm into a crank and get such movements that will not be worse (will not yield) to the movements of the platform with 6 degrees of freedom. And by changing the length of the crank, the plane of its rotation, etc., we can create simple structures with the required design trajectories of movement and one degree of freedom.
Two examples (two pictures for each example). The crank rotates in the vertical plane (side view and top view)
PLAT_1.mw

and the crank rotates in the horizontal plane (side view and top view).

The program consists of three parts. 1 choice of starting position, 2 calculation of the trajectory, 3 design of the picture.  Similar to the programm  in this topic.

## A little about controlled platforms (parallel...

by: Maple 17

Controlled platform with 6 degrees of freedom. It has three rotary-inclined racks of variable length:

and an example of movement parallel to the base:

Perhaps the Stewart platform may not reproduce such trajectories, but that is not the point. There is a way to select a design for those specific functions that our platform will perform. That is, first we consider the required trajectories of the platform movement, and only then we select a driving device that can reproduce them. For example, we can fix the extreme positions of the actuators during the movement of the platform and compare them with the capabilities of existing designs, or simulate your own devices.
In this case, the program consists of three parts. (The text of the program directly for the first figure : PLATFORM_6.mw) In the first part, we select the starting point for the movement of a rigid body with six degrees of freedom. Here three equations f6, f7, f8 are responsible for the six degrees of freedom. The equations f1, f2, f3, f4, f5 define a trajectory of motion of a rigid body. The coordinates of the starting point are transmitted via disk E for the second part of the program. In the second part of the program, the trajectory of a rigid body is calculated using the Draghilev method. Then the trajectory data is transferred via the disk E for the third part of the program.
In the third part of the program, the visualization is executed and the platform motion drive device is modeled.
It is like a sketch of a possible way to create controlled platforms with six degrees of freedom. Any device that can provide the desired trajectory can be inserted into the third part. At the same time, it is obvious that the geometric parameters of the movement of this device with the control of possible emergency positions and the solution of the inverse kinematics problem can be obtained automatically if we add the appropriate code to the program text.
Equations can be of any kind and can be combined with each other, and they must be continuously differentiable. But first, the equations must be reduced to uniform variables in order to apply the Draghilev method.
(These examples use implicit equations for the coordinates of the vertices of the triangle.)

## What to take care of when entering a tetrad

by: Maple 2020

In the study of the Gödel spacetime model, a tetrad was suggested in the literature [1]. Alas, upon entering the tetrad in question, Maple's Tetrad's package complained that that matrix was not a tetrad! What went wrong? After an exchange with Edgardo S. Cheb-Terrab, Edgardo provided us with awfully useful comments regarding the use of the package and suggested that the problem together with its solution be presented in a post, as others may find it of some use for their work as well.

The Gödel spacetime solution to Einsten's equations is as follows.

 >
 (1)
 >
 (2)

Working with Cartesian coordinates,

 >
 (3)

the Gödel line element is

 >
 (4)

Setting the metric

 >
 (5)

The problem appeared upon entering the matrix M below supposedly representing the alleged tetrad.

 >
 >
 (6)

Each of the rows of this matrix is supposed to be one of the null vectors . Before setting this alleged tetrad, Maple was asked to settle the nature of it, and the answer was that M was not a tetrad! With the Physics Updates v.857, a more detailed message was issued:

 >
 (7)

So there were actually three problems:

 1 The entered entity was a null tetrad, while the default of the Physics package is an orthonormal tetrad. This can be seen in the form of the tetrad metric, or using the library commands:
 >
 (8)
 >
 (9)
 >
 (10)
 2 The matrix M would only be a tetrad if the spacetime index is contravariant. On the other hand, the command IsTetrad will return true only when M represents a tetrad with both indices covariant. For  instance, if the command IsTetrad  is issued about the tetrad automatically computed by Maple, but is passed the matrix corresponding to   with the spacetime index contravariant,  false is returned:
 >
 (11)
 >
 (12)
 3 The matrix M corresponds to a tetrad with different signature, (+---), instead of Maple's default (---+). Although these two signatures represent the same physics, they differ in the ordering of rows and columns: the timelike component is respectively in positions 1 and 4.

The issue, then, became how to correct the matrix M to be a valid tetrad: either change the setup, or change the matrix M. Below the two courses of action are provided.

First the simplest: change the settings. According to the message (7), setting the tetrad to be null, changing the signature to be (+---) and indicating that M represents a tetrad with its spacetime index contravariant would suffice:

 >
 (13)

The null tetrad metric is now as in the reference used.

 >
 (14)

Checking now with the spacetime index contravariant

 >
 (15)

At this point, the command IsTetrad  provided with the equation (15), where the left-hand side has the information that the spacetime index is contravariant

 >
 (16)

Great! one can now set the tetrad M exactly as entered, without changing anything else. In the next line it will only be necessary to indicate that the spacetime index, , is contravariant.

 >
 (17)

The tetrad is now the matrix M. In addition to checking this tetrad making use of the IsTetrad command, it is also possible to check the definitions of tetrads and null vectors using TensorArray.

 >
 (18)
 >
 (19)

For the null vectors:

 >
 (20)
 >
 (21)

From its Weyl scalars, this tetrad is already in the canonical form for a spacetime of Petrov type "D": only

 >
 (22)
 >
 (23)

Attempting to transform it into canonicalform returns the tetrad (17) itself

 >
 (24)

Let's now obtain the correct tetrad without changing the signature as done in (13).

Start by changing the signature back to

 >
 (25)

So again, M is not a tetrad, even if the spacetime index is specified as contravariant.

 >
 (26)

By construction, the tetrad M has its rows formed by the null vectors with the ordering . To understand what needs to be changed in M, define those vectors, independent of the null vectors  (with underscore) that come with the Tetrads package.

 >

and set their components using the matrix M taking into account that its spacetime index is contravariant, and equating the rows of M  using the ordering :

 >
 (27)
 >
 (28)

Check the covariant components of these vectors towards comparing them with the lines of the Maple's tetrad

 >
 (29)

This shows the  null vectors (with underscore) that come with Tetrads package

 >
 (30)

So (29) computed from M is the same as (30) computed from Maple's tetrad.

But, from (30) and the form of Maple's tetrad

 >
 (31)

for the current signature

 >
 (32)

we see the ordering of the null vectors is , not  used in [1] with the signature (+ - - -). So the adjustment required in  M, resulting in , consists of reordering M's rows to be

 >
 (33)
 >
 (34)

Comparing  with the tetrad computed by Maple ((24) and (31), they are actually the same.

References

[1]. Rainer Burghardt, "Constructing the Godel Universe", the arxiv gr-qc/0106070 2001.

[2]. Frank Grave and Michael Buser, "Visiting the Gödel Universe",  IEEE Trans Vis Comput GRAPH, 14(6):1563-70, 2008.

## Maple Conference 2020 - It's Almost Here!

by: Maple

The 2020 Maple Conference is coming up fast! It is running from November 2-6 this year, all remotely, and completely free.

The week will be packed with activities, and we have designed it so that it will be valuable for Maple users of all skill and experience levels. The agenda includes 3 keynote presentations, 2 live panel presentations, 8 Maplesoft recorded presentations, 3 Maple workshops, and 68 contributed recorded presentations.

There will be live Q&A’s for every presentation. Additionally, we are hosting what we’re calling “Virtual Tables” at every breakfast (8-9am EST) and almost every lunch (12-1 EST). These tables offer attendees a chance to discuss topics related to the conference streams of the day, as well as a variety of special topics and social discussions. You can review the schedule for these virtual tables here.

Attendance is completely free, and we’re confident that there will be something there for all Maple users. Whether you attend one session or all of them, we’d love to see you there!

## Computing a tetrad in canonical form - automatically...

by: Maple

In a recent question in Mapleprimes, a spacetime (metric) solution to Einstein's equations, from chapter 27 of the book of Exact Solutions to Einstein's equations [1] was discussed. One of the issues was about computing a tetrad for that solution [27, 37, 1] such that the corresponding Weyl scalars are in canonical form. This post illustrates how to do that, with precisely that spacetime metric solution, in two different ways: 1) automatically, all in one go, and 2) step-by-step. The step-by-step computation is useful to verify results and also to compute different forms of the tetrads or Weyl scalars. The computation below is performed using the latest version of the Maplesoft Physics Updates.

 >
 >
 (1)

The starting point is this image of page 421 of the book of Exact Solutions to Einstein's equations, formulas (27.37)

Load the solution [27, 37, 1] from Maple's database of solutions to Einstein's equations

 >
 (2)
 >
 (3)

The assumptions on the metric's parameters are

 >

The line element is as shown in the second line of the image above

 >
 (4)

 >
 (5)

The Petrov type of this spacetime solution is

 >
 (6)

The null tetrad computed by the Maple system using a general algorithms is

 >
 >
 (7)

According to the help page TransformTetrad , the canonical form of the Weyl scalars for each different Petrov type is

So for type II, when the tetrad is in canonical form, we expect only  and  different from 0. For the tetrad computed automatically, however, the scalars are

 >
 (8)

The question is, how to bring the tetrad  (equation (7)) into canonical form. The plan for that is outlined in Chapter 7, by Chandrasekhar, page 388, of the book "General Relativity, an Einstein centenary survey", edited by S.W. Hawking and W.Israel. In brief, for Petrov type II, use a transformation of to make , then a transformation of  making , finally use a transformation of  making . For an explanation of these transformations see the help page for TransformTetrad . This plan, however, is applicable if and only if the starting tetrad results in , which we see in (8) it is not the case, so we need, in addition, before applying this plan, to perform a transformation of  making

In what follows, the transformations mentioned are first performed automatically, in one go, letting the computer deduce each intermediate transformation, by passing to TransformTetrad the optional argument canonicalform. Then, the same result is obtained by transforming the starting tetrad  one step at at time, arriving at the same Weyl scalars. That illustrates well both how to get the result exploiting advanced functionality but also how to verify the result performing each step, and also how to get any desired different form of the Weyl scalars.

Although it is possible to perform both computations, automatically and step-by-step, departing from the tetrad (7), that tetrad and the corresponding Weyl scalars (8) have radicals, making the readability of the formulas at each step less clear. Both computations, can be presented in more readable form without radicals departing from the tetrad shown in the book, that is

 >
 (9)
 >
 (10)

The corresponding Weyl scalars free of radicals are

 >
 (11)

So set this tetrad as the starting point

 >
 (12)

All the transformations performed automatically, in one go

To arrive in one go, automatically, to a tetrad whose Weyl scalars are in canonical form as in (31), use the optional argument canonicalform:

 >
 >
 (13)

Note the length of

 >
 (14)

That length corresponds to several pages long. That happens frequently, you get Weyl scalars with a minimum of residual invariance, at the cost of a more complicated tetrad.

The transformations step-by-step leading to the same canonical form of the Weyl scalars

Step 0

As mentioned above, to apply the plan outlined by Chandrasekhar, the starting point needs to be a tetrad with , not the case of (9), so in this step 0 we use a transformation of  making . This transformation introduces a complex parameter E and to get  any value of E suffices. We use :

 >
 (15)
 >
 (16)

 >
 (17)

Step 1

Next is a transformation of  to make , that in the case of Petrov type II also implies on .According to the the help page TransformTetrad , this transformation introduces a parameter B that, according to the plan outlined by Chandrasekhar in Chapter 7 page 388, is one of the two identical roots (out of the four roots) of the principalpolynomial. To see the principal polynomial, or, directly, its roots you can use the PetrovType  command:

 >
 (18)

The first two are the same and equal to -1

 >
 (19)

 >
 (20)

Check this result and the corresponding Weyl scalars to verify that we now have  and

 >
 (21)
 >
 (22)

Step 2

Next is a transformation of  that makes . This transformation introduces a parameter E, that according to Chandrasekhar's plan can be taken equal to one of the roots of Weyl scalar that corresponds to the transformed tetrad. So we need to proceed in three steps:

 a. transform the tetrad introducing a parameter E in the tetrad's components
 b. compute the Weyl scalars for that transformed tetrad
 c. take  and solve for E
 d. apply the resulting value of E to the transformed tetrad obtained in step a.

a.Transform the tetrad and for simplicity take E real

 >
 (23)
 >
 (24)

 >
 (25)

c. Solve  discarding the case  which implies on no transformation

 >
 (26)

d. Apply this result to the tetrad (23). In doing so, do not display the result, just measure its length (corresponds to two+ pages)

 >
 >
 (27)

Check the scalars, we expect

 >
 (28)

Step 3

Use a transformation of  making . Such a transformation changes , where we need to take , and without loss of generality we can take

Check first the value of  in the last tetrad computed

 >
 (29)

So, the transformed tetrad  to which corresponds Weyl scalars in canonical form, with  and , is

 >
 >
 (30)
 >
 (31)

These are the same scalars computed in one go in (13)

 >
 (32)
 >