Maplesoft Blog

The Maplesoft blog contains posts coming from the heart of Maplesoft. Find out what is coming next in the world of Maple, and get the best tips and tricks from the Maple experts.

I’m absolutely delighted to announce the launch of Maple 2025!

Although you see a new release every year, new features take anything from a few fast-paced weeks to develop, to months of careful cultivation.

Working on so many features in parallel, each with varying time scales, isn't easy! We have to fastidiously manage and track our work.

So it's easy to lose ourselves in the daily minutiae of software development. To help us maintain perspective, we constantly ask ourselves questions like:

  • What user problem are we solving and how often does this problem occur?
  • Can we validate our proposed solution with preliminary user feedback?
  • Is this a solution to a problem that doesn't exist and will never exist, or are we pre-empting a future need?
  • Are we offering value to our users?

Given the answers, we course-correct to make sure we stay on track for our central mission - to make you happy, and to keep you coming back year-after-year.

With Maple 2025, I think we've smashed that goal. We have many new features that'll appeal to many different types of users - from students, educators and mathematicians, to engineers, scientists and technical professionals

Let me walk you through some of my personal highlights.

It’ll be difficult for anyone to miss this - Maple 2025 has a new interface! It’s a ribbon-based UI that look clean and contemporary, and helps you find and discover tools more quickly than before.

You have large, meaningful icons.

Items are logically grouped.

The ribbons is contextual. If you click on a plot, you get new tabs for interacting with and drawing on the plot.

A new Education tab collects pedagogical resources that were scattered around the interface in prior releases.

This is the biggest visual overhaul to Maple in many years. We hope you like it! 

We also appreciate that changes in look and feel can be divisive. Please rest assured that we will refine and finesse the interface with each successive release; your comments and suggestions are most welcome.

The new interface is available on Windows and Linux, and as a technology preview on Mac.

The right arrow key on my keyboard is wearing out…and it’s all because of Maple. I’m knee deep in Maple nearly every day entering equations, and I’m always using right-arrow to move the cursor. It gets kind of tedious!

This anecdote reflects some investigative work we did. We comprehensively examined our internal library of thousands of Maple worksheets and discovered that these three input patterns are extremely common.

Previously, you’d use the right-arrow key to move the cursor out of the exponential, division or subscript.

Now, in Maple 2025, when you

  • type ^, /, or enter a literal subscript with a double-underscore,
  • followed by a number or symbol
  • and then input another operator (such as +)

the operator is automatically inserted on the baseline (except when y = 1).

Of course, you can also make the cursor return to or stay in the exponent or denominator with a simple keystroke, when that is what is needed.

This is one of those little quality of life refinements that I’m very fond of - it’s a little visual and usability dopamine hit.

The sum command (and its typeset form) now indexes into vectors without you needing to spam unevaluation quotes all over your expression.

Maple 2024

Maple 2025

We’ve been integrating units deeper into the Maple system, release after release. Much of this is driven by our engineering users.

A few releases ago, we made int(numeric) compatible with units. With Maple 2025, you can now numerically differentiate  expressions and procedures that have units.

I’m a grizzled thermodynamics hack, so here’s an example in which I calculate the specific heat capacity of water by differentiating enthalpy with respect to temperature (and then confirm the result with the built-in value):

This is in addition to many other improvements to the units experience.

Although this is a part of Maple that I don’t touch often (my colleague Karishma takes point on the education side), I REALLY wish I’d had this when I was struggling with math.

You can now automatically generate unlimited variants of the same problem for students to solve with the Try Another feature, which has been added to Maple’s Check My Work tools (another feature I really could have used!). This is available for many common math principles, including factorization, simplification, integration and more.

This is just one of the improvements in Maple 2025 for teaching and learning.

 If you’ve ever found yourself going back and forth (and back and forth) between two large, almost identical-looking Maple expressions, trying to figure out how they are different, you’re going to love this one.  ExpressionTools is a new package that lets you compare the differences between two expressions.

I really like the use of color to highlight differences. Less squinting at the screen!

You can now run Maple Flow worksheets from Maple (you don’t need Maple Flow installed to do this). You can send parameters into the Flow worksheet and extract your desired results.

This means you can use the entire flexibility of Maple to analysis and manipulate your Flow worksheet. You could, for example:

  • Attach a Flow worksheet to a Maple workbook and create an interactive application
  • Carry out parameter studies of a Flow worksheet by evaluating it over many parameter sets in Maple
  • Create an Excel interface for a Flow worksheet using the Maple add-in for Excel

