The type definitions for Ginibre, GaussianHermite, GaussianJacobi, Ginibre, and Haar are wonky, and they could all become parametric immutable types instead. Below, I list their definitions and suggest improvements, some of which are breaking:
|
struct GaussianHermite{β} <: ContinuousMatrixDistribution end |
|
GaussianHermite(β) = GaussianHermite{β}() |
struct GaussianHermite{B} <: ContinuousMatrixDistribution
beta::B
end
|
mutable struct GaussianLaguerre <: ContinuousMatrixDistribution |
|
beta::Real |
|
a::Real |
|
end |
|
const Wishart = GaussianLaguerre |
struct GaussianLaguerre{B,A} <: ContinuousMatrixDistribution
beta::B
a::A
end
|
mutable struct GaussianJacobi <: ContinuousMatrixDistribution |
|
beta::Real |
|
a::Real |
|
b::Real |
|
end |
|
const MANOVA = GaussianJacobi |
struct GaussianJacobi{B,A} <: ContinuousMatrixDistribution
beta::B
a::A
b::A
end
|
struct Ginibre <: ContinuousMatrixDistribution |
|
beta::Float64 |
|
N::Integer |
|
end |
struct Ginibre{B} <: ContinuousMatrixDistribution
beta::B
end
|
mutable struct Haar <: ContinuousMatrixDistribution |
|
beta::Real |
|
end |
struct Haar{B} <: ContinuousMatrixDistribution
beta::B
end
@dlfivefifty please let me know your thoughts, I'm happy to implement these changes. I'm also aware that I'm new to this old package, so I won't be upset if you turn down this proposal 😄
The type definitions for
Ginibre,GaussianHermite,GaussianJacobi,Ginibre, andHaarare wonky, and they could all become parametric immutable types instead. Below, I list their definitions and suggest improvements, some of which are breaking:RandomMatrices.jl/src/GaussianEnsembles.jl
Lines 43 to 44 in fc98f3b
RandomMatrices.jl/src/GaussianEnsembles.jl
Lines 175 to 179 in fc98f3b
RandomMatrices.jl/src/GaussianEnsembles.jl
Lines 277 to 282 in fc98f3b
RandomMatrices.jl/src/Ginibre.jl
Lines 27 to 30 in fc98f3b
RandomMatrices.jl/src/Haar.jl
Lines 91 to 93 in fc98f3b
@dlfivefifty please let me know your thoughts, I'm happy to implement these changes. I'm also aware that I'm new to this old package, so I won't be upset if you turn down this proposal 😄