Skip to content

Commit 869594e

Browse files
InterdisciplinaryPhysicsTeampitmonticoneClaudMor
committed
Update docstrings
Co-Authored-By: Pietro Monticone <[email protected]> Co-Authored-By: Claudio Moroni <[email protected]>
1 parent 1c6cc9f commit 869594e

File tree

12 files changed

+213
-106
lines changed

12 files changed

+213
-106
lines changed

docs/src/API.md

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,51 @@ get_weight(subgraph::AbstractSubGraph, src::MultilayerVertex, dst::MultilayerVer
6060
is_directed(subgraph::AbstractSubGraph)
6161
is_directed(::Type{S}) where {T,U,G,S <: AbstractSubGraph{T,U,G}}
6262
adjacency_matrix(subgraph::AbstractSubGraph)
63-
weights(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}}
63+
MultilayerGraphs.weights(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}}
6464
name(subgraph::AbstractSubGraph)
6565
Layer{T <: Integer, U <: Real, G <: AbstractGraph{T}}
6666
Layer(name::Symbol, vertices::Vector{<: MultilayerVertex}, edge_list::Vector{ <: MultilayerEdge}, null_graph::G, weighttype::Type{U}; default_vertex_metadata::Function = mv -> NamedTuple(), default_edge_weight::Function = (src, dst) -> one(U), default_edge_metadata::Function = (src, dst) -> NamedTuple()) where {T <: Integer, U <: Real, G <: AbstractGraph{T}}
67-
Layer(nv::Int64, name::Symbol, graph_type::Type{G}, ne::Int64; U::Union{Type{ <: Real},Nothing} = nothing) where {T <: Union{ <: Integer, AbstractVertex}, G <: AbstractGraph{T}}
67+
68+
Layer(
69+
name::Symbol,
70+
vertices::Vector{ <: MultilayerVertex},
71+
ne::Int64,
72+
null_graph::G,
73+
weighttype::Type{U};
74+
default_vertex_metadata::Function = mv -> NamedTuple(),
75+
default_edge_weight::Function = (src, dst) -> nothing,
76+
default_edge_metadata::Function = (src, dst) -> NamedTuple(),
77+
allow_self_loops::Bool = false
78+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
79+
6880
has_node(layer::Layer, n::Node)
6981
rem_vertex!(layer::Layer, mv::MultilayerVertex)
7082
rem_vertex!(layer::Layer, n::Node)
71-
Interlayer{T<:Integer,U<:Real,G<:AbstractGraph{T}}Interlayer(layer_1::Layer{T,U}, layer_2::Layer{T,U}, ne::Int64, null_graph::G; default_edge_weight::Function = (x,y) -> nothing, default_edge_metadata::Function = (x,y) -> NamedTuple(), name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)"), transfer_vertex_metadata::Bool = false) where {T<:Integer, U <: Union{Nothing, <: Real}, G<:AbstractGraph{T}}
83+
84+
Interlayer{T<:Integer,U<:Real,G<:AbstractGraph{T}}
85+
Interlayer(
86+
layer_1::Layer{T,U},
87+
layer_2::Layer{T,U},
88+
null_graph::G,
89+
edge_list::Vector{ <: MultilayerEdge{<: Union{U, Nothing}}};
90+
default_edge_weight::Function = (x,y) -> nothing,
91+
default_edge_metadata::Function = (x,y) -> NamedTuple(),
92+
transfer_vertex_metadata::Bool = false,
93+
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)")
94+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
95+
96+
97+
Interlayer(
98+
layer_1::Layer{T,U},
99+
layer_2::Layer{T,U},
100+
ne::Int64,
101+
null_graph::G;
102+
default_edge_weight::Function = (x,y) -> nothing,
103+
default_edge_metadata::Function = (x,y) -> NamedTuple(),
104+
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)"),
105+
transfer_vertex_metadata::Bool = false
106+
) where {T<:Integer, U <: Union{Nothing, <: Real}, G<:AbstractGraph{T}}
107+
72108
73109
multiplex_interlayer(
74110
layer_1::Layer{T,U},
@@ -78,7 +114,27 @@ multiplex_interlayer(
78114
default_edge_metadata::Function = (x,y) -> NamedTuple(),
79115
transfer_vertex_metadata::Bool = false,
80116
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)")
81-
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}} = _multiplex_interlayer(collect(mv_vertices(layer_1)), collect(mv_vertices(layer_2)), null_graph, U; default_edge_weight = default_edge_weight, default_edge_metadata = default_edge_metadata, transfer_vertex_metadata = transfer_vertex_metadata , name = name)
117+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
118+
119+
120+
empty_interlayer(
121+
layer_1::Layer{T,U},
122+
layer_2::Layer{T,U},
123+
null_graph::G;
124+
default_edge_weight::Function = (x,y) -> nothing,
125+
default_edge_metadata::Function = (x,y) -> NamedTuple(),
126+
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)"),
127+
transfer_vertex_metadata::Bool = false
128+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
129+
130+
is_multiplex_interlayer(interlayer::Interlayer)
131+
132+
get_symmetric_interlayer(
133+
interlayer::In;
134+
symmetric_interlayer_name::String = String(interlayer.name) * "_rev"
135+
) where {T,U,G,In<:Interlayer{T,U,G}}
136+
137+
82138
```
83139

84140
### Multilayer-specific methods

src/abstractmultilayerdigraph.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ function get_subgraph(mg::M, descriptor::InD) where {T,U, G<: AbstractGraph{T},
345345
end
346346
end
347347

348-
return Interlayer(layer_1_multilayervertices, layer_2_multilayervertices, unique(edge_list), descriptor)
348+
return _Interlayer(layer_1_multilayervertices, layer_2_multilayervertices, unique(edge_list), descriptor)
349349

350350
end
351351

src/abstractmultilayerugraph.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ function get_subgraph(mg::M, descriptor::InD) where {T,U, G<: AbstractGraph{T},
313313
end
314314
end
315315

316-
return Interlayer(layer_1_multilayervertices, layer_2_multilayervertices, unique(edge_list), descriptor)
316+
return _Interlayer(layer_1_multilayervertices, layer_2_multilayervertices, unique(edge_list), descriptor)
317317
end
318318

319319
# Graphs.jl's internals extra overrides

src/graphs_extensions/graphs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ _get_edge_weight(g::Graphs.SimpleGraphs.AbstractSimpleGraph{T}, src::T, dst::T,
1616
# `_get_edge_metadata` must return NamedTuple() (or maybe `nothing` would be better?) instead of throwing an exception in order for `edges` to consistently work on layers and interlayers
1717
_get_edge_metadata(g::Graphs.SimpleGraphs.AbstractSimpleGraph{T}, src::T, dst::T ) where T = NamedTuple()
1818

19-
weights(g::Graphs.SimpleGraphs.AbstractSimpleGraph{T}) where T = adjacency_matrix(g)
19+
Graphs.weights(g::Graphs.SimpleGraphs.AbstractSimpleGraph{T}) where T = adjacency_matrix(g)

src/graphs_extensions/metagraphs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,4 @@ _get_edge_metadata(g::AbstractMetaGraph{T}, src::T, dst::T ) where T = NamedTupl
9999

100100
_set_metadata!(g::AbstractMetaGraph{T}, src::T, dst::T, metadata::NamedTuple) where T = set_props!(g, src, dst, Dict(key => value for (key,value) in pairs(metadata)))
101101

102-
weights(g::AbstractMetaGraph{T}) where T = adjacency_matrix(g)
102+
Graphs.weights(g::AbstractMetaGraph{T}) where T = adjacency_matrix(g)

src/graphs_extensions/simplevaluegraphs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,4 @@ function _set_metadata!(g::SimpleValueGraphs.AbstractValGraph{T}, src::T, dst::T
9898
end
9999
end
100100

101-
weights(g::SimpleValueGraphs.AbstractValGraph{T}) where T = adjacency_matrix(g)
101+
Graphs.weights(g::SimpleValueGraphs.AbstractValGraph{T}) where T = adjacency_matrix(g)

src/graphs_extensions/simpleweightedgraphs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ function SimpleWeightedGraphs.SimpleWeightedDiGraph{T,U}(
124124
return SimpleWeightedDiGraph{T,U}(adjm)
125125
end
126126

127-
weights(g::G) where {T, G <: AbstractSimpleWeightedGraph{T}} = SimpleWeightedGraphs.weights(g)
127+
Graphs.weights(g::G) where {T, G <: AbstractSimpleWeightedGraph{T}} = Graphs.weights(g)
128128

129129
#= function _vertices(g::AbstractSimpleWeightedGraph{T}) where T
130130

src/subgraphs/abstractsubgraph.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ Graphs.adjacency_matrix(subgraph::AbstractSubGraph) = adjacency_matrix(subgraph.
338338
339339
Return the weights of `subgraph.graph`, with the eltype converted to `U`.
340340
"""
341-
SimpleWeightedGraphs.weights(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}} = U.(weights(subgraph.graph))
341+
Graphs.weights(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}} = U.(weights(subgraph.graph))
342342

343343
# Utilities
344344
"""

0 commit comments

Comments
 (0)