diff --git a/src/kalman_base.jl b/src/kalman_base.jl index eaca018cbf2d98c6acaa17e19aea0e048a1da24c..fd1f0b6aae2a7f404e8f031db0a882d9ed44090b 100644 --- a/src/kalman_base.jl +++ b/src/kalman_base.jl @@ -182,12 +182,14 @@ function get_K!(K::AbstractArray{T}, ZP::AbstractArray{T}, cholF::AbstractArray{ LAPACK.potrs!('U', cholF, K) end +# Kstar = iFinf*(Z*Pstar - Fstar*Kinf) %(5.12) DK(2012); function get_Kstar!(Kstar::AbstractArray{T}, Z::AbstractArray{T}, Pstar::AbstractArray{T}, Fstar::AbstractArray{T}, K::AbstractArray{T}, cholF::AbstractArray{T}) where T <: AbstractFloat mul!(Kstar, Z, Pstar) gemm!('N', 'N', -1.0, Fstar, K, 1.0, Kstar) LAPACK.potrs!('U', cholF, Kstar) end +# Kstar = iFinf*(Pstar[z,:] - Fstar*Kinf) %(5.12) DK(2012); function get_Kstar!(Kstar::AbstractArray{T}, z::AbstractVector{U}, Pstar::AbstractArray{T}, Fstar::AbstractArray{T}, K::AbstractArray{T}, cholF::AbstractArray{T}) where {T <: AbstractFloat, U <: Integer} Kstar .= view(Pstar, z, :) gemm!('N', 'N', -1.0, Fstar, K, 1.0, Kstar)