What capability would you want to see added to the symbolic toolbox in the future?
Show older comments
As someone who has written several tools to work with high precision numbers and large scale integers, I've also used the symbolic toolbox for many such computations. In fact, I've been pleased at times in how well they have improved those tools in recent years. For example, the speed of large integer computations in the symbolic toolbox is now at least pretty good. For example, a recent computation of mine to test if a number with roughly 86000 decimal digits is prime took only 20 minutes to return a negative result. (The number in question is one that I knew to have no small prime factors.) That is not too bad in context, though I'd love to see it improve.
However, there are a few new capabilities I'd love to see implemented. So what do you think is missing? (I'll add my own opinions as my own answer.)
Answers (5)
John D'Errico
on 2 Jan 2020
Edited: John D'Errico
on 4 Jan 2020
Walter Roberson
on 5 Jan 2020
2 votes
The whole apparatus for breaking apart symbolic expressions and processing sub-parts feels like a bit of a crock, and is not well documented. Most people don't even know that it exists, and it always takes me a while to find in the documentation even though I know it exists. Cross-referencing between the functions is not good either; in particular it is always hard to find https://www.mathworks.com/help/symbolic/sym.mapsymtype.html mapSymType to process transformations.
Star Strider
on 5 Jan 2020
2 votes
That the Laplace transforms work with solve and other such functions, and are actually tractable!
This tends to be really frustrating. It would also help if the initial conditions could be specified similar to the way they are in dsolve.
3 Comments
Walter Roberson
on 5 Jan 2020
The ilaplace uses sum of root() objects in ways that are difficult to work with: in particular it generates that even for degree 3 and 4 without providing any way to expand to the closed form solutions.
Using root() in those circumstances is normally a much more compact result so that should probably continue to be the default, but there needs to be an option to give the full solution or an enhancement to rewrite()
Walter Roberson
on 5 Jan 2020
Unfortunately a lot of laplace/ilaplace are never going to be tractable.... It is the nature of the transform.
Star Strider
on 5 Jan 2020
@ Walter — Interesting. Thank you!
The inverse Laplace transform would likely require complex integration to be truly accurate. The problem is that the example I cited should be easily solvable using the algebraic methods that work with simple algebraic equations. It is virtually impossible to solve the Laplace complex ‘s’ domain for ‘X(s)’ in this instance, although that should be straightrforward.
Matt J
on 5 Jan 2020
1 vote
The ability to manipulate symbolic matrix variables (instead of just matrices of scalar symbolic variables).
3 Comments
Walter Roberson
on 5 Jan 2020
Yes... Unfortunately this is baked in pretty far down in the symbolic engine :(
I have looked at the symbolic engine enough to know that it should be possible to create routines that work with symbolic variables that stand in for matrices, but it would not be a simple extension.
Walter Roberson
on 18 Jan 2024
symmatrix was added in R2021b.
Unfortunately it is somewhat limited.
Limited indeed,
x=symmatrix('x',[4,1]);
A=symmatrix('A',4);
A=A+A.';
J0=diff(x'*A*x,x)
J1=jacobian(x'*A*x,x)
but good to know about all the same.
tommsch
on 30 Nov 2020
0 votes
Compatibility of the symbolic toolbox with the rest of matlab. In particular: Same interfaces of functions when taking symbolic or no symbolic input.
Categories
Find more on Number Theory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!