MaplePrimes Announcement

For decades, Maple has been built around one of the world’s most powerful mathematics engines—helping students, educators, engineers, and researchers explore ideas, solve complex problems, and communicate mathematics clearly.

Maple 2026 builds on that foundation with major advances in the math engine, expanding the kinds of problems Maple can solve while improving reliability and performance.

At the same time, Maple 2026 introduces new AI-powered tools that help you work faster—finding commands, generating visualizations, explaining concepts, and helping you explore ideas. The key difference is that these tools sit on top of Maple’s math engine, so the results are grounded in real computation rather than guesswork.

If you’ve been following along with our recent Mathy teaser videos and sneak peek posts, you may already have seen hints of some of these features. Now I’m excited to finally share them in full.

One of the most exciting additions in Maple 2026 is the new AI Assistant.

AI tools are incredibly useful for exploring ideas, writing code, and learning new topics. But when the mathematics becomes more involved, relying on AI alone can be risky. The Maple AI Assistant brings those productivity benefits into Maple while keeping the mathematics grounded in Maple’s trusted computation engine.

You can ask the AI Assistant questions in natural language and have it help you:

  • find Maple commands or formulas
  • generate Maple code
  • create visualizations
  • explain mathematical concepts
  • draft examples, worksheets, or reports

Because Maple performs the underlying computations where appropriate, the results are grounded in Maple’s powerful math engine. The AI Assistant becomes a productivity partner that helps you accomplish tasks in Maple faster and more easily, combining the flexibility of AI with mathematics you can trust.

Watch the AI Assistant in action.

 
Turn Documents into Live Mathematics

Another feature I’m particularly excited about is Document Import.

Many of us have years of mathematical content stored in PDFs, lecture notes, journal articles, slides, or even handwritten pages. Traditionally these documents are static—you can read them, but you can’t interact with the mathematics inside them.

With Maple 2026, that changes.

Document Import allows Maple to convert many document formats—including PDFs, DOCX files, and presentations—into Maple worksheets where the mathematics becomes live and executable. 

The image below illustrates the transformation.

On the left (“Before”), scribbled handwritten notes from a Calculus III lecture were saved in a Word document. The notes include hand-drawn sketches, formulas, and written explanations.

After importing the document into Maple (“After”), the mathematical expressions were recognized and converted into live, editable Maple mathematics. The text was preserved, and the hand-drawn sketches were retained as images. The resulting worksheet supports evaluation, editing, and further computation.

Once imported, you can:

  • evaluate expressions
  • modify formulas
  • extend derivations
  • add visualizations
  • explore variations of the mathematics

Instead of recreating examples from scratch, you can bring existing material directly into Maple and start exploring.

While the new AI features are exciting, the heart of Maple has always been its mathematics engine—and Maple 2026 delivers significant advances here.

One particularly notable improvement is Maple’s expanded ability to solve linear recurrence equations. Through improvements to the rsolve command and major extensions to the LREtools package, Maple can now solve dramatically more recurrence relations than before, including many third- and fourth-order cases that were previously beyond reach.

In fact, Maple can now fully solve over 94% of the 55,979 entries in the Online Encyclopedia of Integer Sequences (OEIS) that that can be shown to satisfy a linear recurrence relation. These advances reflect ongoing research into linear difference equations and their algorithmic implementation in Maple, continuing Maple’s long tradition of advancing the state of computer algebra.

Beyond recurrence solving, Maple 2026 includes many improvements across its core symbolic and numeric algorithms. Maple’s assumption system has been strengthened to improve reasoning under mathematical assumptions, and enhancements to the simplify, combine, and evalc commands allow Maple to produce more compact and mathematically natural forms for a wider range of expressions.

There are also improvements to Maple’s differential equation solvers, polynomial system solving, and numerical solving routines such as fsolve, along with updates to other foundational parts of the math library used throughout the system.

Taken together, these improvements expand the range of problems Maple can solve and improve the robustness, correctness, and efficiency of the results.

Maple has always offered extensive control over plotting options, but achieving consistent visual styling across multiple plots could require specifying many settings each time.

Maple 2026 introduces Plotting Themes, which allow you to define a plotting style once and apply it across many plots with a single option.

Themes make it easy to maintain consistent visual styles in worksheets, teaching materials, reports, and publications, while still allowing individual plots to override specific options when needed.

The image below shows an example of creating and applying a custom plotting theme. 

 

Maple continues to be widely used in classrooms around the world, and Maple 2026 includes several improvements designed to support teaching and learning.

The Check My Work system has been enhanced so Maple can recognize a wider variety of valid student solution steps and provide more accurate feedback.

Maple 2026 also improves the generation of similar practice problems, making it easier to create variations of a problem while preserving its mathematical structure.

In addition, Maple’s step-by-step solutions have been expanded to support more types of expressions, helping students better understand the reasoning behind the mathematics they’re learning.

