Maple 2023 Questions and Posts

These are Posts and Questions associated with the product, Maple 2023

 

The moment we've all been waiting for has arrived: Maple 2023 is here!

With this release we continue to pursue our mission to provide powerful technology to explore, derive, capture, solve and disseminate mathematical problems and their applications, and to make math easier to learn, understand, and use. Bearing this in mind, our team of mathematicians and developers have dedicated the last year to adding new features and enhancements that not only improve the math engine but make that math engine more easily accessible within a user-friendly interface.

And if you ever wonder where our team gets inspiration, you don't need to look further than Maple Primes. Many of the improvements that went into Maple 2023 came as a direct result of feedback from users. I’ll highlight a few of those user-requested features below, and you can learn more about these, and many, many other improvements, in What’s New in Maple 2023.

  • The Plot Builder in Maple 2023 now allows you to build interactive plot explorations where parameters are controlled by sliders or dials, and customize them as easily as you can other plots

Plot Builder Explore

 

  • In Maple 2023, 2-D contour and density plots now feature a color bar to show the values of the gradations.


  • For those who write a lot of code:  You can now open your .mpl Maple code files directly in Maple’s code editor, where you can  view and edit the file from inside Maple using the editor’s syntax highlighting, command completion, and automatic indenting.

Programming Improvements

  • Integration has been improved in many ways. Here’s one of them:  The definite integration method that works via MeijerG convolutions now does a better job of checking conditions on parameters so that they are only applied under proper assumptions. It also tells you the conditions under which the method could have produced an answer, so if your problem does meet those conditions, you can add the appropriate assumptions to get your result.
  • Many people have asked that we make it easier for them to create more complex interactive Math Apps and applications that require programming, such as interactive clickable plots, quizzes that provide feedback, examples that provide solution steps. And I’m pleased to announce that we’ve done that in Maple 2023 with the introduction of the Quiz Builder and the Canvas Scripting Gallery.
    • The new Quiz Builder comes loaded with sample quizzes and makes it easy to create your own custom quiz questions. Launch the quiz builder next time you want to author interactive quizzes with randomized questions, different response types, hints, feedback, and show the solution. It’s probably one of my favorite features in Maple 2023.

  • The Scripting Gallery in Maple 2023 provides 44 templates and modifiable examples that make it easier to create more complex Math Apps and interactive applications that require programming. The Maple code used to build each application in the scripting gallery can be easily viewed, copied and modified, so you can customize specific applications or use the code as a starting point for your own work

  • Finally, here’s one that is bound to make a lot of people happy: You can finally have more than one help page open at the same time!

For more information about all the new features and enhancements in Maple 2023, check out the What’s New in Maple 2023.

P.S. In case you weren’t aware - in addition to Maple, the Maplesoft Mathematics Suite includes a variety of other complementary software products, including online and mobile solutions, that help you teach and learn math and math-related courses.  Even avid Maple users may find something of interest!

The new command ArrayTools[GeneralOuterProduct] (introduced in Maple 2021) computes the generalized outer product of two rtables, and again, there exists a similar function Outer in Mma (cf. the end of this question). But in practice, it appears that this Maple command is not so fast as Mma's one. To begin with, we need to generate four lists: w, x, y, and z. Our goal is forming all possible combinations of the lowest‐level elements in a nested structure (rather than a flat structure). Now let us start the test.

In Mathematica (the real time is about ): 

And in Maple (the real time is about ): 
 

restart;

w := [`$`](0 .. 1e4):
x := [`$`](0 .. 2e3):
y := [`$`](0 .. 3e2):
z := [`$`](0 .. 4e1):

"time[real]((p1:=MmaTranslator:-Mma:-ReplaceRepeated(convert(ArrayTools:-GeneralOuterProduct(convert([w,x],Array,fill=NULL),()->`if`(nargs=2,`[]`(args),NULL),convert([y,z],Array,fill=NULL)),listlist),[]=NULL)))"

199.880

(1)

"time[real]((p2:=(s4->(s3->(s2->(s1->`[]`(s3,s1))~(s2))~([y,z]))~(s4))~([w,x])))"

7.699

(2)

p3 := parse(StringTools:-CharacterMap("{}", "[]", FileTools:-Text:-ReadFile("E:/data.txt")))

evalb(p1 = p2 and p2 = p3) = trueNULL


 

Download Outer.mw

As you can see, Maple and Mathematica returns identical results (∵p1p3); nevertheless, Maple consumes too much time: the ratio is 199.880/0.784176 ≈ 254.892. (What a wide gap between them!) 
So, is there any possibility of speeding up Maple's ArrayTools:-GeneralOuterProduct? Or any ideas of obtaining the same results in Maple efficiently?

Explanatory notes. Here is an illustrative animation: 

(Deleted because not reproducible on a different PC)

With 1D

int(1/(sqrt(x__0 - x)*sqrt(-x^2 + 1)), x = 0 .. x__0)

Warning, unable to determine if -1 is between 0 and x__0; try to use assumptions or use the AllSolutions option

 

Warning, unable to determine if 1 is between 0 and x__0; try to use assumptions or use the AllSolutions option

 

int(1/((x__0-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. x__0)

(1)

NULL

With 2D

int(1/(sqrt(x__0-x)*sqrt(-x^2+1)), x = 0 .. x__0)

int(1/((x__0-x)^(1/2)*(-x^2+1)^(1/2)), x = 0 .. x__0)

(1)

NULL

The root cause might be the same as for this open question.

int_warning_2D.mw

int_warning_1D.mw

Update: partly resolved in Maple 2023. int_warning.mw still does not show the warning

There is a very helpful warning about using assumptions from the int command that does not appear in the attached case:
Warning, unable to determine if -1 is between 0 and x0; try to use assumptions or use the AllSolutions option
Warning, unable to determine if 1 is between 0 and x0; try to use assumptions or use the AllSolutions option

Using infolevel[int]:=5 in Maple 2022.2,  one can see that the integrals listed under int/ellalg/elltype are not the same.

My preference would be to have this warning always working. It's a reminder that Maple cannot give a general answer but that there might be solutions for a restricted real domain. The warning also does not reproduce when execution the corresponding help page
(Update: the warning reproduces in Maple 2023)

https://www.maplesoft.com/support/help/errors/view.aspx?path=Warning,%20unable%20to%20determine%20if%201%20is%20between%200%20and%20x__0;%20try%20to%20use%20assumptions%20or%20use%20the%20AllSolutions%20option

Sidenote: This kind of warning is so useful that I wonder if and how such warnings could be extended beyond  integration with piecewise solutions. (Maybe also to other commands. Maple often returns input unevaluated because there is no general solution in the complex domain, without informing the inexperienced user that there might be solutions available in the real domain.)

int_warning.mw

int_warning_with_infolevel.mw

First 31 32 33 Page 33 of 33