v2.3.0 - Additional Statistical Distributions & Performance Optimization
Major Feature Release - This release adds powerful new statistical distributions and comprehensive SIMD/threading optimizations, making libhmm suitable for advanced statistical modeling and high-performance applications.
🆕 New Statistical Distributions
Student's t-Distribution
• Complete implementation for robust statistical modeling with heavy tails
• Parameters: location (μ), scale (σ), and degrees of freedom (ν)
• Perfect for financial modeling, outlier-robust analysis, and extreme event modeling
• Includes MLE parameter fitting and comprehensive validation
Chi-squared Distribution
• Essential for goodness-of-fit testing and statistical hypothesis testing
• Parameter: degrees of freedom (k)
• Used in categorical data analysis and process capability studies
• Efficient implementation with numerical stability
⚡ Performance Optimizations
• 🔥 SIMD Vectorization: AVX, SSE2, and ARM NEON support with up to 3x speedup
• 🧵 Modern C++17 Thread Pool: Work-stealing algorithm for optimal multi-core performance
• 🎯 Optimized Forward-Backward Calculator: SIMD-accelerated matrix operations with cache-friendly layouts
• 🤖 Automatic Optimization: Runtime CPU feature detection and algorithm selection
• 💾 Memory Efficiency: Aligned allocators and memory pools for high-performance computing
📚 New Examples
• robust_financial_hmm_example.cpp: Heavy-tailed financial modeling using Student's t-distribution for crisis detection and robust portfolio optimization
• statistical_process_control_hmm_example.cpp: Advanced quality control using Chi-squared distribution for hypothesis testing and SPC
🔧 Enhancements & Fixes
• ✅ Zero-Warning Builds: Eliminated all compiler warnings across platforms
• 🔨 Fixed HMM Stream Parser: Resolved multiline distribution format parsing issues
• 📦 CMake Improvements: Fixed FindBoost deprecation warnings and enhanced cross-platform support
• 🛡️ Enhanced Error Handling: Improved parameter validation and exception safety
• 📖 Comprehensive Documentation: Updated README, CHANGELOG, and testing strategy
📊 Technical Specifications
Feature | Count | Status |
---|---|---|
Probability Distributions | 17 total | ✅ All tested |
Test Suites | 28 comprehensive | ✅ 100% passing |
Examples | 9 real-world | ✅ All domains covered |
SIMD Support | 3 architectures | ✅ AVX/SSE2/NEON |
Threading | C++17 standard | ✅ Work-stealing pool |
🎯 Use Cases
• Finance: Robust portfolio optimization, crisis detection, heavy-tailed risk modeling
• Manufacturing: Advanced statistical process control, quality monitoring, hypothesis testing
• Research: Heavy-tailed statistical modeling, goodness-of-fit testing, robust statistics
• High-Performance Computing: SIMD-accelerated matrix operations, parallel training
🔄 Backward Compatibility
✅ Fully Backward Compatible - All existing code continues to work unchanged. New features are opt-in.
🚀 Performance Gains
• Matrix Operations: Up to 3x speedup with SIMD vectorization
• Memory Access: Cache-optimized layouts reduce latency
• Parallel Processing: Multi-core training for large datasets
• Automatic Selection: Optimal algorithms chosen based on problem size and CPU features
📋 Requirements
• C++17 Compatible Compiler: GCC 7+, Clang 5+, MSVC 2017+
• CMake: 3.15 or later
• Boost Libraries: For matrix operations
• Platform: macOS, Linux, Unix-like systems
🔗 Quick Start
# Download and build
git clone https://github.com/OldCrow/libhmm.git
cd libhmm && mkdir build && cd build
cmake .. && make -j$(nproc)
# Run tests (28/28 should pass)
ctest
# Try new distributions
./examples/robust_financial_hmm_example
./examples/statistical_process_control_hmm_example
💡 Migration from v2.2.1
No breaking changes! Simply rebuild with the new version to get:
• Automatic SIMD optimizations (if supported by your CPU)
• Access to new Student's t and Chi-squared distributions
• Enhanced performance and reliability
Full CHANGELOG: v2.2.1...v2.3.0