Maple 2025 Questions and Posts

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

I was wondering whether MapleSoft has opted for an outdated concept. Here is Gemini's answer:

Yes, there are many alternatives to ribbon-based GUIs. The ribbon UI, while popular and effective for many applications (especially those with a large number of functions like Microsoft Office), isn't the only way to design an interface. Here are some common alternatives:

 

  • Traditional Menus and Toolbars: This is the classic approach seen in older software. A menu bar at the top provides access to all commands, while toolbars offer quick-access icons for the most common functions. Many applications, especially on Linux, still use this model. A variation is to allow the user to customize their toolbars.

  • Command Palettes: This is a popular approach in modern text editors and IDEs (like Visual Studio Code or Sublime Text). The user presses a keyboard shortcut to bring up a search bar that allows them to quickly find and execute any command in the application. This is highly efficient for power users who know what they're looking for.

  • Contextual Menus (Right-Click Menus): These menus appear when a user right-clicks on an element. They present a list of actions relevant to the selected item. This is a very common and intuitive way to provide functionality without cluttering the main interface.

  • Sidebar or Panel-Based Interfaces: This design uses a vertical panel, often on the left or right side of the screen, to display tools, options, or settings. This is often seen in design software, where the user can access layers, brushes, or properties from a dedicated panel.

  • Hamburger Menus: A three-line icon (the "hamburger") that, when clicked, reveals a menu of options. This is a very common design in mobile applications and is increasingly used in desktop web applications and software to save screen space.

  • Floating Toolbars/Heads-Up Display (HUD): These are toolbars that appear near the user's cursor or the selected object. This keeps the tools close to where the user is working, reducing mouse travel. This is a common pattern in creative applications like 3D modeling or video editing software.

The best choice depends on the type of application, the target user, and the platform. For applications with a huge number of features, a ribbon can be a good way to organize them visually. For applications with a more limited set of functions, or for a mobile-first design, a simpler approach is often better.

Nothing exciting new but the insight that Maple's GUI is a hybrid that adds to the ribbon other concepts. Since the Maple ribbon is young and not part of the training data set, I asked for a better GUI for Word instead:

A "better" GUI for Word is subjective, as different users have different needs. The current ribbon interface is great for discovering features, but it can also feel cluttered.

So, instead of just one idea, here are three different approaches that could improve the Word GUI for different types of users:

 

This GUI would learn from your habits. Instead of a static ribbon, the tabs and icons would change based on what you're doing.

  • Smart Ribbon: The ribbon would automatically switch to the most relevant tab. For example, if you highlight text, the "Home" tab would expand with formatting options like font size, bold, and color. If you're near a table, the "Table Design" and "Layout" tabs would appear instantly.

  • Contextual Command Palette: A simple keyboard shortcut (like Ctrl + K) would bring up a search bar in the middle of the screen. You could type "insert table of contents" or "change line spacing" and the command would execute without you having to hunt for it in the ribbon. This is a much faster option for power users.

 

This approach would strip away everything that isn't essential for a focused writing experience.

  • Floating Toolbar: When you start typing, the entire ribbon disappears. When you highlight text, a small, floating toolbar with only the most basic formatting options (bold, italic, font size, bullet points) appears right next to your cursor.

  • "Focus Mode" on Steroids: A dedicated "Focus Mode" would hide all menus, toolbars, and even the scroll bar. You would see only your document on a clean background. All advanced functions would be accessible through the command palette or a single-click button that temporarily brings back the full ribbon.

 

This design would let users build their own ideal workspace.

  • Customizable Side Panels: Instead of one giant ribbon, the GUI would be made of modular side panels that you could dock, undock, and resize. You could have a "Styles" panel on the left and a "Review" panel on the right, or a "References" panel that's only visible when you're working on a bibliography.

  • "My Tab": Users could create their own custom ribbon tab called "My Tab" and drag and drop their most-used commands into it. For example, a student might have "Footnote," "Citations," and "Table of Contents" all on one tab for easy access.

Each of these designs solves a different problem with the current ribbon. The Adaptive Interface helps you find what you need quickly, the Minimalist Interface promotes focus, and the Modular Interface gives you complete control over your workspace.

The highlighted passages point to areas that have been mentioned already in many comments on the GUI. However, there is one more that really stands in the way for me to work with the new GUI. It could be summarized as "Too many clicks". The former GUI (less intuitive, IMO) was in this respect much more optimzed for productivity.
For example, inserting a text passage or putting the cursor into a text passage implies that the user most likely desires formating options. With the new GUI it is required to click on the edit tab (after having clicked on the insert tab or even more clicky with the quick access bar, which is for this use case not  really quick).

With the former GUI (having a larger quick acess bar) and a tool bar (in red)

only one click was required with substantially less mouse movement.

Personally I would switch to the new GUI with the following improvements

  • a quick access bar that is customizable
  • a smart ribbon that switches to the edit mode tab when the cursor is placed on editable text or a new text/input/document block is inserted

Having the functions that I use most frequently available in the quick access tool bar (highlighted in yellow) would allow me to minimize the ribbon with the same productivity and even more screen space as before.

Keyboard shortcuts that differ from standard OS shortcuts are not a viable alternative for me.

Overall, the direction with the new ribbon seems to be right to get new users productive faster. It seems to be a good choice without clear alternatives, and its graphical design aligns much better with the core values Maple provides.

However, becoming productive fast does not mean that the productivity is high. From this perspective the former GUI is not outdated yet. The workflow with it is much faster and more focussed on math and code.

Perhaps MapleSoft has solutions that will make the new GUI even more productive than the former GUI. This would be great!

Like i said before i have to change it to Maple 2025 should i download the 2025? and will my data disappear? or not?

Best regards MR

In Maple 2025, there are many strange issues, such as plot errors in math apps under Computer Science > Boolean Algebra, which did not occur in Maple 2024. Furthermore, in the 2025 version, when you open load package, some packages are blocked, and you must hide the taskbar to see the blocked packages. Finally, the Ribbon interface in Maple 2025 is really not suitable. Restart and startup code should not be placed in Home; some interfaces should be removed, or an option to retain the 2024 interface should be provided. I sincerely hope my suggestions are taken into consideration. Thank you.


Is there any difference in the algorithm used to compute reduced Gröbner bases (via the Basis command) between Maple 18 and the newest version of Maple? Have there been any significant optimizations, changes to default strategies, or efficiency improvements?

I am trying to use Maple to view some 120,000 x 120,000 matrices with rational entries on a linux box with 504GB of RAM. Unfortunately when I run the command

read "/home/user/source_file.txt"

maple issues an Execution stopped: Stack limit reached error. Running the kernelopts command seems to indicate that the default stack limit is 8160 on this system. I have tried setting

kernelopts(stacklimit=13560)

but the same error is always issued at around 7 GB of RAM usage (according to htop). Is there any way around this in Maple?

As the following worksheet shows, Student:-NumericalAnalysis:-MatrixDecomposition cannot factorize the input matrix  and throws an error, but if we simply reorder or exchange the elements of , no error will be raised. (The reason for setting  is that LinearAlgebra:-LUDecomposition can be used for other methods.) 
 

restart

with(Student:-NumericalAnalysis, MatrixDecomposition)

