Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Sort symbolic expressions using assumptions
ResourceFunction["SymbolicSort"][list,vars] attempts to sort list by assuming that the variables vars are real-valued. | |
ResourceFunction["SymbolicSort"][list,vars,assum] sorts by assuming that vars satisfy assumptions assum. | |
ResourceFunction["SymbolicSort"][list,vars,assum,dom] carries out symbolic manipulations over the domain dom. | |
Sort expressions in x defined for real numbers:
| In[1]:= |
| Out[1]= |
Plot to illustrate that Exp[x] is always greater than x:
| In[2]:= |
| Out[2]= | ![]() |
Use assumptions for sorting:
| In[3]:= |
| Out[3]= |
| In[4]:= |
| Out[4]= | ![]() |
Sort expressions of a monotonic function applied to different variables:
| In[5]:= |
| Out[5]= |
If no definite order exists, a message will be raised and SymbolicSort remains unevaluated:
| In[6]:= |
| Out[6]= |
Use List as the last argument to force a result:
| In[7]:= |
| Out[7]= |
If not all expressions have a definite ordering, you can instead produce a Graph that shows the ordering relationships between the elements of the List:
| In[8]:= |
| Out[8]= |
| In[9]:= |
| Out[9]= | ![]() |
The undirected edges between
, x and x2 show that these expressions have no definite ordering.
A time constraint can be set for symbolic comparisons. If the time constraint is too low, no result will be found:
| In[10]:= |
| Out[10]= |
Sort the eigenvalues of a symbolic matrix:
| In[11]:= | ![]() |
| Out[11]= |
This work is licensed under a Creative Commons Attribution 4.0 International License