ds = CreateDataStructure["LinkedList"]
String keys to access types is kind of yucky, to be honest :( Couldn't there be a better way to represent this than having to look up the documentation (https://reference.wolfram.com/language/ref/$DataStructures.h...) to see what would work?Mathematica v12.1
11–20 of 97 posts
Re: Mathematica v12.1
#12Earlier quoted context omitted.
I'm an R and sometimes Julia user, although not Python. Can you offer some examples of how Mathematica surpasses open source alternatives in those areas you've mentioned?
How much symbolic computation can you do with R?
R package Deriv for symbolic differentiation, it allows user to supply custom rules for differentiation.[1]
R package numDeriv[2] for calculating numerical approximations to derivatives.
R package gmp[3] and Rmpfr[4] provide multiple precision arithmetic and floating point operations. They also include some special functions, e.g. Rmpfr::integrateR for numerical integration.
R package mpc[5] available at R forge. It provides multiple precision arithmetic for complex numbers.
R package rSymPy[6] provides an interface to ‘SymPy’ library in python via rJava.
R package Ryacas[7] provides an interface to the ‘Yacas’ computer algebra system. It is easier to install compared to `rSymPy`.
R package symengine[8] is an R interface to the SymEngine C++ library for symbolic computation.
[1] https://cran.r-project.org/web/packages/Deriv/index.html
[2] https://cran.r-project.org/web/packages/numDeriv/index.html
[3] https://cran.r-project.org/web/packages/gmp/index.html
[4] https://cran.r-project.org/web/packages/Rmpfr/index.html
[5] http://mpc.r-forge.r-project.org/
[6] https://cran.r-project.org/web/packages/rSymPy/index.html
[7] https://cran.r-project.org/web/packages/Ryacas/index.html
Re: Mathematica v12.1
#13Mathematica is worth learning and using since it's so far ahead of the open source alternatives (e.g. Python/Jupyter and associated libraries ) in usability/interactivity/rapid development that it comes across like future-tech. Unfortunately it's also the single tool most hampered by its licensing and silo-like ecosystem.
Re: Mathematica v12.1
#14Earlier quoted context omitted.
How much symbolic computation can you do with R?
There are several functions in base R for differentiation, integration, solving system of equations, etc. E.g. `solve`, `stats::D`, `stats::deriv`, `stats::integrate`, `stats::numericDeriv`. R package Deriv for symbolic differentiation, it allows user to supply custom rules for differentiation.[1] R package numDeriv[2] for calculating numerical approximations to derivatives. R package gmp[3] and Rmpfr[4] provide mult…
There are also little nifty things like for image processing you can have a hard coded image show up in your code (I like plain text better but it's cool and future-techy). Distributions (as in normal, binomial, Poisson, etc) are a type and PDFs and CDFs can be obtained from them consistently rather than having to remember the different parameters of dnorm, dbinorm, etc.
I would love a real Mathematica expert to give us more. That's the real drawback of the closed ecosystem there is so much less information about it out there, fewer code samples, etc.
Re: Mathematica v12.1
#15Mathematica is worth learning and using since it's so far ahead of the open source alternatives (e.g. Python/Jupyter and associated libraries ) in usability/interactivity/rapid development that it comes across like future-tech. Unfortunately it's also the single tool most hampered by its licensing and silo-like ecosystem.
Maxima is also an amazing tool for symbolic maths, and is free software. I especially recommend the wxMaxima interface which is close in spirit to jupyter notebook
https://peertube.mastodon.host/videos/watch/df751bd5-5a26-44...
Re: Mathematica v12.1
#16Mathematica is worth learning and using since it's so far ahead of the open source alternatives (e.g. Python/Jupyter and associated libraries ) in usability/interactivity/rapid development that it comes across like future-tech. Unfortunately it's also the single tool most hampered by its licensing and silo-like ecosystem.
I've tried it for modeling tasks but I struggled with the sort of basic data manipulation that can be done within pandas/data.table. I can quite comfortably work with 100-million line CSVs using data.table on a standard laptop but Mathematica wasn't even able to ingest the file. I don’t disagree its technically very impressive but there's no point in having these amazing features if it stumbles with such basic tasks.
They were in the unique position of having one of the best symbolic differentiation engines and one of the best numeric engines and a Lisp-like REPL that allows one to write terse, elegant code.
What they were always missing was efficient bulk data structures.
In recent versions they've added a handful of "special cases" where some types of data are stored as a plain data array like in C-derived languages, but this is hit-and-miss.
Similarly, they've dabbled with GPU acceleration and parallelism, but it's half-baked. It feels like a proof of concept, not something you'd ever actually use.
Julia and the like will slowly but surely eat their lunch.
Re: Mathematica v12.1
#17For free CAS I would recommend to give Axiom or FriCAS(more actively developed) a run.
http://fricas.sourceforge.net/ https://en.wikipedia.org/wiki/Axiom_(computer_algebra_system...
Re: Mathematica v12.1
#18Mathematica is worth learning and using since it's so far ahead of the open source alternatives (e.g. Python/Jupyter and associated libraries ) in usability/interactivity/rapid development that it comes across like future-tech. Unfortunately it's also the single tool most hampered by its licensing and silo-like ecosystem.
When I had the chance to try it, I didn't find it that easy to use due to the interface which felt clunky: the way the command line works: no feature to repeat previous comnand with up arrow, have to edit previous existing one, requiring more mouse usage, weird forms of cursor placement, weird default enter key behavior. In ipython, matlab and octave it's much easier to repeat and modify last commands, which is somet…
Although, as others have said, many prefer the style of editing and re-running, rather than leaving the history above.
Re: Mathematica v12.1
#19Mathematica is worth learning and using since it's so far ahead of the open source alternatives (e.g. Python/Jupyter and associated libraries ) in usability/interactivity/rapid development that it comes across like future-tech. Unfortunately it's also the single tool most hampered by its licensing and silo-like ecosystem.
When I had the chance to try it, I didn't find it that easy to use due to the interface which felt clunky: the way the command line works: no feature to repeat previous comnand with up arrow, have to edit previous existing one, requiring more mouse usage, weird forms of cursor placement, weird default enter key behavior. In ipython, matlab and octave it's much easier to repeat and modify last commands, which is somet…
Re: Mathematica v12.1
#20Earlier quoted context omitted.
There are several functions in base R for differentiation, integration, solving system of equations, etc. E.g. `solve`, `stats::D`, `stats::deriv`, `stats::integrate`, `stats::numericDeriv`. R package Deriv for symbolic differentiation, it allows user to supply custom rules for differentiation.[1] R package numDeriv[2] for calculating numerical approximations to derivatives. R package gmp[3] and Rmpfr[4] provide mult…
I use R much more often than Mathematica and think is great for many reasons, but there are places where Mathematica is on another level. My mathematical maturity isn't high enough to really get how it's done or describe it well, but Mathematica has a way of being shockingly consistent across concepts and has pretty thorough documentation that can even help you learn the topics. R is very inconsistent even in the int…