Consistent storage and interfacing of covariances
- Dominant language
- C++
- Stars
- 4
- Forks
- 7
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 3
Description
**Is your feature request related to a problem? Please describe.**
We store Cov2f, Cov3f, Cov4f as a diagonal followed by upper triangular by row. We store Cov6f as full upper triangular by row, with diagonals distributed through the data block. The inconsistency may lead to errors.
**Describe the solution you'd like**
A consistent covariant treatment would be desirable. Diagonal-first storage is least common and least likely to allow code reuse in Jacobian multiplications.
**Describe alternatives you've considered**
Diagonal-first has advantages because with default constructor arguments this allows a concise specification of diagonal-only covariance matrices. The indexing logic is more convoluted, though.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by locating the Cov2f, Cov3f, Cov4f, and Cov6f definitions and their indexing or Jacobian-multiplication interfaces, then compare the existing storage layouts. Done means an agreed consistent covariance representation and the affected interfaces and dependent code updated accordingly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100