Simplify is one of those functions that literally tens of thousands of people use each day. Every time we make an incremental improvement, the cumulative benefits across our entire user base are significant.

We’ve refined simplify in a number of critical ways. For example, simplify now recognizes when exponentials can be profitably converted to hyperbolic trig functions:

The analysis of many scientific phenomena result in Laplace transforms that do not have a symbolic inverse which can be expressed in terms of elementary functions. This includes applications in heat transfer, fluid mechanics, fractional diffusion processes, control systems and electrical transmission.

For example, this monster Laplace transform results from an analysis of voltage on a transmission line:

You can now numerically invert this transform courtesy of an enhancement to inttrans:-invlaplace - a fast quadrature method.

I’ve saved what I think has the most future potential for last.

I’m sure nearly all of you have experimented with the various AI tools. They’re an inevitable part of our present and future, whether we're comfortable with it or not.

This is something we've been mulling over for some time.

  • In Maple 2019, the DeepLearning package made its debut. This package provides tools for machine learning, supporting operations such as classification and regression using neural networks.
  • In Maple 2024, we introduced an AI-powered formula lookup feature.

In Maple 2025, we’re giving you an early-stage technology preview of AI-powered document generation.

You can automatically generate worksheet content by prompting an AI, and then gradually refine the content

If you’re an educator, you might want some content that describes applications of calculus. So you might ask the AI “How do I derive the formula for the area of a circle” by entering your prompt into this text box:

This is the worksheet content that may be returned:

If you’re structural engineer who wants to know how to calculate the hardness of concrete, you might ask the AI: “How do I calculate the compressive strength of slow hardening concrete as a function of time? Use the CEB-FIP Model Code 90. Include a worked example with Maple code”.

This worksheet content that could be generated (note the live Maple code):

We’re labelling AI-generated worksheet content as a technology preview. You might see

  • text that might be misleading (but sounds plausible)
  • code that doesn’t work (but looks plausible)
  • or different results each time you click “Generate Document”

For the moment, I would not rely on AI-generated worksheet content without realistic expectations, a healthy dose of scepticism and a modicum of detached analysis. But AI models are rapidly growing in robustness, and we want to position ourselves to best exploit their future potential. The next few years will be VERY exciting.

We can never cover everything in a short blog post like this. So if you want to know more, head on over to the What’s New pages for Maple 2025!

As some of you may have noticed, MaplePrimes was down for a few days, and some customers may have encountered a few problems with our web site, as well.

As you can see, MaplePrimes is up and running again. We are still experiencing a few lingering issues on our main web site, but we expect these will be resolved shortly.

Apologies to those who were inconvenienced by the outage. We appreciate your patience.

I'm happy to announce the publication of Volume 5, Issue #1 of Maple Transactions.  You can find it at

mapletransactions.org
 

We have a survey paper by Veselin Jungic and Naomi Borwein on teaching Experimental Mathematics courses as our Featured Contribution.  Many of you will find it interesting and useful.

In the refereed paper section we have a paper on Metaprogramming with Maple and C by Ilias Kotsireas; a paper on fast transposed Vandermonde solving by Hyukho Kwon & Michael Monagan; a paper by David Ulgenes (an honours student in Oslo) on Gamma, Pseudogamma, and Inverse Gamma functions; and a paper by John Campbell on applications of Gosper's nonlocal derangement identity (which, if you don't know that the word "derangement" has a technical mathematical meaning, may give you the wrong impression!).