m := Matrix([[3*(sqrt(3)+1)/8,-1/2,1/2,-(sqrt(3)+1)/8,-1/2,1/2,-(sqrt(3)+1)/8,-1/2,1/2,-(sqrt(3)+1)/8],

             [-1/2,sqrt(3)-1,-(sqrt(3)-1),-1/2,0,0,1/2,0,0,1/2],

             [1/2,-(sqrt(3)-1),sqrt(3)-1,1/2,0,0,-1/2,0,0,-1/2],

             [-(sqrt(3)+1)/8,-1/2,1/2,3*(sqrt(3)+1)/8,1/2,-1/2,-(sqrt(3)+1)/8,1/2,-1/2,-(sqrt(3)+1)/8],

             [-1/2,0,0,1/2,sqrt(3)-1,-(sqrt(3)-1),-1/2,0,0,1/2],

             [1/2,0,0,-1/2,-(sqrt(3)-1),sqrt(3)-1,1/2,0,0,-1/2],

             [-(sqrt(3)+1)/8,1/2,-1/2,-(sqrt(3)+1)/8,-1/2,1/2,3*(sqrt(3)+1)/8,1/2,-1/2,-(sqrt(3)+1)/8],

             [-1/2,0,0,1/2,0,0,1/2,sqrt(3)-1,-(sqrt(3)-1),-1/2],

             [1/2,0,0,-1/2,0,0,-1/2,-(sqrt(3)-1),sqrt(3)-1,1/2],

             [-(sqrt(3)+1)/8,1/2,-1/2,-(sqrt(3)+1)/8,1/2,-1/2,-(sqrt(3)+1)/8,-1/2,1/2,3*(sqrt(3)+1)/8]],

            'shape'='symmetric'):

MatrixDecomposition(m, 'method' = 'LDLt'): # this does not work 

Error, (in Student:-NumericalAnalysis:-MatrixDecomposition) a pivot element 0 is encountered, and the entries below it are not all 0; the factorization cannot continue

 

MatrixDecomposition(m([1, 4, 7, 10, 2, 5, 8, 3, 6, 9] $ 2), 'method' = 'LDLt'): # yet this works 

MatrixDecomposition(m([2, 3, 5, 6, 8, 9, 1, 4, 7, 10] $ 2), 'method' = 'LDLt'): # this also works 

randomize(5):

k := 0:
to 1e3 do
        try
                MatrixDecomposition(m(combinat:-randperm(10) $ 2), 'method' = 'LDLt')
        catch :
                k++
        end
od:
k/1e3;

.469

(1)


 

Download LDL_factorization_robustness.mw

The last instance above suggests that it only works on about half of the inputs (that are equivalent to each other). Although I tried changing the value of Digits, the failure rate remained high. Is Student:-NumericalAnalysis:-MatrixDecomposition not robust enough? 

I experience the following quirk using maple 2025 in worksheet mode: copy a formula and then paste it can often freeze the program. Termination only via ctrl-Alt-delete task manager. Has anybody similar problems or should i think that is happening only in my case?

Hi! I need a help for solve PDE problem (diffusion problem) in bipolar system coordinates. Actually, to begin with, I wanted to try to solve the homogeneous diffusion equation in a bipolar coordinate system with given boundary conditions. The process is not stationary, for simplicity, the diffusion coefficient is a constant (or linearly depends on η). The source function is also specified on the right side. The problem is that I cannot construct a correct exact solution, and the PDESolve function gives a very strange solution. The question is whether it is possible to solve a homogeneous and then a non-homogeneous solution automatically, or will it be necessary to manually specify parts of the general solution (homogeneous and particular solution)?

A document with a brief description and code for solving the equation is provided in the file. I ask for help with solving this problem, any valuable comments will be useful!

PDE.mw

====UPDATE===
I try to set Neumann conditions for solve this problem, but get error:
Error, (in PDEtools:-Library:-NormalizeBoundaryConditions) unable to isolate the functions {u(0,eta), u(xi,1.1), u(2*Pi,eta)} in the given boundary conditions {u(0,eta) = u(2*Pi,eta), u(xi,1.1) = 0}

PDE_upd.mw

To organize windows, Windows 11 provides a new function "Snap Layout". The example screen shot below shows options to place the Maple 2025 Screen Reader window.  

Ein Bild, das Screenshot, Reihe, Software, Multimedia-Software enthält.

KI-generierte Inhalte können fehlerhaft sein.

Draging now Maple 2025.1 Screen Reader to the left window of the third option results in the following selection screen

Ein Bild, das Text, Screenshot, Software, Computersymbol enthält.

KI-generierte Inhalte können fehlerhaft sein.

where on the right a list of tasks to chose from is presented. In this list Maple 2025.1 is missing. However Maple 2025.1 was running as can be seen from the task bar.

