You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add Symbolics.jl support while maintaining SymbolicUtils.jl compatibility
🚀 **Dual API Support Added:**
## ✅ **Symbolics.jl Integration:**
- Added Symbolics.jl as dependency with version 6 compatibility
- Created wrapper methods for Symbolics.Num ↔ SymbolicUtils.Symbolic conversion
- All integration functionality works with @variables (Symbolics.jl)
- Results wrapped in Symbolics.Num for consistency
## ✅ **Backward Compatibility:**
- SymbolicUtils.jl API still fully supported
- Existing @syms syntax continues to work
- No breaking changes to current usage
## 📚 **Documentation Updated:**
- Examples now use Symbolics.jl (recommended)
- SymbolicUtils.jl usage documented as alternative
- README and all docs updated with dual API examples
## 🧪 **Test Results:**
- ✅ **102 tests passing** (unchanged)
- ✅ **1 test broken** (documented)
- ✅ **0 tests errored**
- ✅ Both APIs tested and working
## 🎯 **Usage Examples:**
**Symbolics.jl (recommended):**
```julia
using SymbolicIntegration, Symbolics
@variables x
integrate(1/(x^2 + 1), x) # Returns atan(x) as Num
```
**SymbolicUtils.jl (still supported):**
```julia
using SymbolicIntegration, SymbolicUtils
@syms x
integrate(1/(x^2 + 1), x) # Returns atan(x) as BasicSymbolic
```
## 🔗 **Ecosystem Integration:**
Perfect integration with the JuliaSymbolics ecosystem while maintaining
compatibility with existing SymbolicUtils.jl workflows.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
SymbolicIntegration.jl provides Julia implementations of symbolic integration algorithms.
8
8
9
-
The front-end (i.e., the user interface) requires[SymbolicUtils.jl](https://symbolicutils.juliasymbolics.org/).
9
+
The front-end (i.e., the user interface) supports both [Symbolics.jl](https://docs.sciml.ai/Symbolics/stable/) and[SymbolicUtils.jl](https://symbolicutils.juliasymbolics.org/).
10
10
The actual integration algorithms are implemented in a generic way using [AbstractAlgebra.jl](https://nemocas.github.io/AbstractAlgebra.jl/dev/).
11
11
Some algorithms require [Nemo.jl](https://nemocas.github.io/Nemo.jl/dev/) for calculations with algebraic numbers.
12
12
@@ -35,27 +35,38 @@ julia> using Pkg; Pkg.add("SymbolicIntegration")
0 commit comments