GPy/backlog/features/2025-08-15_design-modern-lfm-kernel.md

69 lines
2.6 KiB
Markdown

---
id: "design-modern-lfm-kernel"
title: "Design modern LFM kernel architecture"
status: "In Progress"
priority: "High"
created: "2025-08-15"
last_updated: "2025-08-15"
owner: "Neil Lawrence"
github_issue: ""
dependencies: "lfm-kernel-code-review"
tags:
- lfm
- kernel
- design
- architecture
---
# Design modern LFM kernel architecture
## Description
Design a modern LFM kernel implementation that follows GPy's current architectural patterns and uses the multioutput kernel approach with output index as input.
## Background
- Current GPy LFM implementations don't use the modern multioutput kernel approach
- Need to design a unified LFM kernel that integrates well with GPy's current framework
- Should maintain backward compatibility while providing improved functionality
## Design Requirements
- [ ] Use GPy's multioutput kernel approach with output index as input
- [ ] Follow consistent API design with other GPy kernels
- [ ] Implement proper parameter handling and constraints
- [ ] Support different base kernels for latent functions
- [ ] Enable efficient gradient computation
- [ ] Maintain backward compatibility with existing implementations
## Design Tasks
- [ ] Define kernel class structure and inheritance hierarchy
- [ ] Design parameter handling for mass, damper, spring, sensitivity, delay
- [ ] Plan integration with GPy's multioutput framework
- [ ] Design cross-kernel computation methods
- [ ] Design efficient computation methods for large datasets
- [x] Plan parameter tying and constraint handling (assumed to be addressed separately)
## Acceptance Criteria
- [ ] Complete design specification document
- [ ] API design that follows GPy patterns
- [ ] Integration plan with existing GPy infrastructure
- [ ] Performance considerations documented
- [ ] Backward compatibility strategy defined
## Implementation Notes
- Study how other multioutput kernels in GPy handle output indices
- Design for extensibility to different differential equation types
- Plan for efficient computation of cross-kernel terms
- **Parameter Tying**: Assumed to be addressed by separate CIP-0002 work
- **Design Focus**: Clean LFM implementation without parameter tying workarounds
## Related
- CIP: 0001 (LFM kernel implementation)
- Backlog: lfm-kernel-code-review
## Progress Updates
### 2025-08-15
Design task started after completion of code review:
- Code review identified parameter tying as a fundamental limitation
- Decision made to proceed with clean LFM implementation assuming parameter tying addressed separately
- Focus on core LFM functionality without parameter tying workarounds
- Ready to begin detailed design of modern LFM kernel architecture