TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Towards a new SymPy

141 pointsby asmeurerover 1 year ago

12 comments

carapaceover 1 year ago
Part II made the front page yesterday: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37426080">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37426080</a><p>A comment there makes what I think is a very good point about &quot;the lack of consolidation of computer algebra efforts&quot;: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37430437">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=37430437</a><p>I don&#x27;t know what might drive or foster such consolidation. Maybe Category Theory? Bridging syntax?
评论 #37435620 未加载
mathisfun123over 1 year ago
The unfortunate thing is that core CAS functionality (and performance) should be based on a SAT&#x2F;SMT engine to discover the rewrite rules and it goes without saying (but I&#x27;ll say it anyway) implementing that is &quot;hard&quot;. Naively (i.e., I haven&#x27;t <i>really</i> thought through it), I think sympy should be built on top of z3 or cvc5 or at least very tighly integrated (e.g., support as a backend). And (again naively) I think until such time, sympy will remain a toy.<p>I will say though that symengine is a great project and congrats to that guy for pulling it off under the constraints of a phd.
评论 #37434649 未加载
评论 #37438865 未加载
评论 #37436769 未加载
评论 #37437231 未加载
评论 #37441017 未加载
评论 #37435397 未加载
评论 #37442079 未加载
7thaccountover 1 year ago
I really liked the article and how it explained CAS vs Numerical solutions.<p>It also looks like SymPy or SymEngine is starting to catch up to Mathematica which also is pretty cool and does the same kind of expansion of an expression into a tree of sub expressions.
评论 #37435566 未加载
eigenketover 1 year ago
I love SymPy. Its so useful for doing calculations I don&#x27;t want to do myself.
qubexover 1 year ago
I’ve tried to appreciate SymPy but I always find myself running home to Mathematica. There’s simply no comparison. SymPy is like a match and Mathematica has the power of a sizeable thermonuclear warhead.
评论 #37438002 未加载
bionhowardover 1 year ago
If you have fewer primitives and terminals than there are UTF-8 characters (1.1 million), then you could ditch OOP expression trees altogether and use simple strings in Polish notation with a mapping of utf-8 characters to operations (simple lambdas). That way you don’t need __dict__ on every node of every tree. However, you’d have to rewrite the stuff which expects the OOP trees to instead expect Polish notation strings. This approach scales a lot further than classes because you reduce the memory cost of the algebraic expressions down to the simplest string to represent them (and even smaller if you pack the bits into an ANS, that’s a performance hit to reduce memory more)
评论 #37439879 未加载
habermanover 1 year ago
I remember being a kid and fawning over the upgrade from a TI-86 (which could not do symbolic manipulation) to the TI-89 (which could).<p>As an adult and OSS enthusiast, I&#x27;ve often wondered if there is an OSS option that can at least match, and ideally exceed, the TI-89&#x27;s capabilities. Is SymPy it? I&#x27;ve had a few reasonably good experiences with SymPy, but I don&#x27;t know much about the theoretical underpinnings of CAS, or how SymPy compares to competing offerings.
评论 #37441283 未加载
HelloNurseover 1 year ago
Regarding the issue of representing symbolic expression and controlling their evaluation or simplification, are there precedents of using e-graphs to memoize and reuse work rather than simple trees with destructive updates?
评论 #37438771 未加载
roger_over 1 year ago
SymPy is pretty nice but every time I use it for a real problem I end up hitting a wall and have to dig through the source or look at old issue reports for a workaround.<p>Most recently I wanted to simplify a complex expression with terms like ‘diag(v1) * v2’ into Hadamard products, and found I’d need to implement custom rules to get it to work.
ameliusover 1 year ago
Python is great in DL, so any chance we&#x27;ll see a combination of neural nets and computer algebra in a new sympy?
j2kunover 1 year ago
If the author is reading this: please add an rss feed to the blog! I&#x27;d love to follow along for updates
kzrdudeover 1 year ago
I think banking on SymEngineX (&quot;SEX&quot;) for the Sympy 2.0 release would be interesting branding.<p>I&#x27;m also cheering for Sympy, I think it&#x27;s longevity now still predicts success in the future.
评论 #37436826 未加载