Has anybody managed to position Maple 2025.1 windows with the Snap Layout (or alternatively with Win+Arrow keys) or at least reproduce what I see on my computer?

Why can a Maple 2025.1 window be adjusted by hand but Windows does not do this in Snap Layout?

(Dragging and adjusting a Maple window by hand is not an option. This is how we had to work before Windows 7.)

Hello,

I’m trying to solve a problem from Modern Mathematical Methods for Scientists and Engineers using Maple, specifically applying the Fokas method (Unified Transform) to the heat equation on the half-line. The problem setup matches Example 9.1 from the book.

Everything runs fine until I try to plot the solution using plot3d.
 

restart; with(plots); with(LinearAlgebra); with(Student[VectorCalculus]); V := proc (k, x, t) options operator, arrow; -((1/2)*I)*exp(I*k*x-k^2*t)*(1/(k-I)+1/(k+I)-k*(1/(k^2+1)+1/(k^2-1)))/(Pi*k) end proc

proc (k, x, t) options operator, arrow; Student:-VectorCalculus:-`-`(Student:-VectorCalculus:-`*`(Student:-VectorCalculus:-`*`(Student:-VectorCalculus:-`*`(I, Student:-VectorCalculus:-`*`(2, Pi)^Student:-VectorCalculus:-`-`(1)), Student:-VectorCalculus:-`*`(exp(Student:-VectorCalculus:-`+`(Student:-VectorCalculus:-`*`(Student:-VectorCalculus:-`*`(I, k), x), Student:-VectorCalculus:-`-`(Student:-VectorCalculus:-`*`(k^2, t)))), k^Student:-VectorCalculus:-`-`(1))), Student:-VectorCalculus:-`+`(Student:-VectorCalculus:-`+`(Student:-VectorCalculus:-`+`(k, Student:-VectorCalculus:-`-`(I))^Student:-VectorCalculus:-`-`(1), Student:-VectorCalculus:-`+`(k, I)^Student:-VectorCalculus:-`-`(1)), Student:-VectorCalculus:-`-`(Student:-VectorCalculus:-`*`(k, Student:-VectorCalculus:-`+`(Student:-VectorCalculus:-`+`(k^2, 1)^Student:-VectorCalculus:-`-`(1), Student:-VectorCalculus:-`+`(k^2, -1)^Student:-VectorCalculus:-`-`(1))))))) end proc

(1)

phi1 := (1/8)*Pi; phi2 := 7*Pi*(1/8); k1 := proc (r) options operator, arrow; r*exp(I*phi1) end proc; k2 := proc (r) options operator, arrow; r*exp(I*phi2) end proc; dk1 := proc (r) options operator, arrow; diff(k1(r), r) end proc; dk2 := proc (r) options operator, arrow; diff(k2(r), r) end proc

u1 := proc (x, t) options operator, arrow; evalf(int(Re(V(k1(r), x, t)*dk1(r)-V(k2(r), x, t)*dk2(r)), r = 0 .. 80)) end proc

proc (x, t) options operator, arrow; evalf(Student:-VectorCalculus:-int(Re(Student:-VectorCalculus:-`+`(Student:-VectorCalculus:-`*`(V(k1(r), x, t), dk1(r)), Student:-VectorCalculus:-`-`(Student:-VectorCalculus:-`*`(V(k2(r), x, t), dk2(r))))), r = 0 .. 80)) end proc

(2)

u := proc (x, t) options operator, arrow; exp(-x/sqrt(2))*cos(t-x/sqrt(2))+u1(x, t) end proc

proc (x, t) options operator, arrow; Student:-VectorCalculus:-`+`(Student:-VectorCalculus:-`*`(exp(Student:-VectorCalculus:-`-`(Student:-VectorCalculus:-`*`(x, sqrt(2)^Student:-VectorCalculus:-`-`(1)))), cos(Student:-VectorCalculus:-`+`(t, Student:-VectorCalculus:-`-`(Student:-VectorCalculus:-`*`(x, sqrt(2)^Student:-VectorCalculus:-`-`(1)))))), u1(x, t)) end proc