As usual I've also written something, and I hope you like it: it's about Chladni figures and standing modes in an elliptical drum, and visualizing such in Maple.  It uses Mathieu functions in Maple and noodles a bit about zerofinding (but winds up using fsolve because that's so convenient).
 

Keep the papers coming.  This is the 12th issue of Maple Transactions, and I remind you that it has a "Diamond Class" designation, which means there are no page charges to authors, and the articles are free to read for everyone.  This means that there's some volunteer labour needed, of course: you have to write the articles, and what we want is that you write articles that people in the Maple community actually want to read.

I'd also like to thank the copyeditor, Michelle Hatzel, for her very hard work on this issue.  She's really made a difference, and I think you will be able to see it.   

 

 

For Maple 17, in 2013, we introduced the GroupTheory package. It has seen a lot of improvements since its introduction, and I figured I would write something about how you can use it to teach a group theory course.

 

First of all, I think it would be a great idea to have your students just play with the GroupTheory package in Maple, and get some intuition for what makes group theory tick by getting their hands dirty. But that is not what I want to talk about today. Instead, I want to discuss how you might use it for giving your lectures - to show some visualizations while you show your beamer presentation or write on the black- or whiteboard.

 

When starting out with the definition of a group, you might want to compare the Cayley table of a group with that of a binary operation that doesn't define a group. A set with any binary operation is called a magma; to find good examples, we might want to use one group; one magma that has an identity and is associative but not invertible; and one magma that is has an identity and is invertible but not associative. Maybe we also want the group to not be cyclic (so the group order will have to not be prime), because those Cayley tables look a little boring. For this we can use the Magma package.

 

We note that a magma that is invertible and has an identity element is called a loop. We can enumerate all magmas of a given order and with certain properties using the command Magma:-Enumerate, finding either the number of such objects (by default) or a list of the multiplication tables (with the output = list option). Can we find interesting examples of order 4?

 

with(Magma)

Enumerate(4, group), Enumerate(4, loop), Enumerate(4, associative, identity)

2, 2, 35

(1)

 

No: all loops of order 4 are groups. Let's try order 6.

 

Enumerate(6, group), Enumerate(6, loop), Enumerate(6, associative, identity)

2, 109, 2237

(2)

 

Yes, we can find examples here. We find the Cayley tables of three suitable magmas; we call the non-cyclic group one m1, the non-associative loop one m2, and the non-invertible magma m3.

 

Enumerate(6, group, output = list)

(3)

"m1 := ?[2]:"

Enumerate(6, loop, output = list)[1 .. 5]

(4)

 

"m2 := ?[2]:"

Enumerate(6, associative, identity, output = list)[1 .. 5]

(5)

 

Most of these appear to have many more of one value than of another (e.g., many more threes). Let's find one where that is not so extreme. For example, we might want to minimize the standard deviation of the frequencies of the values occurring in the Cayley table.

 

lst := Enumerate(6, associative, identity, output = list)

lst := remove(IsLeftInvertible, lst)

numelems(lst)

2235

(6)

frequencies := map(proc (m) options operator, arrow; map2(numboccur, m, [seq(1 .. 6)]) end proc, lst)``

with(Statistics)

sds := map(StandardDeviation, convert(frequencies, 'set'))

{HFloat(2.449489742783178), HFloat(3.0983866769659336), HFloat(3.1622776601683795), HFloat(3.22490309931942), HFloat(3.286335345030997), HFloat(3.3466401061363027), HFloat(3.4058772731852804), HFloat(3.4641016151377544), HFloat(3.464101615137755), HFloat(3.521363372331802), HFloat(3.5213633723318023), HFloat(3.5777087639996634), HFloat(3.6331804249169903), HFloat(3.687817782917155), HFloat(3.7416573867739413), HFloat(3.794733192202055), HFloat(3.8470768123342687), HFloat(3.847076812334269), HFloat(3.898717737923586), HFloat(3.9496835316262997), HFloat(3.9496835316263), HFloat(3.9999999999999996), HFloat(4.0), HFloat(4.049691346263318), HFloat(4.09878030638384), HFloat(4.147288270665544), HFloat(4.195235392680606), HFloat(4.1952353926806065), HFloat(4.2895221179054435), HFloat(4.33589667773576), HFloat(4.3817804600413295), HFloat(4.427188724235731), HFloat(4.47213595499958), HFloat(4.5166359162544865), HFloat(4.560701700396552), HFloat(4.604345773288535), HFloat(4.604345773288536), HFloat(4.6475800154489), HFloat(4.69041575982343), HFloat(4.732863826479693), HFloat(4.774934554525329), HFloat(4.77493455452533), HFloat(4.8166378315169185), HFloat(4.857983120596447), HFloat(4.898979485566356), HFloat(4.9396356140913875), HFloat(4.939635614091388), HFloat(4.979959839195493), HFloat(5.019960159204453), HFloat(5.059644256269407), HFloat(5.0990195135927845), HFloat(5.138093031466052), HFloat(5.176871642217914), HFloat(5.215361924162119), HFloat(5.253570214625479), HFloat(5.291502622129181), HFloat(5.329165037789691), HFloat(5.366563145999495), HFloat(5.403702434442518), HFloat(5.440588203494177), HFloat(5.477225575051661), HFloat(5.513619500836089), HFloat(5.549774770204643), HFloat(5.585696017507577), HFloat(5.621387729022079), HFloat(5.656854249492381), HFloat(5.692099788303083), HFloat(5.727128425310542), HFloat(5.761944116355173), HFloat(5.796550698475776), HFloat(5.830951894845301), HFloat(5.865151319446072), HFloat(5.8991524815010505), HFloat(5.93295878967653), HFloat(5.932958789676531), HFloat(5.966573556070519), HFloat(6.0), HFloat(6.0332412515993425), HFloat(6.066300355241241), HFloat(6.066300355241242), HFloat(6.099180272790763), HFloat(6.131883886702357), HFloat(6.164414002968976), HFloat(6.196773353931867), HFloat(6.228964600958975), HFloat(6.260990336999411), HFloat(6.29285308902091), HFloat(6.324555320336759), HFloat(6.356099432828282), HFloat(6.418722614352485), HFloat(6.48074069840786), HFloat(6.511528238439883), HFloat(6.542170893518451), HFloat(6.572670690061994), HFloat(6.603029607687671), HFloat(6.603029607687672), HFloat(6.6332495807108), HFloat(6.663332499583073), HFloat(6.6932802122726045), HFloat(6.693280212272605), HFloat(6.723094525588644), HFloat(6.723094525588645), HFloat(6.752777206453653), HFloat(6.782329983125268), HFloat(6.811754546370561), HFloat(6.928203230275509), HFloat(6.957010852370435), HFloat(6.985699678629192), HFloat(7.014271166700073), HFloat(7.042726744663604), HFloat(7.0710678118654755), HFloat(7.127411872482185), HFloat(7.155417527999327), HFloat(7.183313998427188), HFloat(7.18331399842719), HFloat(7.293833011524188), HFloat(7.429670248402684), HFloat(7.4565407529228995), HFloat(7.4565407529229), HFloat(7.483314773547883), HFloat(7.536577472566709), HFloat(7.53657747256671), HFloat(7.563068160475615), HFloat(7.64198926981712), HFloat(7.77174369109018), HFloat(7.8993670632526), HFloat(7.92464510246358), HFloat(7.9498427657407165), HFloat(8.024961059095553), HFloat(8.12403840463596), HFloat(8.366600265340756), HFloat(8.390470785361211), HFloat(8.390470785361213), HFloat(8.414273587185052), HFloat(8.438009243891594), HFloat(8.508818954473059), HFloat(8.854377448471462), HFloat(8.87693640846886), HFloat(8.921883209278185), HFloat(9.338094023943), HFloat(9.338094023943002), HFloat(9.359487165438072), HFloat(9.81835016690686), HFloat(9.818350166906862), HFloat(10.295630140987)}

(7)

 

Aha, the smallest standard deviation is a bit under two and a half, and the next possible value is greater than 3. Let's examine the Cayley tables that show this standard deviation.

NULL

small_sd_index := select(proc (i) options operator, arrow; StandardDeviation(frequencies[i]) < 3 end proc, [seq(1 .. numelems(frequencies))])

[1636, 1638, 2234, 2235]

(8)

small_sd := lst[small_sd_index]

(9)

 

The last of these looks interesting.

 

m3 := small_sd[-1]

NULL

Now we can display these three Cayley tables:

CayleyColorTable(m1); CayleyColorTable(m2); CayleyColorTable(m3)

 

It's clear that the multiplication shown in the third Cayley table is not invertible (because multiplying by any element other than 1, on either side, is not a permutation of the elements: rows and columns beyond the first don't have all colors). It's less visually obvious that the second Cayley table doesn't show an associative multiplication, but a quick loop showed that 5*(3*3) = 5*5 and 5*5 = 4 whereas 3*(3*5) = 3 and 3 = 3. I'm not sure if there is something real underpinning this, but to my mind this is a nice parallel to the fact that when you're proving a set with a given operation is a group, it's easier to show that there are inverses than that the operation is associative.

 