Maple 2026 also introduces improvements for developers building advanced applications, along with performance enhancements across the system.

One particularly interesting addition is the new VectorSearch package, which implements a vector database directly inside Maple.

If you’re not familiar with vector databases, one way to think about them is through recommendation systems like Netflix or Spotify. Each movie or song can be represented by a vector containing thousands of numbers describing its characteristics—things like genre, pacing, or mood. When you watch something, the system finds other items whose vectors are closest to it, which is how recommendations are generated.

With the new VectorSearch package, Maple can store thousands (or more) of vectors and efficiently find the ones most similar to a given vector. This makes it easier to build applications involving machine learning, data analysis, and modern AI workflows directly in Maple.

Maple 2026 also delivers significant performance improvements. For example, operations involving quantities with units have been greatly optimized—some computations now run over 90 times faster, making Maple even more efficient for engineering and scientific workflows.

Maple 2026 also expands the benefits available through the Maplesoft Elite Maintenance Program (EMP). The new benefits include access to additional Maplesoft products and services:

  • Maple Learn, the online environment for teaching and learning mathematics
  • Maple Calculator Premium, bringing the power of Maple to your phone with full access to features like Solution Steps and Check My Work
  • Maple MCP, which allows you to connect Maple’s math engine to external AI tools so they can produce mathematical results you can trust

These additions extend Maple beyond the desktop, giving users powerful tools for learning, teaching, and exploring mathematics across web and mobile platforms, as well as through integrations with external AI tools.

This post only scratches the surface of what’s new in Maple 2026. There are many more improvements across the math library, programming tools, and performance.

To learn more about all the new features and enhancements in Maple 2026, visit the What’s New in Maple page on our website.

 

 

Featured Post

We've reached quite a rhythm with Maple Flow - we update frequently, we add lots of improvements and we move fast.

What does this mean for you? It means that the feedback loop between development, the user experience and course correction has a fast time constant.

Without you being loud and vociferous, the feedback loop breaks. So don't be shy - tell us what you want!.

The new 2025.2 update builds on the theme of connectivity with two popular tools - Excel and Python. On top of that, we also have many other features and fixes that you've asked for.

Earlier versions of Maple Flow let you 

With the 2025.2 update, you can now copy and paste data from Excel into a Flow worksheet.

To be blunt, this is type of cross-application copy-paste behaviour is a no-brainer. It's such a natural workflow.

We've increasignly found that Python is now being used to script the interaction and data flow between different engineering tools. With Maple Flow 2025.2, you can now execute Maple Flow worksheets from a Python script. 

From Python, you can change and export any parameters and results defined in the worksheet

This gives me the dopamine hit of watching CPU utilization spike in the Task Manager (hey..I get my kicks where I can)

You can now do your parameter sweeps more quickly by executing the same worksheet in parallel, changing parameters for every run.

This is easy to set up - no special programming is needed.

  • Print Extents can now be set globally for all sessions, or just for the current session.
  • Any user-installed fonts used in the worksheet are now respected in the PDF export
  • Worksheets execute faster
  • The update includes fixes to many user-reported issues