(3)

plot3d(u(x, t), x = 0 .. 3, t = 0 .. 2*Pi, axes = boxed, shading = zhue, style = surface, labels = ["x", "t", "u(x,t)"])

NULL


 

Download fokas_method.mw

Has anyone successfully handled similar integrals inside plot3d? Is there a better way to numerically evaluate the Fokas integral so Maple can plot it efficiently?

 

I'm solving the 1D heat equation using two different approaches, both involving Fourier transforms.

  1. First Attempt: Using pdsolve the Fourier method. This code either takes a very long time or doesn't produce a plot at all.
  2. Second Attempt: Manual Fourier transform. This one works fine and quickly plots the result.

Why does the first version using pdsolve(..., method = Fourier) result in slow or non-responsive behaviorplot3d, while the second version (manual transform) runs efficiently? Is the pdsolve result too symbolic or unevaluated for plotting? How can I make the first approach plot correctly?

Thanks for any insights!

ft1.mw

The problem seems to be more with the editor than the MultiSet, but I can't think of a way how to ask the question outside of this context (I am very much not a programmer). MultiSet is a set with multiplicities, i.e. each of its element can belong more than once, for example

constructs MultiSet with a appearing twice, b - five times, and c - four times. Remove is the operation of removing element from a MultiSet, possibly with prescribed multiplicity, for example in

we asked Maple to remove three of b's, and therefore the MultiSet M was left with only two of them (the lone 2 in the output says how many are left, then M is displayed to ilustrate that). Both screenshots are taken from the linked maplesoft page on Remove.

However, when I repeat the same example on Maple 2025 (on a PC), I get something quite different

so that b is deleted from M altogether. I checked that this does not happen on Maple 2019 on another PC. While writing this question and playing with other examples of the same kind, I noticed (viewing what Maple stores in memory) that it seems that "Remove(M,b,3)" is executed twice whenever the cursor enters its line (without me executing it, and without producing output). The same happens with Insert. When I don't touch the line (e.g. if Remove is inside of a loop), everythig works as expected.

It seems that if a command directly changes an object (i.e. I don't need to redefine said object) then Maple executes it silently whenever the cursor touches it. I can't think of other commands that directly change objects (again, not a programmer, can't even think how to phrase it correctly). The question is as in the title: why and how Maple 2025 does that? I did check for options that look like enabling automatic execution but found nothing active and/or related. Any help will be much appreciated.

Recently, I was surprised by the fact that it is not possible to create a table, where the values of entries are tables.

Toy example:

T1:=table(["1"=table(["first"=12, "second"=15]), "2"= table(["first"=9, "second"=7])]);

The code

T1["1"];

doesn't return table(["first"=12, "second"=15])

If table has lists in right-hand side

T1:=table(["1"=[12, 15], "2"= [9, 7]]);

all works properly.

Maple 2025.1

We have just released an update to Maple. Maple 2025.1 includes several enhancements to the new interface, as well as various small corrections throughout the product. As always, we recommend that all Maple 2025 users install this update.

In particular, please note that this update includes a fix to the problem where new documents were opening in a new window instead of a new tab.  Thanks for helping us, and other users, by letting us know!

This update is available through Tools>Check for Updates in Maple, and is also available from the Maple 2025.1 download page on web site, where you can also find more details.

MapleSim 2025

We are happy to announce that we just released MapleSim 2025. This release includes a new component library to support the modeling of motor drives and updates to several in-product apps that make it even easier to perform optimization and analysis.

See What’s New in MapleSim for details.

I am new to Windows 11 (edit: I was forced to migrate from 10).

I am looking for an option to resize the Window that the interupt button becomes accessible (see red box)

Also: there are no window controls (maximize minimize) visble . (edit: the title bar is clipped off).

Window key + arrow key does not work.

I have also tried the Snap Layout option to resize but cannot find Maple 2025.1 under the selectable tasks.

What else can I try?

1 2 3 4 5 6 7 Page 1 of 8