A second nice visualization, also usable in the first week or two of a group theory course, is also named after Cayley: Cayley graphs. Here is a Cayley graph for the dihedral group D[3] of order 6:

 

with(GroupTheory)

D3 := DihedralGroup(3)

_m132248572811840

(10)

with(GraphTheory)

DrawGraph(CayleyGraph(D3), layout = spring)

 

NULL

Here is a well-known presentation of the alternating group on 4 letters. I find "grabbing and turning" the 3D plot shows the structure much better than simply an embedding of the graph in the plane.

 

a4 := `<|>`(`<,>`(a, b), `<,>`(a^3, b^2, a.b.a = b.(a^2).b))

_m132249105458016

(11)

DrawGraph(CayleyGraph(a4), layout = spring, dimension = 3, size = [800, 800])

 

 

Another great opportunity for a visualization comes a couple of weeks later, when you talk about subgroup lattices. Here are a few examples:

 

with(GroupTheory)``

qd := QuasiDihedralGroup(2)

_m132249751531168

(12)

GroupOrder(qd)

16

(13)

DrawSubgroupLattice(qd, normal = false, center = false)

 

 

This is the plain subgroup lattice. Note how the subgroups in the first and second nontrivial "layer" from the bottom are grouped by conjugacy class. The default visualization of a subgroup lattice highlights the centre in light blue and the (in this case six) other normal subgroups in green.

 

