17 ms·
Mathics: A free, open-source alternative to Mathematica
- kragen 4y agoSurprisingly, it seems to have survived over a year without being taken offline by baseless DMCA threats.
- greenyoda 4y agoIt seems to have been around much longer than that. It was first posted to HN ten years ago: https://news.ycombinator.com/item?id=4066826 https://news.ycombinator.com/item?id=4066826
- msteffen 4y agoIs this in any way related to https://www.sagemath.org/ https://www.sagemath.org/?
- nsxwolf 4y agoThis looks difficult to install. I can see there's a core command line module and a GUI in different projects. I don't see a homebrew incantation or macOS installer or anything like that. Looks like python dependency hell.
- __ryan__ 4y agoCompared to what? What about the docker image? It’s effectively a development environment for math, and it’s seemingly robust. It doesn’t seem particularly wasteful in its use of dependencies specifically has the goal of interfacing with other open source tools. Rolling their own X for everything rather than using the de-facto third party libraries seems like a fine, manageable choice to me.
- nsxwolf 4y agoCompared to Mathematica, which has an installer, and a cloud version. Docker image does sound useful, for a more technical user.
- indymike 4y agoExpecting a project like this to come out of the box with the polish of a decades old tool isn't quite fair is it?
- BrenBarn 4y agoBut if it doesn't, then it's not really an alternative to Mathematica.
- aussieshibe 4y agoThat's quite subjective. To someone with no money to spend, Mathematica isnt really an alternative to Mathics.
- __ryan__ 4y agoIs a pen not an alternative to a pencil? Different features and tradeoffs; it depends on preference and context. If anything it’s less of an alternative if there’s no differences, otherwise it would be byte-for-byte Mathematica and you’d be unable to choose between the two.
- indymike 4y agoPerhaps it isn't for some things or if you can't install it. But that's really dependent on use case and user, isn't it?
- hpcjoe 4y agoFrom what I see, it's pip3 install Mathics-omnibus levels of hard. I'm missing some libraries on one of my machines, but I'm planning on playing with it.
- kzrdude 4y agoIt's missing mysql_config. Sounds a bit much to require mysql, for easy installation.
- TheRealPomax 4y agoEvery time someone makes a "free mathematica", my first question is "can I write, and see, maths as actual maths instead of as programming statement?" and every time so far the answer has been "no". So... can I write, and see, maths as actual maths?
- davnn 4y agoI understand the wish, and Mathematica does a pretty great job of making the mathematical notation less ambiguous, but I‘m surprised that this would be your highest priority. Do you actually enjoy writing in math notation?
- laingc 4y agoIf you’re a working mathematician, it’s the only way you think.
- esperent 4y agoIf you are the X then you must do/be Y is called gatekeeping. And of course this is not true. I know mathematicians who work almost exclusively on a computer, and others who have an old dusty computer from 20 years ago in the corner of their office that they barely touch. Most are somewhere in between.
- qubex 4y agoMathematics is one of the oldest disciplines in the world. Grumbling about the legacy of its ancient history as ‘gatekeeping’ is puerile.
- Beldin 4y agoThis started worth talking about notation. Notation of mathematics has changed significantly over time - Newton's Principae is not readable without accounting for changes. In the history of maths, that is a fairly recent work.
- WoahNoun 4y agoMathematica has an army of mathematicians working on edge cases that only other mathematicians would care about. It's essentially impossible for any open source software to match what mathematica does.
- bowsamic 4y agoYep, this is why no other software can compete. People don’t realise that mathematica consists of huge lists of hard coded cases for different mathematical problems. It’s not like they managed to find the general formula for everything. And there are functions that I rely on that literally no other software has, that I haven’t even managed to find any papers that would even hint at their implementation, that magically work for almost any input. For example, MinimalStateSpace seems to be able to find the minimum required form for basically any input state space, which is highly non trivial. It’s a huge amount of work going into niche mathematical problems that even most people in STEM won’t have heard of. I don’t see how others can compete
- smithmayowa 4y agoThis is so true for instance mathematica's treatment on numerical integration is the most complete I have seen out there so many methods that work on very minute and specific type of functions, this is even more so when you're working with functions that have singularities in them, and therefore need to be treated piecewisely, or functions that are highly oscillating. (https://reference.wolfram.com/language/tutorial/NIntegrateIntegrationStrategies.html https://reference.wolfram.com/language/tutorial/NIntegrateIn...)
- bowsamic 4y agoYeah and tbh that's even the simple stuff. Those are widely needed, very common situations in practical mathematical/physical calculations. The thing that is really crazy is that the stuff that literally doesn't even exist in any other software, but is really necessary, such as in my case a full symbolic control systems library, is still absurdly complete. That's why nothing can compete. Not only does Mathematica have an extremely complete implementation of common functionality, it even has an extremely complete implementation of very niche functionality. I don't think that the people who propose OSS solutions really appreciate this, probably because they aren't professional mathematicians/physicists
- friend_and_foe 4y agoHere's a great one for Android as well. https://github.com/mkulesh/microMathematics https://github.com/mkulesh/microMathematics These guys should collaborate.
- dotancohen 4y agoThank you for this. It is not comparable to the program in the OP, but it seems a terrific Android app nonetheless. And it's available on Fdroid too.
- dang 4y agoRelated: Mathics – A free, light-weight alternative to Mathematica - https://news.ycombinator.com/item?id=19851934 https://news.ycombinator.com/item?id=19851934 - May 2019 (83 comments) Mathics: A free, light-weight alternative to Mathematica - https://news.ycombinator.com/item?id=11459186 https://news.ycombinator.com/item?id=11459186 - April 2016 (73 comments) Mathics - A free, light-weight alternative to Mathematica - https://news.ycombinator.com/item?id=5196551 https://news.ycombinator.com/item?id=5196551 - Feb 2013 (86 comments) Mathics - A free, light-weight alternative to Mathematica with support for Sage - https://news.ycombinator.com/item?id=4066826 https://news.ycombinator.com/item?id=4066826 - June 2012 (57 comments)
- bmitc 4y agoI'm never sure why projects try to claim themselves as a free alternative to Mathematica. For one, they never seem to reach anywhere near the polish and power of Mathematica. And secondly, is Mathematica really that expensive if you use it in your job/industry? For hobbyists, Mathematica is free on a Raspberry Pi, which probably runs better than any alternative, and has a pretty reasonable price point if you buy the real thing for personal use. For students/professors, Mathematica is basically already free at most major universities.
- divbzero 4y agoTIL: Mathematica is free on Raspberry Pi. https://www.wolfram.com/raspberry-pi/ https://www.wolfram.com/raspberry-pi/
- bmitc 4y agoYea, it's a pretty awesome thing, in my opinion. It ran a bit slow on the old Raspberry Pis, but the Raspberry Pi 4 is obviously much more powerful.
- homarp 4y agoand Minecraft is also free on RPi https://www.minecraft.net/en-us/edition/pi https://www.minecraft.net/en-us/edition/pi
- hkt 4y agoAnd the free version has a neat open source fork that adds features: https://github.com/MCPI-Revival/minecraft-pi-reborn https://github.com/MCPI-Revival/minecraft-pi-reborn
- bowsamic 4y ago> Mathematica is basically already free at most major universities. As a physicist I can say this is definitely not true
- b33j0r 4y agoYou’re not wrong. It’s just the idea of “what if I accidentally turn my dream hobby into a success?” and “how do I even call lawyers?” and “is any of this worth investing in, on balance?”
- 2-718-281-828 4y agocould someone advertise mathematica to me? like, how powerful is it? i'm a mathematically trained dev / DE. i'd probably be most interested in exploring rabbit holes as i find them, plotting things, simulating something etc
- ogogmad 4y agoIt has a better equation-solver and simplifier than anything available in open-source. For instance, I have a lot of experience with Sympy, but Sympy has no ability to detect that an equation has a piecewise solution, while Mathematica does. Sympy often finds a solution to an equation that is true most of the time but is generally wrong, while Mathematica gives a piecewise solution that's correct in every case. It also has a great toolset for making interactive plots. Assuming you understand the following jargon, it uses the functional reactive paradigm. All possible variable names in Mathematica are pre-declared, unlike in general-purpose programming languages.* For instance, the variable "x" is predeclared, and when its value is printed out, it prints out "x". Sympy and Sage absolutely use the wrong approach here. You can work around the problem in Sympy using from sympy.abc import * but this is honestly rather shit. The editor is nice, in that it suggests documentation, and offers to auto-complete your code. It's similar to an IDE in that respect. This compares favourably against Maxima, where some people suggest to use it via Emacs, and then you don't get access to auto-completion or context-relevant documentation. You can also copy-paste any object in the notebook. I don't know if this is directly useful, but the copy-paste includes any plot, image, formula, output, etc. The experience is similar to MS Office, where you can similarly copy-paste any image, table, text, or combination of these. With something like Sympy, you would need to use some function to serialise an object (like a formula) to code. Finally, comparison to Sagemath: Everything in Sagemath seems half done. It ticks a lot of feature boxes, but the features seem incompletely implemented, even when compared to Sympy. By contrast, when Mathematica does something, it seems to be done in a more complete and usable way. The whole system seems consistent, somehow. * - This is one of the ways that a CAS should not behave like a general-purpose language.
- henrydark 4y agoWorking with sage for about 17 years, I've had the complete opposite experience. There is no alternative for holistic number theory, group theory, and algebraic geometry (except maybe MAGMA, which I haven't used in years), and sage does these extremely well (sometimes with the aid of things like Gap and PARI), and this is evident by the large number of citations it has in papers. Plenty of leading mathematicians use sage in proper research, a property which I don't think Mathematica shares.
- Roark66 4y agoHaven't we had scipy for ages? It is a real OS replacement for Mathematica. It can even run a lot of its scripts/code (sometimes with minor changes). In fact reading the linked page it appears they "build on top of" scipy.
- ogogmad 4y agoScipy is for numerical computation. It's not a CAS. While Sympy (which is one of the OSS libraries used in Mathics) is a CAS, it only implements a subset of the features of Mathematica, and not to the same standard. See here: https://news.ycombinator.com/item?id=33478881 https://news.ycombinator.com/item?id=33478881
- dagw 4y agoAre you confusing scipy and sage? Sage is basically trying to fill the Mathematica space in the Open Source world. However they have completely different syntax (Sage is python and Mathematica uses its own Wolfram language) and you cannot run just run Mathematica script in Sage.
- mkl 4y agoSciPy definitely can't run Mathematica scripts. It's a numerical library for Python that adds on to NumPy with special functions, optimisation, DE solving, etc.
- l0b0 4y agoIs there a reasonably neutral comparison of Mathics vs Mathematica anywhere? Based on an amazing showcase[1] Mathematica is right at the top of my list of languages to learn if it (and at least some of the surrounding tooling) ever becomes open source. I wonder how many of those examples would give useful results in Mathics, or what their equivalents would be. [1] https://codegolf.stackexchange.com/a/44683/9570 https://codegolf.stackexchange.com/a/44683/9570
- blablabla123 4y agoI doubt it, probably also because the price tag is so far away from cheap/for free if you cannot go for any student program in which case the question probably doesn't even pop up
- q-big 4y agoThat's not true: here is the pricing for the Home and Hobby licenses: > https://www.wolfram.com/mathematica/pricing/home-hobby/ https://www.wolfram.com/mathematica/pricing/home-hobby/ These prices are not cheap, but affordable if you are serious about your hobby.
- blablabla123 4y agoSure, but that's really strictly hobby. Anything remotely for commercial usage or even open source isn't an option, there the prices are 10x. Also for people just having finished studies even those prices can be a lot. IMHO the Home/Hobby licenses seem to be in a very tiny niche
- techdragon 4y agoAs much as I admire the power behind the “wolfram language”, it’s just never going to be open sourced, never going to really be available for a hobbyist to learn, never viable for a startup to build their entire data analysis core value on top of, its just never going to happen… Stephen Wolfram would die before he gave up control, the entire thing is his precious child. His track record at Wolfram Research is well established. Mathematica could be so much more, but basically until Stephen dies, it will remain an academic mathematical tool. It’s a complete coin flip as to when he dies the company will collapse or thrive, but it’s just so far away from anything they have plans for at the moment that it’s just impossible to guess.
- ccbccccbbcccbb 4y agoI thought that all the fuzz about something being close source / commercial aka overpriced is not worth a hill of beans, because if it doesn't fit your ideals/wallet you just use what fits. But no, there's always a discourse about how unfair, unethical, greedy etc the developers of closed source / commercial aka overpriced software are, which vividly displays that the actual sentiment in these complaints is pure and simple envy, towards better things that cost more, towards developers who make a living off their own projects and don't feel obliged to worship the ideals of open source, free as in beer, cheap as in dirt etc...
- batmanturkey 4y ago
- accurrent 4y agoOpen source software doesnt have to be free as in beer. I actually make a decent living off writing oss software. For the most part the work is like consultancy (we have paying clients request features). Despite being an oss dev I do actually pay for software I think is worth it. I think the major issue with mathematica is that it is _really_ pricy for paid software (and not great at that, ive run into many bugs with it).
- amai 4y agoWhy does Mathics not make use of jupyter notebooks? It seem they are reinventing the wheel a bit.
- drhodes 4y agoHi, they did at one point: https://github.com/mathics/IMathics https://github.com/mathics/IMathics
- fab13n 4y agocan't wait to see what people come up with when they'll start interfacing it with a modern AI.
- someweirdperson 4y agoI don't get the idea of re-running mathmatica scripts. I haven't used it 20 years, but always saw it as an algebra system. There's no re-running. Once the math is done it's done. Proving (manually) the correctness of the result is usually easier than finding it. Feeding numbers into the equations can be done elsewhere.
- shezi 4y agoThis looks really nice and people interested in mathematical computing should try it out. I certainly will. Apparently many commenters here do not understand the word "alternative", which means "a thing that you can choose to do or have out of two or more possibilities", and instead take it as "equal in every respect".
- ohbtvz 4y ago> Documentation for the Mathics system is provided in the PDF format (download the PDF). Seriously? I'm already tired of latex packages only being documented as PDF, but at least there's a technical reason. Here, this is just contempt for the users.
- hilbert42 4y agoWhat else would you require, or what would be more appropriate?
- namibj 4y agoAppropriate? The Wolfram Language documentation of mathematics, the way it's accessible online as hypertext.
- ohbtvz 4y agoHTML. Take a look at Mathematica's documentation: https://reference.wolfram.com/language/ref/Solve.html https://reference.wolfram.com/language/ref/Solve.html
- hilbert42 4y agoAgreed, it does seem an unacceptable oversight that HTML/MathML and perhaps also LaTeX and Open Document format etc. are missing—for reasons they're convenient to use as is and or are easy starting points for conversion to other formats. One wonders why the omission given Mathematica's vintage—one would have thought that by now Wolfram would have had time to write the output format routines.
- vtail 4y agoI’m a big, big fan of Wolfram Language - as a recreational mathematician and programmer, there is nothing else I would rather do my explorations with. As always in these discussions, I expect many people will start complaining about how expensive Mathematica is, and how Stephen Wolfram is very shortsighted with his pricing, and how open sourcing it would truly unlock all the potential of the system. And I seriously doubt this point of view. Open sourcing is not a magic dust that automatically makes everything better. While it works in some cases, it doesn’t work in others - and not having a competitive open source mathematical system is a prove of that. Hiring people to develop and evolve complex algorithms, on work on improving the UI and making it work on three different OSes, or curate and maintain the knowledge library, takes a lot of effort. I’m actually surprised they don’t price it higher! Disclaimer: And yes, I live in a developed country, so $250/year for a personal license is not a substantial cost for me. I’m sure that somewhat biases my position.
- dfee 4y ago> Open sourcing is not a magic dust that automatically makes everything better. I think it does. The market is then on ideas. Long term, someone will build an open core business model around Mathics (or similar) and that’ll create an incentive for Wolfram to reprioritize and pursue the best ideas. The same will happen for this new biz with the open core business model. It will continue to fray as industry figures out what the market wants, pruning poor ideas/execution and rewarding good ideas/execution. Let’s go!
- vtail 4y agoRespectfully, I disagree with that premise. That clearly hasn’t happened with OpenSage, Maxima, or half a dozen other old open source computer algebra systems, many of which were around as long as Mathematica. If the open sourcing a system works as you describe - why haven’t those system received even a tenth of a polish that Mathematica has, over all these years? I have my answer: because, even with all its warts, producing something of Mathematica quality requires tremendous coordinated efforts of hundreds of highly qualified professionals who need to be tightly coordinated. If you try the “next best thing” - a few core enthusiasts plus a large number of users who do occasional contribution you can get to (an impressive) quality level of the above mentioned alternatives, but not higher.
- erremerre 4y agoI always find the same problem with all Mathematica clones (Mathics, Sage, wxMaxima). Do they offer a .exe that I can install, then click on a button and start a program without any tinkering. Mathics and Sage no. wxMaxima yes. Although I always had the feeling that wxMaxima is more an alternative to Derive than Mathematica at this point. Mathematica works because it is easy to deal with, no installing packages, libraries, libraries incompatible with others. You have Mathematica 9, you got all that Mathematica 9 supports. You send a notebook to someone else, they can execute the notebook if their mathematica version is equal or larger. It is like saying that Latex is an alternative to word. No, they both make documents, but one is not an alternative to the other one.
- deleted 4y ago[deleted]
- okasaki 4y agoThis seems to be powered mostly by Python libraries, but they made a custom language that looks like Mathematica. Why not just use Python?
- mensetmanusman 4y agoI was really hoping the *.cdf format would take off and interactive science papers on the iPad were going to be the future.