GPy/backlog/features/2025-08-15_lfm-kernel-code-review.md

52 lines
1.9 KiB
Markdown
Raw Normal View History

---
id: "lfm-kernel-code-review"
title: "Review existing LFM kernel implementations"
status: "Ready"
priority: "High"
created: "2025-08-15"
last_updated: "2025-08-15"
owner: "Neil Lawrence"
dependencies: []
tags:
- lfm
- kernel
- code-review
- documentation
---
# Review existing LFM kernel implementations
## Description
Conduct a comprehensive review of existing LFM (Latent Force Model) kernel implementations in both GPy and MATLAB to understand the current state, design decisions, and limitations.
## Background
- GPy has existing ODE-based kernels (`EQ_ODE1`, `EQ_ODE2`) that implement LFM concepts
- MATLAB implementation in GPmat provides a more complete LFM framework
- Need to understand differences and identify modernization opportunities
## Tasks
- [ ] Review `GPy/kern/src/eq_ode1.py` and `eq_ode2.py` implementations
- [ ] Analyze MATLAB LFM implementation structure and patterns
- [ ] Document current limitations and inconsistencies
- [ ] Identify reusable components and design patterns
- [ ] Compare parameter handling approaches
- [ ] Review cross-kernel computation methods
- [ ] Document mathematical foundations and implementation details
## Acceptance Criteria
- [ ] Complete documentation of existing implementations
- [ ] Clear understanding of design differences between GPy and MATLAB versions
- [ ] Identified list of modernization opportunities
- [ ] Documentation of mathematical foundations
- [ ] Assessment of current limitations and bugs
## Implementation Notes
- Focus on understanding the mathematical foundations from the papers
- Pay attention to parameter tying and multi-output handling
- Document the differential equation structure and kernel computation
- Identify opportunities for using GPy's modern multioutput kernel approach
## Related
- CIP: 0001 (LFM kernel implementation)
- Papers: Álvarez et al. (2009, 2012), Lawrence et al. (2006)