DrawSubgroupLattice(qd)

 

 

We see that every conjugacy class of size one is a normal subgroup. We can also highlight other subgroups, if we want. Maybe we want to show which are the (cyclic) subgroups generated by one of the chosen generators:

 

generators := Generators(qd)

[_m132249751506336, _m132249751509600]

(14)

DrawSubgroupLattice(qd, highlight = [seq({g}, `in`(g, generators))])

 

 

Of course you can also show more advanced topics in this way. For example, here is the Frattini series of this group.

 

DrawSubgroupLattice(qd, highlight = FrattiniSeries(qd))

 

NULL NULL


 

Download blogpost-algebra.mw

With Maple Flow, we’re regularly rolling out exciting updates. Each offers new features, as well as resolving many user-reported issues.

Flow 2024.2 lives up to that track record. Two major new features - drop-down menus and phasors - make their debut. We've also made many other quality-of-life enhancements.

Drop-down list boxes make your worksheets more tactile and interactive. The menu items can be defined in a matrix or vector, or in a table. You can return the index of the selected item, or return an entire row or column of a matrix.

An important use case is populating the contents of a drop-down menu with data from an external file. In movie below, we

  • import a database of steel shapes and their associated properties
  • populate the drop-down menu with the steel shapes in the first column of the imported data
  • based upon the selected shape, use ArrayTools:-Lookup to return a property
  • and finally perform a design analysis.

If you look carefully, you'll see that you can hide commands on a per-container basis to make your worksheets cleaner.

We have a large number of power system engineers who want to model electrical systems in phasor notation.

Entering a phasor is easy - just enter the magnitude, the angle character and then the angle. Phasors evaluate to rectangular complex numbers but can be recast to phasor format with the Context Panel.

You can also associate a unit with the magnitude and angle. On output, you can change units inline or via the Context Panel.

You can also prevent floating point approximation of phasors using the symbolic toggle on each container.

We've also made a raft of other improvements. Extracting slices of matrices is faster, and you can now enter units in 2d notation in the Context Panel (particularly useful when you want to change the units of everything inside a matrix).

As ever, the new features are driven by you. The only way you can point us the right direction is by telling us what you want. Don't be shy!

We’re thrilled to announce the launch of our new Student Success Platform! Over the past several months, our academic team has dedicated itself to understanding how we can better support institutions in addressing their concerns around student retention rates. The numbers tell a concerning story: In the U.S., nearly 25% of first-year undergraduates don’t complete their studies, and in STEM fields, the numbers are even higher. In both STEM programs and non-STEM programs with math gateway courses, struggles with math are often a key reason students do not, or cannot, continue their studies. This has a profound impact on both the students’ futures and the institution’s revenue and funding.

From what we’re hearing from institutions and instructors, one of the most pressing issues is the lack of readiness among first-year students, particularly in math courses. With larger class sizes and students arriving with varying levels of preparedness, instructors face challenges in providing the personalized support that is essential. Additionally, many students don’t fully utilize existing resources, such as office hours or TA sessions, which increases their risk of falling behind and ultimately dropping out.

Our new Student Success Platform is designed to tackle these issues head-on. It combines all of our existing tools with exciting new features to help students succeed on their own terms—without adding to instructors' already busy workloads. The early feedback has been fantastic, and we can’t wait for you to see the impact it can make.

You can read more about the Student Success Platform here: https://www.maplesoft.com/student-success-platform/

 

Maple Transactions has just published the Autumn 2024 issue at mapletransactions.org

From the header:

This Autumn Issue contains a "Puzzles" section, with some recherché questions, which we hope you will find to be fun to think about.  The Borwein integral (not the Borwein integral of XKCD fame, another one) set out in that section is, so far as we know, open: we "know" the value of the integral because how could the identity be true for thousands of digits but yet not be really true? Even if there is no proof.  But, Jon and Peter Borwein had this wonderful paper on Strange Series and High Precision Fraud showing examples of just that kind of trickery.  So, we don't know.  Maybe you will be the one to prove it! (Or prove it false.)

