Just trying to convert the “Infinite Mixture” tutorial example to work with bivariate (as opposed to univariate) clusters: https://turing.ml/dev/tutorials/6-infinitemixturemodel/
In the tutorial, one has:
# Locations of the infinitely many clusters.
μ = tzeros(Float64, 0)
and then applies push! as
# Create a new cluster?
if z[i] > K
push!(μ, 0.0)
I now have
# bivariate case
μ = tzeros(Float64, (0,2))
...
# Create a new cluster?
if z[i] > K
push!(μ, zeros(2))
I’m getting the following error:
MethodError: no method matching push!(::Array{Float64,2}, ::Array{Float64,1})
Closest candidates are:
push!(::Any, ::Any, !Matched::Any) at abstractarray.jl:2158
push!(::Any, ::Any, !Matched::Any, !Matched::Any…) at abstractarray.jl:2159
push!(!Matched::Array{Any,1}, ::Any) at array.jl:920
What’s the correct syntax to use here?
Thanks