Skip to content

Conversation

MilesCranmer
Copy link
Owner

@MilesCranmer MilesCranmer commented Jul 30, 2025

Features:

  • n-ary operators
  • support for user-passed "guesses" of equations
  • Mooncake and Enzyme support as autodiff backends
  • feature node mutation

This also fundamentally changes some of the mutation operators to support the new n-arity operators. For example, a "rotation" of a binary tree has been generalised in such a way that its behavior changes on binary trees as well.

Similarly, the sampling patterns for other mutations has been changed, so as to improve the uniformity of mutations.

TODO:

  • Do we have to use safe operators in the guesses? Or is that not needed?
  • Can we do complexity_of_operators for operators that have safe versions?
  • Add examples to docs for n-arity operators
  • Add some 3-arity operators to the docs and to the builtin sympy mappings (muladd, max, etc.)
  • Get working with pytorch/jax export?

Copy link

codecov bot commented Jul 30, 2025

Codecov Report

❌ Patch coverage is 92.92035% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.58%. Comparing base (c64ab94) to head (064e201).
⚠️ Report is 8 commits behind head on master.

Files with missing lines Patch % Lines
pysr/sr.py 94.33% 6 Missing ⚠️
pysr/julia_extensions.py 60.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #999      +/-   ##
==========================================
+ Coverage   93.55%   93.58%   +0.03%     
==========================================
  Files          21       21              
  Lines        1566     1638      +72     
==========================================
+ Hits         1465     1533      +68     
- Misses        101      105       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant