4 ms·
You've heard of SageMath right? The biggest thing missing from SageMath is a step by step solver. (Edit to add a caveat, I'm sure many professionals depend on
by psychphysic 4y ago
You've heard of SageMath right?
The biggest thing missing from SageMath is a step by step solver. (Edit to add a caveat, I'm sure many professionals depend on minutiae of one or the other)
Feature-wise I'd say Sage has more Mathematica functionality than Octave does for MATLAB. Sage is not trying to be compatible however presumably it wouldn't be that hard if the functionality is there?
Sage is a bit of a Frankenstein though
- westurner 4y agoSageMath (and the cocalc-docker image, and JupyterLite, and mambaforge, ) include SymPy; which can be called with `evaluate=False` Advanced Expression Manipulation > Prevent expression evaluation: https://docs.sympy.org/latest/tutorials/intro-tutorial/manipulation.html#prevent-expression-evaluation https://docs.sympy.org/latest/tutorials/intro-tutorial/manip... > There are generally two ways to prevent the evaluation, either pass an evaluate=False parameter while constructing the expression, or create an evaluation stopper by wrapping the expression with UnevaluatedExpr. From "disabling automatic simplification in sympy" https://stackoverflow.com/a/48847102 https://stackoverflow.com/a/48847102 : > A simpler way to disable automatic evaluation is to use context manager evaluate. For example, from sympy.core.evaluate import evaluate from sympy.abc import x,y,z with evaluate(False): print(x/x) sage.symbolic.expression.Expression.unhold() and `hold=True`: https://doc.sagemath.org/html/en/reference/calculus/sage/symbolic/expression.html#sage.symbolic.expression.Expression.unhold https://doc.sagemath.org/html/en/reference/calculus/sage/sym... IIRC there is a Wolfram Jupyter kernel? WolframResearch/WolframLanguageForJupyter: https://github.com/WolframResearch/WolframLanguageForJupyter https://github.com/WolframResearch/WolframLanguageForJupyter mathics/IMathics is the Jupyter kernel for mathics: https://github.com/mathics/IMathics@main#egg=imathics https://github.com/mathics/IMathics@main#egg=imathics #pip install jupyter_console imathics #conda install -c conda-forge -y jupyter_console jupyterlab mamba install -y jupyter_console jupyterlab jupyter console jupyter kernelspec list pip install -e git+https://github.com/mathics/imathics@main#egg=mathics jupyter console --kernel= %? %logstart? %logstart -o demo.log.py There are Jupyter kernels for Python, Mathics, Wolfram, R, Octave, Matlab, xeus-cling, allthekernels (the polyglot kernel). https://github.com/jupyter/jupyter/wiki/Jupyter-kernels https://github.com/jupyter/jupyter/wiki/Jupyter-kernels https://github.com/ml-tooling/best-of-jupyter#jupyter-kernels https://github.com/ml-tooling/best-of-jupyter#jupyter-kernel... The Python Jupyter kernel checks IPython.display.display()'d objects for methods in order to represent an object in a command line shell, graphical shell (qtconsole), notebook (.ipynb), or a latex document: _repr_mimebundle_(), _repr_html_(), _repr_json_(), _repr_latex_(), ..., __repr__(), __str__() The last expression in an input cell of a notebook is implictly displayed: from IPython.display import display %display? # argspec, docstring %display?? # ' & source code display(last_expresssion) Symbolic CAS mobile apps with tabling and charting and varying levels of support for complex numbers and quaternions, for example: Wolfram Mathematica, Desmos, Geogebra, JupyterLite, Jupyter on mobile
- jshaqaw 4y agoAgree on the value of Sage and the Frankenstein. Sage is amazing and valuable but the value of Mathematica is the cognitive ease of having one unified platform for everything. Sage is a nice integration of multiple specialized tools under a rudimentary common framework but requires a lot more mental overhead to tie it all together.