We also have some historical papers (one by a student, discussing the work of his great grandfather), and another paper describing what I think is a fun use of Maple not only to compute integrals (and to compute them very rapidly) but which actually required us to make an improvement to a well-known tool in asymptotic evaluation of integrals, namely Watson's Lemma, just to explain why Maple is so successful here.

Finally, we have an important paper on rational interpolation, which tells you how to deal well with interpolation points that are not so well distributed.

Enjoy the issue, and keep your contributions coming.

With the 2024 Maple Conference coming up this week, I imagine one of two of you have noticed something missing. We chose not to have a Conference Art Gallery this year, because we have been working to launch new section of MaplePrimes:  The MaplePrimes Art Gallery. This new section of MaplePrimes is designed for showing off your Maple related images, in a gallery format that puts the images up front, like Instagram but for Math.

To get the ball rolling on the gallery, I have populated it with many of the works from past years' Maple Art Galleries, so you can now browse them all in one place, and maybe give "Thumbs Ups" to art pieces that you felt should have won the coveted "People's Choice Award".

Once you are inspired by past entries, we welcome you to submit your new artwork!  Just like the conference galleries, we are looking for all sorts of mathematical art ranging from computer graphics and animations, to photos of needlework, geometrical sculptures, or almost anything!  Art Gallery posts are very similar to regular MaplePrimes posts except that you are asked to supply an Image File and a Caption that will displayed on the main Gallery Page, the post itself can include a longer description, Maple commands, additional images, and whatever else you like.  See for example this Art Gallery post describing Paul DeMarco's sculpture from the 2021 Maple Conference Gallery - it includes an embedded worksheet as well as additional images.

I can't wait to see what new works of art our MaplePrimes community creates!

 

The complete Maple Conference 2024 program is now available online. You can view it HERE.
Thank you to all those who voted for the "Audience Choice" sessions. The winning topics are listed in the program.

Registration is still open and free of charge.  

We hope to see you there!

VerifyTools is a package that has been available in Maple for roughly 24 years, but until now it has never been documented, as it was originally intended for internal use only. Documentation for it will be included in the next release of Maple. Here is a preview:

VerifyTools is similar to the TypeTools package. A type is essentially a predicate that a single expression can either satisfy or not. Analogously, a verification is a predicate that applies to a pair of expressions, comparing them. Just as types can be combined to produce compound types, verifications can also be combined to produce compund verifications. New types can be created, retrieved, queried, or deleted using the commands AddType, GetType (or GetTypes), Exists, and RemoveType, respectively. Similarly in the VerifyTools package we can create, retrieve, query or delete verifications using AddVerification, GetVerification (or GetVerifications), Exists, and RemoveVerification.

The package command VerifyTools:-Verify is also available as the top-level Maple command verify which should already be familiar to expert Maple users. Similarly, the command VerifyTools:-IsVerification is also available as a type, that is,

VerifyTools:-IsVerification(ver);

will return the same as

type(ver, 'verification');

The following examples show what can be done with these commands. Note that in each example where the Verify command is used, it is equivalent to the top-level Maple command verify. (Also note that VerifyTools commands shown below will be slightly different compared to the Maple2024 version):

with(VerifyTools):

Suppose we want to create a verification which will checks that the length of a result has not increased compared to the expected result. We can do this using the AddVerification command:

AddVerification(length_not_increased, (a, b) -> evalb(length(a) <= length(b)));

First, we can check the existence of our new verification and get its value:

Exists(length_not_increased);

true

GetVerification(length_not_increased);

proc (a, b) options operator, arrow; evalb(length(a) <= length(b)) end proc

For named verifications, IsVerification is equivalent to Exists (since names are only recognized as verifications if an entry exists for them in the verification database):

IsVerification(length_not_increased);

true

On the other hand, a nontrivial structured verification can be checked with IsVerification,

IsVerification(boolean = length_not_increased);

true

whereas Exists only accepts names:

Exists(boolean = length_not_increased);

Error, invalid input: VerifyTools:-Exists expects its 1st argument, x, to be of type symbol, but received boolean = length_not_increased

The preceding command using Exists is also equivalent to the following type call:

type(boolean = length_not_increased, verification);

true

Now, let's use the new verification:

Verify(x + 1/x, (x^2 + 1)/x, length_not_increased);

true

Verify((x^2 + 1)/x, x + 1/x, length_not_increased);

