From dac913d31d08603b082bf629a2abb77053300516 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Tue, 8 Jul 2025 11:03:33 +0100 Subject: [PATCH 1/2] FIx eigvalrand for MANOVA --- src/GaussianEnsembles.jl | 6 +++--- test/GaussianEnsembles.jl | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/GaussianEnsembles.jl b/src/GaussianEnsembles.jl index 404f9d1..6ae3041 100644 --- a/src/GaussianEnsembles.jl +++ b/src/GaussianEnsembles.jl @@ -348,8 +348,8 @@ function SampleCSValues(n::Integer, a::Real, b::Real, beta::Real) csq = [rand(Beta(beta*(a+i)/2,beta*(b+i)/2)) for i=1:n] cpsq = [rand(Beta(beta*i/2,beta*(a+b+1+i)/2)) for i=1:n] #Cosine-sine pairs - c , s = sqrt(csq) , sqrt(1-csq) - cp, sp = sqrt(cpsq), sqrt(1-cpsq) + c , s = sqrt.(csq) , sqrt.(1 .- csq) + cp, sp = sqrt.(cpsq), sqrt.(1 .- cpsq) end return c, s, cp, sp end @@ -415,7 +415,7 @@ function eigvalrand(d::GaussianJacobi{β}, n::Integer) where {β} ev = [-s[n+1-i]*cp[n-i] for i=1:n-1] ##TODO: understand why dv and ev are returned as Array{Any,1} - M = Bidiagonal(convert(Array{Float64,1},dv), convert(Array{Float64,1},ev), false) + M = Bidiagonal(convert(Array{Float64,1},dv), convert(Array{Float64,1},ev), :U) return svdvals(M) end diff --git a/test/GaussianEnsembles.jl b/test/GaussianEnsembles.jl index 7d80823..ce92b8e 100644 --- a/test/GaussianEnsembles.jl +++ b/test/GaussianEnsembles.jl @@ -57,6 +57,8 @@ for (β, T, N) in [(1, Real, n), (2, Complex, n), (4, Complex, 2n)] A = rand(d, n) @test eltype(A) <: T @test size(A) == (N, N) + + @test eigvalrand(d, 5) isa Vector{Float64} end end From bc246f1a5452fc5529b1952fedfe56e6676e7018 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Tue, 8 Jul 2025 11:04:31 +0100 Subject: [PATCH 2/2] v0.5.6 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 40feea5..59d2241 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "RandomMatrices" uuid = "2576dda1-a324-5b11-aa66-c48ed7e3c618" -version = "0.5.5" +version = "0.5.6" [deps] Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"