Live data from Hacker News

Symbolica Computer Algebra System

symbolica.io

31–40 of 126 posts

Re: Symbolica Computer Algebra System

#31

It is an interesting combination of open source yet paid. But the price is "Contact us for a quote" Can't they at least give a ballpark number of what the price is? Matlab and Mathematica are about $1000-3000 per year for commercial license, they aren't hiding their price.

Author here: thanks for the feedback. I will add a price range soon. The reason why it is not there in the first place is because I am thinking about site-wide licenses, which are often quote-based (also for Mathematica). For universities site-wide licenses are common, but for industry maybe less so. For reference, a university site-wide license is about 6000 EUR per year at the moment.

6000 ... per month? Per Year? Lifelong?

Re: Symbolica Computer Algebra System

#32
post #2

What’s the use case overlap between symbolic and huge? I might expect that with most huge expressions (they talk about disk space being the limit, not memory) you’d be satisfied with a numerical approximation. Does someone need to simplify a huge expression down to a small symbolic expression?

One use case is in theoretical physics, where expressions that take up about a terabyte are generated when computing Feynman diagrams, but only in the intermediate stages. By the end of a two-month computation you get a result similar to equation 4.5 in this paper: https://arxiv.org/pdf/1707.01044 An exact answer is desired since the final result reveals some structure that can be studied, and because it is very hard…

What do you mean by "symbolically it can be made regular"?

Re: Symbolica Computer Algebra System

#34

Can confirm, it is fast. I've been struggling with a plane equation for a plane based on isotropic segments. 3 segments, 3 complex points - only 6 equations. Almost every CAS can solve the system per se fast, it's the simplification process that costs time. On my machine, I managed to get a ~300KB long solution from SymPy in under a minute, and a comparable solution from Maxima in a few seconds. Symbolica found a ~84…

Wow. Could you share the equation/code you worked on? I can't imagine a mathematical object being 84KB long, that's insanely huge

Sure! https://github.com/akalenuk/mesh-experiments/blob/master/eq/...

It's not even a particularly large system. Only 6 linear equations.

Re: Symbolica Computer Algebra System

#35
(Ab)using `build.rs` for license checking is brilliant and horrible at once ;-) (Another argument for sandboxing build scripts?)

By the way, `Cargo.toml` example in the installation section has a significant typo:

    symbolica = { "*" }   # Should have been just `symbolica = "*"`.

Re: Symbolica Computer Algebra System

#36

Can confirm, it is fast. I've been struggling with a plane equation for a plane based on isotropic segments. 3 segments, 3 complex points - only 6 equations. Almost every CAS can solve the system per se fast, it's the simplification process that costs time. On my machine, I managed to get a ~300KB long solution from SymPy in under a minute, and a comparable solution from Maxima in a few seconds. Symbolica found a ~84…

Wow. Could you share the equation/code you worked on? I can't imagine a mathematical object being 84KB long, that's insanely huge

Author of Symbolica here: Symbolica is used in physics calculations to do arithmetic on rational polynomials that are hundreds of megabytes long.

For my physics research I have worked with expressions that was just shy of a terabyte long and had > 100M terms. The way that works is that you stream terms from disk, perform manipulations on them and write them to disk again. Using a mergesort, terms that add up can be identified by sorting them to be adjacent.

Re: Symbolica Computer Algebra System

#37

Earlier quoted context omitted.

Author here: thanks for the feedback. I will add a price range soon. The reason why it is not there in the first place is because I am thinking about site-wide licenses, which are often quote-based (also for Mathematica). For universities site-wide licenses are common, but for industry maybe less so. For reference, a university site-wide license is about 6000 EUR per year at the moment.

6000 ... per month? Per Year? Lifelong?

I have updated the post. It's an annual site-wide license, so not per user.

Re: Symbolica Computer Algebra System

#38

Earlier quoted context omitted.

Wow. Could you share the equation/code you worked on? I can't imagine a mathematical object being 84KB long, that's insanely huge

Author of Symbolica here: Symbolica is used in physics calculations to do arithmetic on rational polynomials that are hundreds of megabytes long. For my physics research I have worked with expressions that was just shy of a terabyte long and had > 100M terms. The way that works is that you stream terms from disk, perform manipulations on them and write them to disk again. Using a mergesort, terms that add up can be i…

I love how merge-sort which was once used on punch cards because RAM was tight is still relevant. :)

Re: Symbolica Computer Algebra System

#39

Earlier quoted context omitted.

One use case is in theoretical physics, where expressions that take up about a terabyte are generated when computing Feynman diagrams, but only in the intermediate stages. By the end of a two-month computation you get a result similar to equation 4.5 in this paper: https://arxiv.org/pdf/1707.01044 An exact answer is desired since the final result reveals some structure that can be studied, and because it is very hard…

What do you mean by "symbolically it can be made regular"?

(1-x)/x - 1/x =1/x - 1 - 1/x = -1

Evaluating the expression naively near zero you're going to get wild numerical errors, but if you do the symbolic manipulation you're going to notice that it's just equal to -1.

Edit: e.g. consider this interaction I just had with the python interpreter

    >>> x=1e-15
    >>> (1-x)/x - 1/x
    -1.0
    >>> x=1e-16
    >>> (1-x)/x - 1/x
    0.0
you get completely the wrong answer when x = 1e-16

Re: Symbolica Computer Algebra System

#40

(Ab)using `build.rs` for license checking is brilliant and horrible at once ;-) (Another argument for sandboxing build scripts?) By the way, `Cargo.toml` example in the installation section has a significant typo: symbolica = { "*" } # Should have been just `symbolica = "*"`.

Thanks for reporting, I fixed the typo.

I actually had an idea to do an OEM license check in build.rs that compiles out all license checks so that this version can be included in customers' software ^^

Post reply on HN