false

Finally, let's remove the verification:

RemoveVerification(length_not_increased);

Exists(length_not_increased);

false

GetVerification(length_not_increased);

Error, (in VerifyTools:-GetVerification) length_not_increased is not a recognized verification

GetVerifications returns the list of all verifications known to the system:

GetVerifications();

[Array, FAIL, FrobeniusGroupId, Global, Matrix, MultiSet, PermGroup, RootOf, SmallGroupId, Vector, address, after, approx, array, as_list, as_multiset, as_set, attributes, boolean, box, cbox, curve, curves, dataframe, dataseries, default, default, dummyvariable, equal, evala, evalc, expand, false, float, function, function_bounds, function_curve, function_shells, greater_equal, greater_than, in_convex_polygon, indef_int, interval, less_equal, less_than, list, listlist, matrix, member, multiset, neighborhood, neighbourhood, normal, permute_elements, plot, plot3d, plot_distance, plotthing_compile_result, polynom, procedure, ptbox, range, rational, record, relation, reverse, rifset, rifsimp, rtable, set, sign, simplify, sublist, `subset`, subtype, superlist, superset, supertype, symbol, table, table_indices, testeq, text, true, truefalse, type, undefined, units, vector, verifyfunc, wildcard, xmltree, xvm]

Download VerificationTools_blogpost.mw

Austin Roche
Software Architect
Mathematical Software
Maplesoft

As AI becomes increasingly relevant in the tech world, Maplesoft has taken steps to integrate AI into our products. We recently launched two new features: Ask AI in Maple Learn and Word Problem Solver in Maple Calculator. 

 

Ask AI - Maple Learn

As a Math Content Creator at Maplesoft, sometimes I find myself in a creative rut. What documents would be engaging for students? How can I address certain math topics in a fun and interactive way?

I've had the pleasure of creating several collections during my time, including Extreme Value Theorem, Intermediate Value Theorem, and Polynomial Long Division. Nonetheless, each collection took a lot of storyboarding and creativity before I even began drafting them, and I've missed out on creating so many more collections because of this long idea generation process. Having a tool in my back pocket to reignite those creative juices would make it so much easier and faster to create new and exciting Maple Learn documents. 

Luckily, our new Ask AI feature in Maple Learn can help with that! 

Whenever you enter text into a Maple Learn document, a new Context Panel operation called "Ask AI" will pop up. Simply click that button to receive an AI response related to your prompt.

One of my favourite uses of Ask AI is to pick a random subject or phrase and see what the AI responds with. The Ask AI feature is designed to respond with a mathematics-centric answer so it will twist even the least mathematical of concepts into a math problem! The prompt "tacos" resulted in some formulas about sharing tacos with friends, and a prompt of "celebrity gossip" introduced statistical functions to compute the number of celebrity mentions per day

I also found that completing part of a tongue twister will result in some funny AI responses!

Here are a couple of my favorites below:

"She sells sea shells..."

Ask AI completes this tongue twister, then offers some formulas to compute the profit of selling S shells!

"How much wood..."

After relating that this tongue twister is not a mathematical problem, Ask AI then builds a simple formula for computing how much wood a woodchuck would (hypothetically) chuck.

There are many more applications of this feature, and I hope you all enjoy exploring them as you create documents on Maple Learn. If you're having trouble inputting text into your documents, or looking for a quick introduction to Maple Learn, check out the Walkthrough Tutorial. Beginner Tutorial (slide 8) addresses adding text to your document. Check out this blog post if you aren't sure how to access the Walkthrough Tutorial. 

 

Word Problem Solver - Maple Calculator

Maple Calculator now offers support for word problems by leveraging AI. Simply take a picture of your word problem and Maple Calculator will provide a solution generated by AI.

Here is a quick example:

I wrote on paper, “Alice and Bob have 17 apples total. Alice has double the number of apples as Bob plus two. How many apples does Bob have?”. Then I took a picture of this in Maple Calculator, and it gave me a breakdown of the problem using linear equations. See screenshots of my Maple Calculator below.

         

 

 

     

 

AI can be an amazing tool, but it can also make mistakes. We ensure that all our tools that incorporate AI clearly indicate its use, so that our users can know when AI is used and choose whether to use it. We're committed to remaining transparent about AI as our journey continues and we are always open to feedback. 

For our community of educators, a valuable exercise for students might be to show examples where AI makes mistakes and encourage students to find and explain the errors.

