GaussianFilters.jl
GaussianFilters.jl copied to clipboard
Parameterize abstract filters
https://github.com/sisl/GaussianFilters.jl/blob/1aa2a648021ea9c558b114f5d85065761a7d1625/src/ekf.jl#L9-L15
ExtendedKalmanFilter should be parameterized by DynamicsModel and ObservationModel types.
Parameterizing by the DynamicsModel and ObservationModel types will indeed yield significant performance improvement, but these parameters need not be present in function signatures, for example:
function predict(b0::GaussianBelief, u::AbstractVector, filter::ExtendedKalmanFilter)
will have identical performance to
function predict(b0::GaussianBelief, u::Vector{a}, filter::ExtendedKalmanFilter) where a<:Number
as you have now