JuliaMath / JuliaMath/RandomMatrices.jl
Update type definitions of random matrix ensembles
- 主要语言
- Julia
- 星标
- 94
- 派生
- 41
- PR 合并指标
- 30 天内没有已合并 PR
描述
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 😄
贡献指南
这个仓库没有索引到贡献指南
调研方向
从 src/GaussianEnsembles.jl、src/Ginibre.jl 和 src/Haar.jl 中链接的定义开始。审查提议的类型更改及其在整个包中的破坏性影响。当受影响的系综定义一致地实现约定的参数化不可变类型时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- julia
- 领域
- backend-api-design
- Issue 类型
- 重构
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100