

Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- I have used Wolfram a before but I mostly use Sympy. Looking forward to trying this out. If it is faster than Sympy then that would be a huge help.by petrokitty
- Happy paying Mathematica customer here.
I think this is great. A lot of people want to have a free alternative. For me, the real value of this is the creation of a community and setting the foundation for something better than Mathematica. I'm on the side of those that think that programming languages are a tool of thought and Wolfram lang can be extremely expressive. I love non-mainstream but useful languages.
by adalacelove - What is the performance like for symbolic maths?
I always preferred Mathematica for that to SymPy since it's baked in to the language much more. It was also way way faster than SymPy was for anything interesting.
by physicsguy - Performance is pretty good for most stuff by now. However, there are functions which not optimized yet or implemented in a very basic way and if you use them in non-trivial ways the performance might be quite slow. We're happy about any reports of such issues at https://github.com/ad-si/Woxi/issues!by adius
- Congrats, I remember seeing this few months ago, and it has improved a lot since then! I haven't tapped into Wolfram / Mathematica since my physics years, but I am curious now to try it again.by 3abiton
- A suggestion: I think the python api could be more useful if it returned a structured tree and possibly also could accept a structured tree. I'm guessing you're using maturin, there are some nice low energy ways of getting a tree like structure out even if you have to copy internal trees into a new version with nice python bindings. I've done similar things here https://github.com/philzook58/scryerpy https://github.com/philzook58/steelpy https://github.com/philzook58/microeggpyby philzook
- Good idea! Just committed the necessary changes in https://github.com/ad-si/Woxi/commit/f337a722871ad1b08f8e783.... Did I do it correctly?by adius
- I like this project! I've used Wolfram Language since high-school and collected a large number of notebooks that I revisit sometimes. I'm curious, what fraction of cells work under Moxi? 1,275 notebooks, 3GB archive here -- https://drive.google.com/file/d/1RRqHnnCUevm7E0zKsHQvKNKxpzZ...by yaroslavvb
- Thanks! I’m interested as well … I’ll check it out and report back!by adius
- Can it run Rubi?by Y_Y
- Yes, Rubi mostly works by now! Performance is still a concern, but we're working on improving it. I'll add some information on how to best use Rubi to the documentation soon. I already have a draft, but didn't find the time to finish it, yet.by adius
- As sometime who's never used Wolfram Languages before this project has gotten me interested.
For sometime now I've been looking into a good CAS for my app. I've tried a few algebra problems with Sympy, Sage, Xcas, Maxima and Woxi. Of these only Sage, Maxima and Woxi were capable of giving the expected answers.
After trying it out I became fascinated by Wolfram language and other term rewriting languages they are pretty interesting even though most have little to do with CAS like WL.
Anyway I've been looking at this project and plan to seriously use it in the future. So, I've noticed a few things when attempting to run wljs (I had to wrap it with a shell script to get wljs to see it as wolframscript executable). First the version number system variable gives a string instead of the expected real number type (As a temporary hack I modified Woxi to give what wljs expects). There also is a variable that tells to the absolute path of the of the current file and it is wrong when it's used in an imported script. After working around that with hard coded paths things became more difficult.
Edit: just checked my pc and the variables are called $VersionNumber and $InputFileName which is incorrect if the file is evaluated via Get["filepath"].
Anyways, I'm interested in helping out don't know if I can.
by bobajeff - Any help is highly appreciated! A great way to get started would be to open issues for the problems you found at https://github.com/ad-si/Woxi/issues.by adius
- I tried out the multivariable calculus visualizations from https://nmd.web.illinois.edu/classes/2024/241/schedule.html (search for "visualization") and Woxi Studio seems to be able to display them. I'm not sure if it's entirely correct (there might be a few bugs) since I don't have Mathematica currently to serve as a comparison.by ethanc8
- This was also posted 6 months ago: https://news.ycombinator.com/item?id=47155526by alex7o
- Since then, we've made more than 7,000 commits and massively expanded Woxi's feature set. So it's well worth another try for anyone who tried it back then!by adius
- Wish you luck. Hope one day instead of Sage that is a bunch of Python glue for completely different and disjointed systems like Maxima, SymPy, Octave, GAP, PARI/GP, etc we will get a one well-integrated (and blazingly fast because written in Rust). I am a big supporter of open-source but after struggling with Sage and Co, decided that buying Wolfram Mathematica license is well-worth it (never regretted since). It would be great if we don't need to do that anymore.
As for the "most wanted" features, I would vote for PDEs, since most other systems (apart from Mathematica itself) do not support them well.
by xvilka - I love the idea of Sage, and think an open-source state of the art CAS is essential in this day and age, but in trying to master it I got sick of Python.
I truly, honestly loathe the way Python handles for symbolic computation, and digging down I traced my disdain all the way to the fundamental object model of Python; so there is no way some surface-level modification will work for me.
On the one hand, it allows the sloppy "integration" of various systems (like you mention). On the other hand, it is not a real integration, just a patchwork of the worst kind. You never know what kind of interface you will face next, there is no coherence among tools, everything is its own world and you need to translate manually between them. Assuming you know the interfaces beforehand. If not... good luck.
by ykonstant - I get the reasons for not supporting out of order execution and the % variable, it makes for more readable and usable notebooks. Unfortunately most of the time I use Mathematica it is not to make a readable and repeatable notebook but just to help with uni work, so I do take shortcuts like putting multiple statements in a block and using % frequently.
If you are planning to add another component, I'd like to +1 the control systems module. It's a lot less clunky than Matlab in my opinion and faster to use. I've used the classical analysis, state space model and matrix equation solver features in that module, none of the microcontroller stuff https://reference.wolfram.com/language/guide/ClassicalAnalys...
Either way, I'll probably be using this after I graduate and no longer have the site license, since I cannot imagine using a different CAS, so thanks for developing this
by peterus