JuliaMath / JuliaMath/RandomMatrices.jl

Update type definitions of random matrix ensembles

Open
#91 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
94
Forks
41
PR merge metrics
No merged PRs in 30d

Description

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:

https://github.com/JuliaMath/RandomMatrices.jl/blob/fc98f3bb6432214614d0a478d4faa6c40d108e7b/src/GaussianEnsembles.jl#L43-L44

```Julia
struct GaussianHermite{B} <: ContinuousMatrixDistribution
beta::B
end
```

https://github.com/JuliaMath/RandomMatrices.jl/blob/fc98f3bb6432214614d0a478d4faa6c40d108e7b/src/GaussianEnsembles.jl#L175-L179

```Julia
struct GaussianLaguerre{B,A} <: ContinuousMatrixDistribution
beta::B
a::A
end
```

https://github.com/JuliaMath/RandomMatrices.jl/blob/fc98f3bb6432214614d0a478d4faa6c40d108e7b/src/GaussianEnsembles.jl#L277-L282

```Julia
struct GaussianJacobi{B,A} <: ContinuousMatrixDistribution
beta::B
a::A
b::A
end
```

https://github.com/JuliaMath/RandomMatrices.jl/blob/fc98f3bb6432214614d0a478d4faa6c40d108e7b/src/Ginibre.jl#L27-L30

```Julia
struct Ginibre{B} <: ContinuousMatrixDistribution
beta::B
end
```

https://github.com/JuliaMath/RandomMatrices.jl/blob/fc98f3bb6432214614d0a478d4faa6c40d108e7b/src/Haar.jl#L91-L93

```Julia
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 😄

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.