As an example, here is an algebra problem answered by Ask AI in Maple Learn – but it made a mistake! See if your students can spot where it went wrong and explain what should happen instead.

Building these skills will translate into good critical thinking skills that will benefit students inside and outside the classroom. For example, these exercises aim to help students identify their own mistakes in math and critically evaluate online sources. We would love to hear feedback about these exercises if you try them.

We hope these features will come in handy next time you use Maple Learn and Maple Calculator! 

 

 


I’m thrilled to introduce the updated Q&A Cards Creator! Michael Barnett had created the original Flash Cards Creator, inspired by the quiz creators in the Maple Learn gallery. I added some of the features (mentioned later in this post) that will help you use this tool to make more comprehensive quizzes. Students can use the creator to quiz themselves before a test, and instructors can integrate more practice quizzes into their lesson plans. One feature I particularly love is the ability to link full solutions to the back of each card, allowing users to understand the answers in depth (as shown in this document). Additionally, you can link a general solutions package (as seen here) if individual solutions aren’t necessary for each question. Below is an example of what the Q&A cards can look like from the users point of view.
This creator is a great example of the Maple Learn documents you can create through scripting in Maple. With a single script, you can create an infinite amount of content and quizzes. If you are interested in Maple scripting, here is a link to the Q&A cards script. If this script looks intimidating, feel free to check out this blog post on the basics of Maple scripting!


If you are interested in creating your own Q&A quiz, you can go to this document to get started. If you get stuck at any point creating your card set, check out the instructions included in the document for clarification. We hope you enjoy creating some quizzes with this document!

 

Dear Maple Community,

It has been a year since the passing of Stefan Vorkoetter, who started contributing to the Maple project in the 80s and was a long term member of our development team. 

Here are a few recently published articles about Stefan, that I'd like to share with you:

https://mapletransactions.org/index.php/maple/article/view/18269
https://mapletransactions.org/index.php/maple/article/view/18681

we shall not forget

 

 

We are pleased to announce that the registration for the Maple Conference 2024 is now open.

Like the last few years, this year’s conference will be a free virtual event. Please visit the conference page for more information on how to register.

This year we are offering a number of new sessions, including more product training options and an Audience Choice session.
You can find an overview of the program on the Sessions page. Those who register before September 10th, 2024 will have a chance to vote for the topics they want to learn more about during the Audience Choice session.

We hope to see you there!

Maple Learn has so much to offer, but it can be tricky to know where to start! Even for those experienced with Maple Learn, sometimes, we miss an update with new features or fall out of practice with older ones. Luckily, we have the perfect solution for you–and it shows up right when you open your first document.

Introducing our brand-new Walkthrough Tutorial!

 

 

The tutorial covers all the main features of Maple Learn: from assigning functions, to using the Plot commands and Context Panel operations, all the way to creating your own visualizations with the Geometry commands. Stuck? Hints are provided throughout, or just click "Next" and the step will be completed automatically. 

 

 

If you're just starting out with Maple Learn, try the Beginner tutorial and work up to Advanced. This will introduce you to a holistic view of Maple Learn's capabilities along with some Maple Learn terminology. If you have some experience, starting with the Beginner tutorial is still a great option, but you may wish to begin with the Intermediate and Advanced tutorials. The Intermediate and Advanced sections cover how to use newer features of Maple Learn and you might discover something you haven't seen before!

How do I access the tutorial?

The tutorial will automatically launch when you open a new document. Head to https://learn.maplesoft.com and click "Open new document".

 

 

If the tutorial doesn't open automatically, it may have been disabled. You can manually open it by clicking the "Help" button in the top right, then clicking "Walkthrough Tutorial". 

There you have it! I had been using Maple Learn for the past few months and only recently discovered these two incredible features:

 

Silencing Groups (Intermediate - 6/7)

 

Live Sessions (Advanced - 6/6)

 

I found these features thanks to the Walkthrough Tutorial and my experience on Maple Learn hasn't been the same since! The Walkthrough Tutorial is a great introduction for new users, and a quick refresher for experts, but isn't the end of exploring Maple Learn's capabilities. See our How to Use Maple Learn (maplesoft.com) collection and our Getting Started with Maple Learn (youtube.com) video for more. You can also challenge The Treasure of Maple Learn (maplesoft.com) – a collection of documents designed to gamify exploring Maple Learn's features. Check out our blog post on The Case of the Mysterious Treasure - MaplePrimes to learn more about this collection. 

Hope you enjoy our new tutorial and let us know what you think!

1 2 3 4 5 6 7 Last Page 1 of 35