mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-04-25 21:06:23 +02:00
2.8 KiB
2.8 KiB
| id | title | status | priority | created | last_updated | owner | github_issue | dependencies | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| implement-lfm-kernel-core | Implement core LFM kernel functionality | In Progress | High | 2025-08-15 | 2025-08-15 | Neil Lawrence | design-modern-lfm-kernel |
|
Implement core LFM kernel functionality
Description
Implement the core LFM kernel class with basic functionality including kernel computation, parameter handling, and gradient computation.
Background
- Design phase completed with modern LFM kernel architecture
- Need to implement the core kernel computation methods
- Should follow the mathematical foundations from the papers and MATLAB implementation
Implementation Tasks
- Create test specification for
GPy.kern.LFM1andGPy.kern.LFM2classes (test-driven design) - Create
GPy.kern.LFM1class inheriting from appropriate base class - Create
GPy.kern.LFM2class inheriting from appropriate base class - Implement parameter handling for mass, damper, spring, sensitivity, delay
- Implement
K()method for kernel matrix computation - Implement
Kdiag()method for diagonal computation - Add parameter constraints and transformations
- Implement basic gradient computation
- Add support for different base kernels for latent functions
Core Methods to Implement
__init__()- Parameter initialization and validation (LFM1 and LFM2)K(X, X2=None)- Kernel matrix computation (LFM1 and LFM2)Kdiag(X)- Diagonal computation (LFM1 and LFM2)update_gradients_full()- Gradient computation (LFM1 and LFM2)update_gradients_diag()- Diagonal gradient computation (LFM1 and LFM2)parameters_changed()- Parameter update handling (LFM1 and LFM2)
Acceptance Criteria
- Core LFM kernel class implemented and functional
- Basic kernel computation working correctly
- Parameter handling and constraints implemented
- Gradient computation implemented
- Unit tests passing for core functionality
- Integration with GPy's parameterization system
Implementation Notes
- Follow the mathematical structure from the MATLAB implementation
- Use GPy's parameterization system for constraints
- Implement efficient computation methods
- Ensure proper handling of edge cases and numerical stability
- Add comprehensive docstrings and documentation
Related
- CIP: 0001 (LFM kernel implementation)
- Backlog: design-modern-lfm-kernel
- Papers: Álvarez et al. (2009, 2012)
Progress Updates
2025-08-15
Implementation task started after completion of test-driven design:
- Design phase completed with comprehensive test suite
- Test specification defines expected API and behavior
- Ready to implement LFM1 and LFM2 kernel classes
- Test framework validated and working correctly