Constructors for 2.0
まだ誰も着手していません。
評価
調査の方向性
まず、列挙されている SimpleGraph のコンストラクタと、提案されている Graph および MultiGraph のシグネチャを確認します。2.0 API で頂点コレクション、隣接行列、エッジリスト、ジェネレータ、マルチグラフをどのように表現すべきかを比較します。一貫したコンストラクタ設計について合意に達することが完了の条件です。この issue は実装タスクではなく、議論のスレッドです。
索引モデルが issue の本文から書いたものです。
説明
Here is a thread for discussing the constructors for Graphs 2.0
Current constructors
Constructors for SimpleGraph
SimpleGraph{T}(): empty graphSimpleGraph{T}(nv::Integer): graph with no edgesSimpleGraph{T}(nv::Integer, ne::Integer): random graph (erdos-renyi)SimpleGraph(::Type{T}): empty graphSimpleGraph(nv::Integer, ne::Integer, edgestream::Channel): add edges from the stream until stream end or we reachneedges.SimpleGraphFromIterator(edgelist)SimpleGraph(adjmx::AbstractMatrix)SimpleGraph{T}(g::AbstractGraph)SimpleGraph(edge_list::Vector{SimpleGraphEdge{T}})
Goals for 2.0
We will have a new concrete graph type Graph{V} which can represent arbitrary vertices.
We would need new constructors to be able to construct such new graphs.
Instead of passing nv, we should provide a list (or even an iterator ?) of the vertices of the graph.
As the type of vertices can be arbitrary, the type signatures of generators can quickly become a mess / incompatible
Also we will need to support multigraphs
My proposal
Graph{V}()andGraph(::Type{V})should be unambiguous- Remove
SimpleGraph{T}(nv::Integer, ne::Integer)(much better to call explicitlyerdos-renyi) - I don't really get this one
SimpleGraph(nv::Integer, ne::Integer, edgestream::Channel), I think It does not add much toSimpleGraphFromIterator - Keep
Graph{T<:Integer}(nv::Integer) - Use keywords for other generators:
Graph{V<:Integer}(adjmx=adjmx)(Multi)Graph{V}(edge_list=edge_list)(Multi)Graph{V}(vertices=vertices)(Multi)Graph{V}(vertices=vertices::Vector{V})Graph{V}(vertices=vertices::Vector{V}, adjmx=adjmx)(Multi)Graph{V}(vertices=vertices::Vector{V}, edge_list=edge_list)
Is this proposal sound?
Do you have some other ideas of generators? A better proposal?
- 主要言語
- Julia
- スター
- 11
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaGraphs/GraphsBase.jl のほかの issue
-
question
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
JuliaGraphs/GraphsBase.jl#28 ·
-
question
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaGraphs/GraphsBase.jl#27 · コメント 1 件 · リアクション 1 件 ·
-
question
難易度 5/5 1週間以上 初心者へのやさしさ 22/100
JuliaGraphs/GraphsBase.jl#26 · コメント 6 件 · リアクション 2 件 ·
-
question
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaGraphs/GraphsBase.jl#25 · コメント 3 件 · リアクション 1 件 ·
-
question
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaGraphs/GraphsBase.jl#24 ·
JuliaGraphs/GraphsBase.jl の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
oxfordcontrol/COSMO.jl#211 ·
-
documentation
難易度 2/5 半日 初心者へのやさしさ 65/100
メンテナーはふだん 6 日以内に返信
-
Out-of-place JLArray/GPU problem with VectorContinuousCallback scalar-indexes (callback cache built with CPU zeros)対応中かも @ChrisRackauckas-Claude が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
SciML/OrdinaryDiffEq.jl#4813 ·
メンテナーはふだん 1 日以内に返信
-
ARKODE: callbacks that modify `u` throw MethodError on reinit対応中かも @devmotion が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
SciML/Sundials.jl#575 ·