Does the current Symbolic Math Toolbox still use the MuPAD as its underlying implementation?

Hello everyone!
In the latest version of the Matlab, the following commands still work:
clear all;
feval(symengine,a:=0.4)
feval(symengine,a+1)
I mean, it uses the same sytax as the MuPAD instead of the syms(‘a’) in the Matlab.
In the past, the Symbolic Math Toolbox used the Maple kernel and then changed to the MuPAD. A few years ago, MuPAD windows was removed from the standard console. What about now? Is the current symbolic mathematics toolbox a new engine developed by Mathworks itself, or is it just an interface with the underlying MuPAD?
So could anybody tell me whether the current computer algebra in the Matlab still use the MuPAD as its underlying implementation?
Thank you in advance!
Lemon

 Accepted Answer

What was removed was the MuPAD Notebook interface, not the symbolic computation engine.
Is there a specific reason you are interested in details about the underlying infrastructure? The API to perform symbolic calculations remains. Or is this more a question of curiosity?

9 Comments

Hello Steven,
Thanks for your answers! But I still don't know whether the MuPAD kernal is the default engine of the current Symbolic Math Toolbox?
For example, if I run these codes in the Matlab 2023a, the error message seems to come from the MuPAD again...
clc;clear all;
syms z z1 positive
root(-0.08+sqrt(27*(z+1)^3+73)*20/81-200/81,z)
Error using mupadengine/feval_internal
First argument must be a polynomial or polynomial expression.

Error in sym/root (line 36)
r = feval_internal(symengine, 'RootOf', f, x);
What's current the relationship between the Symbolic Math Toolbox and the MuPAD?
Is the Symbolic Math Toolbox a combination, for example, like some new funtions are added in the toolbox while many old MuPAD funtions are still there?
I mean some pure Matlab functions and other old MuPAD functions? Or are all the old MuPAD functions rewritten in the Matlab laguage?
MathWorks bought SciFace Software GmbH & Co. in 2008. So Symbolic Math Toolbox is using MathWorks code
Again, why are you interested in this implementation detail? What would you do differently based on the answer?
A couple of years ago, the MuPAD notebook interface was removed. At the same time (or in the releases after that) a number of MuPAD functions were removed that were present for backwards compatibility but were not being used by the Symbolic Toolbox. For example some of the MuPAD ode functions were removed.
The MATLAB level of the Symbolic Toolbox does some type manipulation, and implements a small number of special cases directly, but mostly invokes the MuPAD engine.
(Special cases handled directly might include, for example, returning empty if the input to a function is empty.)
Hello Walter,
Thanks for your answers, too! It really seems that the MuPAD is still the only engine for the Symbolic Math Toolbox, unless connecting to the Maple interface.
So I wonder whether it would last for a long time in the future, or Matlab has been developing its own simbolic computation engine?
As I stated above, MathWorks bought SciFace Software GmbH & Co. (the makers of MuPAD) in 2008.
So MathWorks does have its own symbolic computation engine: the MuPAD engine.
If the question is whether Mathworks has plans to implement a new symbolic engine, then I have not heard of any project like that... but Mathworks would not necessarily have told me.
Building up all of the math algorithms again would be a nuisance. I would expect that if Mathworks has any projects planned for major renovation to the symbolic engine, then it would be modifications to the engine to permit internal parallel processing, which would be a bunch of effort to make operations thread-safe, together with providing some kind of mapping such as int(MATRIX,variable,lb,ub) having each element of MATRIX processed in parallel.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!