Live data from Hacker News

Mathematica v12.1

writings.stephenwolfram.com

31–40 of 97 posts

Re: Mathematica v12.1

#31

If a software is used to create data that is okay like editing text files in microsoft windows. But computational software such as Wolfram being closed source bothers me a lot. There is no way to verify the science you do is correct.

Quite often it gives you a result that you can then prove directly, or check with other tools. The benefit of MMA is that it has a lot of tools and a good interface, good documentation, and a large community.

In practice, pretty much no one doing science has the expertise or time to completely verify the science they are doing - they are building on centuries of knowledge across many disciplines, and for the most part the community verifies each part as they build knowledge.

And certainly opensource does not allow the vast majority of people "to verify the science you do is correct." They'd have to check the code, the compiler, the hardware, ensure no cosmic rays flipped bits during computation, and so on.

So I'd not worry too much about the closed source vs open source nature of it. It's a solid tool that enables lots of research.

Re: Mathematica v12.1

#32

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?

In these cases the notebook interface will normally show you all of the choices via autocomplete.

Re: Mathematica v12.1

#33

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?

In these cases the notebook interface will normally show you all of the choices via autocomplete.

Even for string?

Why not define a LinkedList constant?

Re: Mathematica v12.1

#34
post #6

Mathematica is an amazing tool, but it has one huge downside: reproducibility. It is a closed monolith, and - especially when you start to use advanced features - you derive results from it that can't be independently verified because of the closed source nature of the monolith.

A good piece to read about this was in the American Math Society Notices: https://www.ams.org/notices/200710/tx071001279p.pdf

Thanks for the link! The succinct article, "Open Source Mathematical Software", illustrates the issue with a quote from a Mathematica tutorial:

> the internals of Mathematica are quite complicated, and even given a basic description of the algorithm used for a particular purpose, it is usually extremely difficult to reach a reliable conclusion about how the detailed implementation of this algorithm will actually behave in particular circumstances.

Re: Mathematica v12.1

#35
post #3

Earlier 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?

None of those can beat it in symbolic computation. You can write entire papers, by simply asking yourself the question: I wonder if this has an analytical integral? If you are lucky Mathematica spits out a solution in terms of a special function.

Why hasn't Wolfram automatically published all those papers? Or sell a paper-generating plugin?

Re: Mathematica v12.1

#36
It also appears to be faster than v12.0; my WolframBench score with 12.1 was significantly higher than 12.0 (25-50% higher).

The new IPFS integration is exciting; might see if I could write a static site generator that automatically publishes to IPFS.

Re: Mathematica v12.1

#37

Earlier quoted context omitted.

In these cases the notebook interface will normally show you all of the choices via autocomplete.

Even for string? Why not define a LinkedList constant?

Yes, in WL strings are commonly used in a matter similar to enums in other languages.

The thing to keep in mind is that WL is based on symbolic replacement. You normally wouldn't define that kind of function as taking in a parameter (i.e., CreateDataStructure[x_] := ...), rather you'd define it for each case separately (i.e., CreateDataStructure["LinkedList"] := ...).

Re: Mathematica v12.1

#38

Earlier quoted context omitted.

A good piece to read about this was in the American Math Society Notices: https://www.ams.org/notices/200710/tx071001279p.pdf

Thanks for the link! The succinct article, "Open Source Mathematical Software", illustrates the issue with a quote from a Mathematica tutorial: > the internals of Mathematica are quite complicated, and even given a basic description of the algorithm used for a particular purpose, it is usually extremely difficult to reach a reliable conclusion about how the detailed implementation of this algorithm will actually beha…

Do note that's in the context of performance optimization. Even open source complicated code is still complicated code.

Re: Mathematica v12.1

#39

Earlier quoted context omitted.

Thanks for the link! The succinct article, "Open Source Mathematical Software", illustrates the issue with a quote from a Mathematica tutorial: > the internals of Mathematica are quite complicated, and even given a basic description of the algorithm used for a particular purpose, it is usually extremely difficult to reach a reliable conclusion about how the detailed implementation of this algorithm will actually beha…

Do note that's in the context of performance optimization. Even open source complicated code is still complicated code.

Very true. But like mathematical arguments in journals, I'm glad open source complicated code is there to be examined.

Re: Mathematica v12.1

#40

I have tried Mathematica for small duration and in general was wowed by it. For 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...

Their is also an excellent open source clone of the rule reducing engine called Expreduce[1], and I've been working on Foxtrot[2] which uses Expreduce to create a GUI and data platform on top of it.

[1] https://github.com/corywalker/expreduce [2] https://github.com/wrnrlr/foxtrot

Post reply on HN