Welcome to sandalwood’s documentation!
sandalwood is a Python library for creating, manipulating, and composing Multivariate Taylor Functions, with high-performance backends for acceleration. It provides a robust framework for working with multivariate Taylor series expansions based on the principles of Differential Algebra (DA).
This library is designed for scientists, engineers, and researchers who need to perform high-order differentiation, integration, and function composition in a computationally efficient manner.
#### Features * Hybrid Multicore Architecture: Seamlessly combines JIT-compiled Python (Numba), vectorized Fortran (COSY Infinity), and GPU-accelerated backends. * Robust Memory Management: Features the CosyIndexPool for O(1) memory allocation and strict CosyScope tracking for complex simulations. * Massive Order Support: Efficiently handles Taylor expansions up to order 128+ with specialized dense-mode multiplication tables. * High-Performance Physics: Includes optimized kernels for Biot-Savart integration and high-order symplectic Map Composition.
API
Background
Advanced Topics
- Advanced Topics
- Performance Optimization in Sandalwood
- The “Two-Language” Problem
- 1. “Dense Mode” Architecture
- 2. Numba JIT Compilation
- 3. Lazy Materialization
- 4. Fast Evaluation with Power Caching
- 5. Vectorized Object Instantiation
- Summary of Speedups
- 6. Hybrid Dispatch & Fortran Fast Path
- 7. Phase 1 Optimizations (Vectorization & Batching)
- 8. Phase 2 Optimizations (Solver & Batching)
- 9. Final Benchmark Results
- 10. Map Composition Optimization (Phase 4)
- 11. Phase 5 Optimizations (Python Structural)
- COSY Infinity Backend Architecture
- Benchmarking and Performance Analysis
- AI Agent Tools Integration