Currently, the Kronecker can't work with Distributions.jl and PDMats.jl. The following simple code fails.
julia> using Kronecker, Distributions, LinearAlgebra
julia> MvNormal(ones(4), I(2)⊗I(2))
ERROR: MethodError: no method matching PDMats.PDMat(::Kronecker.KroneckerProduct{Bool, Diagonal{…}, Diagonal{…}}, ::CholeskyKronecker{Cholesky{…}, Cholesky{…}})
The type `PDMats.PDMat` exists, but no method is defined for this combination of argument types when trying to construct it.
Closest candidates are:
PDMats.PDMat(::AbstractMatrix, ::Cholesky{T, S}) where {T, S}
@ PDMats ~/.julia/packages/PDMats/cAM9h/src/pdmat.jl:11
PDMats.PDMat(::AbstractMatrix)
@ PDMats ~/.julia/packages/PDMats/cAM9h/src/pdmat.jl:19
PDMats.PDMat(::Cholesky)
@ PDMats ~/.julia/packages/PDMats/cAM9h/src/pdmat.jl:20
Is there a workaround for this? It seems requiring CholeskyKronecker to subtype Cholesky.
Currently, the Kronecker can't work with
Distributions.jlandPDMats.jl. The following simple code fails.Is there a workaround for this? It seems requiring
CholeskyKroneckerto subtypeCholesky.