Skip to content

Commit 10e0304

Browse files
InterdisciplinaryPhysicsTeampitmonticoneClaudMor
committed
Update docstrings
Co-Authored-By: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Co-Authored-By: Claudio Moroni <43729990+ClaudMor@users.noreply.github.com>
1 parent 373870d commit 10e0304

2 files changed

Lines changed: 61 additions & 24 deletions

File tree

docs/src/API.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,18 @@ rem_vertex!(layer::Layer, n::Node)
8383
8484
Interlayer{T<:Integer,U<:Real,G<:AbstractGraph{T}}
8585
86+
Interlayer(
87+
layer_1::Layer{T,U},
88+
layer_2::Layer{T,U},
89+
null_graph::G,
90+
edge_list::Vector{ <: MultilayerEdge{<: Union{U, Nothing}}};
91+
default_edge_weight::Function = (x,y) -> nothing,
92+
default_edge_metadata::Function = (x,y) -> NamedTuple(),
93+
transfer_vertex_metadata::Bool = false,
94+
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)")
95+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
96+
97+
8698
Interlayer(
8799
layer_1::Layer{T,U},
88100
layer_2::Layer{T,U},
@@ -92,7 +104,8 @@ Interlayer(
92104
default_edge_metadata::Function = (x,y) -> NamedTuple(),
93105
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)"),
94106
transfer_vertex_metadata::Bool = false
95-
) where {T<:Integer, U <: Union{Nothing, <: Real}, G<:AbstractGraph{T}}
107+
) where {T<:Integer, U <: Union{Nothing, <: Real}, G<:AbstractGraph{T}}
108+
96109
97110
multiplex_interlayer(
98111
layer_1::Layer{T,U},
@@ -103,6 +116,26 @@ multiplex_interlayer(
103116
transfer_vertex_metadata::Bool = false,
104117
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)")
105118
) 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)
119+
120+
121+
empty_interlayer(
122+
layer_1::Layer{T,U},
123+
layer_2::Layer{T,U},
124+
null_graph::G;
125+
default_edge_weight::Function = (x,y) -> nothing,
126+
default_edge_metadata::Function = (x,y) -> NamedTuple(),
127+
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)"),
128+
transfer_vertex_metadata::Bool = false
129+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
130+
131+
is_multiplex_interlayer(interlayer::Interlayer)
132+
133+
get_symmetric_interlayer(
134+
interlayer::In;
135+
symmetric_interlayer_name::String = String(interlayer.name) * "_rev"
136+
) where {T,U,G,In<:Interlayer{T,U,G}}
137+
138+
106139
```
107140

108141
### Multilayer-specific methods

src/subgraphs/interlayer.jl

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ An abstract type representing a generic Interlayer.
1515
abstract type AbstractInterlayer{T,U,G} <: AbstractSubGraph{T,U,G} end
1616

1717
"""
18-
mutable struct Interlayer{G <: AbstractGraph}
18+
Interlayer{T<:Integer,U<:Real,G<:AbstractGraph{T}} <:
19+
AbstractInterlayer{T,U,G}
1920
2021
Represents an interlayer in a `Multilayer(Di)Graph`.
2122
"""
@@ -99,16 +100,17 @@ function _Interlayer(
99100
end
100101

101102
"""
102-
Interlayer(
103-
layer_1::Layer{T,U},
104-
layer_2::Layer{T,U},
105-
null_graph::G,
106-
edge_list::Vector{ <: MultilayerEdge{<: Union{U, Nothing}}};
107-
default_edge_weight::Function = (x,y) -> nothing,
108-
default_edge_metadata::Function = (x,y) -> NamedTuple(),
109-
transfer_vertex_metadata::Bool = false,
110-
name::Symbol
111-
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
103+
Interlayer(
104+
layer_1::Layer{T,U},
105+
layer_2::Layer{T,U},
106+
null_graph::G,
107+
edge_list::Vector{ <: MultilayerEdge{<: Union{U, Nothing}}};
108+
default_edge_weight::Function = (x,y) -> nothing,
109+
default_edge_metadata::Function = (x,y) -> NamedTuple(),
110+
transfer_vertex_metadata::Bool = false,
111+
name::Symbol
112+
113+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
112114
113115
Constructor for Interlayer.
114116
@@ -146,7 +148,7 @@ function Interlayer(
146148
end
147149

148150
"""
149-
Interlayer(
151+
_Interlayer(
150152
layer_1_multilayervertices::Vector{MultilayerVertex{L1}},
151153
layer_2_multilayervertices::Vector{MultilayerVertex{L2}},
152154
null_graph::G,
@@ -155,7 +157,8 @@ end
155157
default_edge_weight::Function = (x,y) -> nothing,
156158
default_edge_metadata::Function = (x,y) -> NamedTuple(),
157159
transfer_vertex_metadata::Bool = false,
158-
name::Symbol,
160+
name::Symbol
161+
159162
) where {L1, L2, T<:Integer, U <: Real, G<:AbstractGraph{T}}
160163
161164
Internal constructor for `Interlayer`.
@@ -183,15 +186,16 @@ end
183186

184187

185188
"""
186-
Interlayer(
187-
layer_1::Layer{T,U},
188-
layer_2::Layer{T,U},
189-
ne::Int64,
190-
null_graph::G;
191-
default_edge_weight::Function = (x,y) -> nothing,
192-
default_edge_metadata::Function = (x,y) -> NamedTuple(),
193-
name::Symbol,
194-
transfer_vertex_metadata::Bool = false
189+
Interlayer(
190+
layer_1::Layer{T,U},
191+
layer_2::Layer{T,U},
192+
ne::Int64,
193+
null_graph::G;
194+
default_edge_weight::Function = (x,y) -> nothing,
195+
default_edge_metadata::Function = (x,y) -> NamedTuple(),
196+
name::Symbol,
197+
transfer_vertex_metadata::Bool = false
198+
195199
) where {T<:Integer, U <: Union{Nothing, <: Real}, G<:AbstractGraph{T}}
196200
197201
Return a random `Interlayer`.
@@ -457,7 +461,7 @@ end
457461
458462
Check that Interlayer `interlayer` is a multiplex-type Interlayer.
459463
"""
460-
function is_multiplex_interlayer(interlayer::In) where {In<:Interlayer}
464+
function is_multiplex_interlayer(interlayer::Interlayer)
461465

462466
if is_directed(interlayer)
463467
for node in intersect(interlayer.layer_1_nodes, interlayer.layer_2_nodes)

0 commit comments

Comments
 (0)