JuliaMath / JuliaMath/RandomMatrices.jl

Update type definitions of random matrix ensembles

Aperta
#91 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Julia
Stelle
94
Fork
41
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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 😄

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.