You can install the Flow 2025.2 update via Help > Check for Updates (or if you're not already in the race, then grab a trial here and take Flow for a spin).

We're not pulling back on this aggresive development velocity, but we need you to point us in the right direction. Let's keep the feedback time constant small!

Featured Post

21885

This post was inspired by the following discussion thread  https://mapleprimes.com/questions/242266-Count-The-Number-Of-Paths , which considered the problem of finding all Hamiltonian paths on an integer lattice in R^2 that connect two distinct vertices. The  AllPaths  procedure solves a more general problem: it finds all self-disjoint paths connecting two distinct vertices not only in the plane  R^2  but also in space  R^3 . Of course, it also finds all Hamiltonian paths or allows one to determine their absence. The procedure does not use commands from GraphTheory package (only direct manipulation of sets and lists).
Required parameters of the procedure: is a set or list of lattice vertices specified by their coordinates, Start and Finish are the initial and final vertices. Optional parameter R (defaults it's NULL  if all paths are searched) and any symbol (if only Hamiltonian paths are searched). S can be either a rectangular integer lattice or a union of several such lattices.

Code of the procedure:

restart;
AllPaths:=proc(S::{set(list),listlist},Start::list,Finish::list,R::symbol:=NULL)
local N:=nops(S), S1:=convert(S, set), L, n, m, k, i, j, s, p, q, P, a, b, c;

L:={[Start]};
for n from 2 to N do

if R=NULL then

P:='P';
m:=nops(L);
for k from 1 to m do
if nops(Start)=2 then
i,j:=L[k][-1][];
s:={[i-1,j],[i,j+1],[i+1,j],[i,j-1]} else
a,b,c:=L[k][-1][];
s:={[a-1,b,c],[a,b+1,c],[a+1,b,c],[a,b-1,c],[a,b,c-1],[a,b,c+1]} fi; 
s:=`intersect`(s,S1) minus convert(L[k],set);
if s={} and L[k][-1]=Finish then P[k]:=L[k] else
if s={} and L[k][-1]<>Finish then P[k]:=NULL else
P[k]:=`if`(L[k][-1]=Finish,L[k],seq([L[k][],s[i]],i=1..nops(s)))  fi; fi;
od;
L:=convert(P,set) else

P:='P';
m:=nops(L);
for k from 1 to m do
if nops(Start)=2 then
i,j:=L[k][-1][];
s:={[i-1,j],[i,j+1],[i+1,j],[i,j-1]} else
a,b,c:=L[k][-1][];
s:={[a-1,b,c],[a,b+1,c],[a+1,b,c],[a,b-1,c],[a,b,c-1],[a,b,c+1]} fi;
s:=`intersect`(s,S1) minus convert(L[k],set);
if n<N then 
if s={} or L[k][-1]=Finish then P[k]:=NULL else
P[k]:=seq([L[k][],s[i]],i=1..nops(s)); fi else 
if L[k][-1]=Finish and s<>{} then P[k]:=NULL else P[k]:=seq([L[k][],s[i]],i=1..nops(s));
fi; fi;  
od;
L:=convert(P,set)

fi; od;

L;
end proc:


Examples of use.

In the first example from the post above, we find the number of Hamiltonian paths in 

L:=CodeTools:-Usage(AllPaths({seq(seq([i,j], i=1..11), j=1..3)}, [2,2], [10,2], 'H')):
nops(L);

   

In this same example, we find the number of all paths from A to B and the possible lengths of these paths.

L:=CodeTools:-Usage(AllPaths({seq(seq([i,j], i=1..11), j=1..3)}, [2,2], [10,2])):
nops(L);
map(t->nops(t), L);
L1:=select(t->nops(t)=%[-1], L):
nops(L1);

  

In the following example, we find the number of all paths, as well as the number of Hamiltonian paths, and animate these paths (total 24 one's).

S:={seq(seq([i,j],i=1..5),j=1..3)} union {seq(seq([i,j],i=4..7),j=3..5)}: A:=[1,1]: B:=[7,5]:
P:=plots:-display(plots:-pointplot(S, symbol=solidcircle, color=blue, symbolsize=15, view=[0..7.5,0..6.5], size=[600,500], scaling=constrained), plots:-textplot([[A[],"A"],[B[],"B"]], font=[times,bold,22], align=[left,above])):
L:=AllPaths(S,A,B):
nops(L);
map(t->nops(t), L);
L1:=select(t->nops(t)=%[-1], L):
nops(L1);
plots:-animate((plots:-display)@(plottools:-curve),[L1[round(a)], color=red, thickness=4], a=1..%, frames=180, background=P, size=[700,500], paraminfo=false);

                                      

                   

In the final example, we search for Hamiltonian paths in a lattice defined on the surface of a cube. Imagine a cube made of wires, and an ant must crawl along these wires from point  A(0,0,0)  to point B(2,2,2) , visiting all nodes of this lattice. Is this possible? We see that it is not. The length of the maximum path is 25, and this lattice has 26 vertices. An animation of one of the maximum paths is provided.

                           

S:={seq(seq(seq([i,j,k],i=0..2),j=0..2),k=0..2)} minus {[1,1,1]}: A:=[0,0,0]: B:=[2,2,2]:
P:=plots:-display(plots:-pointplot3d(S, symbol=solidcircle, color=blue, symbolsize=20, scaling=constrained), plots:-textplot3d([[A[],"A"],[B[],"B"]], font=[times,bold,22], align=[left,above]), plottools:-curve([[2,0,1],[2,2,1],[0,2,1],[0,0,1],[2,0,1]], color=black,thickness=0),plottools:-curve([[1,0,2],[1,0,0],[1,2,0],[1,2,2],[1,0,2]], color=black, thickness=0),plottools:-curve([[2,1,0],[0,1,0],[0,1,2],[2,1,2],[2,1,0]], color=black,thickness=0), tickmarks=[3,3,3]):
L:=AllPaths(S,A,B):
nops(L);
map(t->nops(t), L);
L1:=select(t->nops(t)=%[-1], L):
nops(L1);
plots:-animate((plots:-display)@(plottools:-curve),[L1[-1][1..round(a)], color=red, thickness=4], a=1..25, frames=240, background=P, paraminfo=false, axes=box, labels=[x,y,z]);

       

                              

We can see from this animation that the path does not pass through the vertex (0, 2, 2) .

Edit. A code error that could cause incorrect operation when using the  R  option has been fixed. Everything now works correctly. If there is no Hamiltonian path passing through all vertices, the procedure returns the empty set { } .

Paths1.mw



How to solve x^4-12*x-12=0

Maple asked by Cristian... 0 March 08