JuliaStats / Distributions.jl

A Julia package for probability distributions and associated functions.
Other
1.08k stars 410 forks source link

Failing tests on master #1789

Closed jishnub closed 8 months ago

jishnub commented 8 months ago

I just cloned the package (v0.25.102), and I found the following tests to be failing on Julia v1.9.3:

MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] invquad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:149
    [3] sqmahal!(r::Vector{Float64}, d::FullNormal, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:269
    [4] sqmahal(d::FullNormal, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::FullNormal, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::FullNormal, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] invquad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:149
    [3] sqmahal!(r::Vector{Float64}, d::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:269
    [4] sqmahal(d::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] invquad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:149
    [3] sqmahal!(r::Vector{Float64}, d::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:269
    [4] sqmahal(d::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] invquad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:149
    [3] sqmahal!(r::Vector{Float64}, d::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:269
    [4] sqmahal(d::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::ZeroMeanFullNormal{Tuple{Base.OneTo{Int64}}}, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] quad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:126
    [3] sqmahal!(r::Vector{Float64}, d::FullNormalCanon, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormalcanon.jl:168
    [4] sqmahal(d::FullNormalCanon, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::FullNormalCanon, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::FullNormalCanon, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] quad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:126
    [3] sqmahal!(r::Vector{Float64}, d::FullNormalCanon, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormalcanon.jl:168
    [4] sqmahal(d::FullNormalCanon, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::FullNormalCanon, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::FullNormalCanon, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] invquad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:149
    [3] sqmahal!(r::Vector{Float64}, d::FullNormal, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:269
    [4] sqmahal(d::FullNormal, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::FullNormal, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::FullNormal, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
MvNormal tests: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
  Test threw exception
  Expression: sqmahal(g, X) ≈ sqm
  DimensionMismatch: Inconsistent argument dimensions.
  Stacktrace:
    [1] macro expansion
      @ ~/.julia/packages/PDMats/sXfcI/src/utils.jl:6 [inlined]
    [2] invquad!(r::Vector{Float64}, a::PDMat{Float64, Matrix{Float64}}, x::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:149
    [3] sqmahal!(r::Vector{Float64}, d::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:269
    [4] sqmahal(d::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, x::Matrix{Float64})
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:141
    [5] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:478 [inlined]
    [6] test_mvnormal(g::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, n_tsamples::Int64, rng::Nothing)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:82
    [7] test_mvnormal(g::MvNormal{Float64, PDMat{Float64, Matrix{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, n_tsamples::Int64)
      @ Distributions.TestUtils ~/Dropbox/JuliaPackages/Distributions.jl/src/test_utils.jl:25
    [8] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:59 [inlined]
    [9] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [10] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:16
   [11] include
      @ ./client.jl:478 [inlined]
   [12] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [13] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [14] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [15] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [16] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [17] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [18] top-level scope
      @ none:6
   [19] eval
      @ ./boot.jl:370 [inlined]
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [21] _start()
      @ Base ./client.jl:522
moment identities: Error During Test at /home/jishnu/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:245
  Got exception outside of a @test
  PosDefException: matrix is not Hermitian; Cholesky factorization failed.
  Stacktrace:
    [1] checkpositivedefinite(info::Int64)
      @ LinearAlgebra ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/LinearAlgebra/src/factorization.jl:18
    [2] cholesky!(A::Matrix{Float64}, ::NoPivot; check::Bool)
      @ LinearAlgebra ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/LinearAlgebra/src/cholesky.jl:297
    [3] cholesky! (repeats 2 times)
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/LinearAlgebra/src/cholesky.jl:294 [inlined]
    [4] #cholesky#162
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/LinearAlgebra/src/cholesky.jl:400 [inlined]
    [5] cholesky (repeats 2 times)
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/LinearAlgebra/src/cholesky.jl:400 [inlined]
    [6] PDMat(mat::Matrix{Float64})
      @ PDMats ~/.julia/packages/PDMats/sXfcI/src/pdmat.jl:19
    [7] MvNormal
      @ ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:201 [inlined]
    [8] *(B::Matrix{Float64}, d::DiagNormal)
      @ Distributions ~/Dropbox/JuliaPackages/Distributions.jl/src/multivariate/mvnormal.jl:298
    [9] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:269 [inlined]
   [10] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [11] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:246 [inlined]
   [12] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [13] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/multivariate/mvnormal.jl:245
   [14] include
      @ ./client.jl:478 [inlined]
   [15] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:174 [inlined]
   [16] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1586 [inlined]
   [17] macro expansion
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173 [inlined]
   [18] macro expansion
      @ ~/packages/julias/julia-1.9/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [19] top-level scope
      @ ~/Dropbox/JuliaPackages/Distributions.jl/test/runtests.jl:173
   [20] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [21] top-level scope
      @ none:6
   [22] eval
      @ ./boot.jl:370 [inlined]
   [23] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [24] _start()
      @ Base ./client.jl:522

Since the CI was green on the commit, perhaps the issue lies upstream? It'll be good to identify this anyway

devmotion commented 8 months ago

Most certainly caused by the recent PDMats updates. Possibly I introduced a new bug and/or numerical instability in these bugfixes.

devmotion commented 8 months ago

All but the last issue should be fixed by https://github.com/JuliaStats/PDMats.jl/pull/190.

devmotion commented 8 months ago

Indeed, with the new PDMats release only the cholesky factorization issue shows up in https://github.com/JuliaStats/Distributions.jl/actions/runs/6338587838.

devmotion commented 8 months ago

The remaining test error seems to be caused by https://github.com/JuliaStats/PDMats.jl/commit/a97533d1b2c162d6354834be774beff769f7e8eb: With this performance improvement it becomes more likely that the covariance matrix of the scaled mv normal distribution in https://github.com/JuliaStats/Distributions.jl/blob/e407fa5fd098e50df51801c6d062946eac7a7d0f/src/multivariate/mvnormal.jl#L298 is numerically not exactly symmetric. I think we should wrap the output of X_A_Xt in a Symmetric or Hermitian, either in PDMats or Distributions, to avoid such errors.

devmotion commented 8 months ago

I opened https://github.com/JuliaStats/PDMats.jl/pull/191

devmotion commented 8 months ago

This fixed the remaining issues, tests on the master branch pass again.

jishnub commented 8 months ago

Thanks for the rapid response and the fixes!