Skip to content

Commit 599e5dc

Browse files
InterdisciplinaryPhysicsTeampitmonticoneClaudMor
committed
Update workflows, tests, docstrings
Co-Authored-By: Pietro Monticone <[email protected]> Co-Authored-By: Claudio Moroni <[email protected]>
1 parent 6a56375 commit 599e5dc

File tree

10 files changed

+111
-150
lines changed

10 files changed

+111
-150
lines changed

Project.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
2121
TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
2222

2323
[compat]
24+
Bijections = "0.1"
2425
DataStructures = "0.18"
26+
Distributions = "0.25"
2527
Graphs = "1.7"
2628
IterTools = "1.4"
2729
MetaGraphs = "0.7"
@@ -30,4 +32,4 @@ SimpleTraits = "0.9"
3032
SimpleValueGraphs = "0.4"
3133
SimpleWeightedGraphs = "1.2"
3234
TensorOperations = "3.2"
33-
julia = "1.8"
35+
julia = "1.8"

docs/src/API.md

Lines changed: 44 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ This page provides a list of exported methods organized by topic and audience. M
44

55
## End-User
66

7-
### Nodes
7+
### [Nodes](@id nodes_eu)
88

99
```@docs
1010
Node
1111
id
1212
```
1313

14-
### Vertices
14+
### [Vertices](@id vertices_eu)
1515

1616
```@docs
1717
eltype
@@ -23,7 +23,7 @@ metadata(mv::MultilayerVertex)
2323
MissingVertex
2424
```
2525

26-
### Edges
26+
### [Edges](@id edges_eu)
2727

2828
```@docs
2929
MultilayerEdge
@@ -32,32 +32,9 @@ weight(e::AbstractMultilayerEdge)
3232
metadata(e::AbstractMultilayerEdge)
3333
```
3434

35-
### Subgraphs
35+
### [Subgraphs](@id subgraphs_eu)
3636

3737
```@docs
38-
nodes(subgraph::AbstractSubGraph)
39-
has_vertex(layer::Layer, mv::MultilayerVertex)
40-
has_vertex(interlayer::Interlayer, mv::MultilayerVertex)
41-
nv(subgraph::AbstractSubGraph)
42-
mv_vertices(subgraph::AbstractSubGraph)
43-
mv_inneighbors(subgraph::AbstractSubGraph, mv::MultilayerVertex)
44-
mv_outneighbors(subgraph::AbstractSubGraph, mv::MultilayerVertex)
45-
mv_neighbors(subgraph::AbstractSubGraph, mv::MultilayerVertex)
46-
has_edge(subgraph::AbstractSubGraph,me::MultilayerEdge)
47-
has_edge( subgraph::AbstractSubGraph, s::MultilayerVertex, d::MultilayerVertex)
48-
ne(subgraph::AbstractSubGraph)
49-
edges(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}}
50-
add_edge!( subgraph::S, me::E) where {T,U<:Real,S<:AbstractSubGraph{T,U},E<:MultilayerEdge{ <: Union{U, Nothing}}}
51-
rem_edge!(subgraph::AbstractSubGraph, src::MultilayerVertex, dst::MultilayerVertex)
52-
rem_edge!(subgraph::AbstractSubGraph, me::MultilayerEdge)
53-
get_metadata(subgraph::AbstractSubGraph, bare_mv::MultilayerVertex)
54-
get_metadata(subgraph::AbstractSubGraph, src::MultilayerVertex, dst::MultilayerVertex)
55-
get_weight(subgraph::AbstractSubGraph, src::MultilayerVertex, dst::MultilayerVertex)
56-
is_directed(subgraph::AbstractSubGraph)
57-
is_directed(::Type{S}) where {T,U,G,S <: AbstractSubGraph{T,U,G}}
58-
adjacency_matrix(subgraph::AbstractSubGraph)
59-
MultilayerGraphs.weights(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}}
60-
name(subgraph::AbstractSubGraph)
6138
Layer{T <: Integer, U <: Real, G <: AbstractGraph{T}}
6239
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}}
6340
@@ -123,8 +100,34 @@ empty_interlayer(
123100
default_edge_metadata::Function = (x,y) -> NamedTuple(),
124101
name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)"),
125102
transfer_vertex_metadata::Bool = false
126-
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
103+
) where {T<:Integer, U <: Real, G<:AbstractGraph{T}}
127104
105+
nodes(subgraph::AbstractSubGraph)
106+
has_vertex(layer::Layer, mv::MultilayerVertex)
107+
has_vertex(interlayer::Interlayer, mv::MultilayerVertex)
108+
nv(subgraph::AbstractSubGraph)
109+
mv_vertices(subgraph::AbstractSubGraph)
110+
mv_inneighbors(subgraph::AbstractSubGraph, mv::MultilayerVertex)
111+
mv_outneighbors(subgraph::AbstractSubGraph, mv::MultilayerVertex)
112+
mv_neighbors(subgraph::AbstractSubGraph, mv::MultilayerVertex)
113+
has_edge(subgraph::AbstractSubGraph,me::MultilayerEdge)
114+
has_edge( subgraph::AbstractSubGraph, s::MultilayerVertex, d::MultilayerVertex)
115+
ne(subgraph::AbstractSubGraph)
116+
edges(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}}
117+
add_edge!( subgraph::S, me::E) where {T,U<:Real,S<:AbstractSubGraph{T,U},E<:MultilayerEdge{ <: Union{U, Nothing}}}
118+
add_edge!(layer::Layer, src::MultilayerVertex, dst::MultilayerVertex, args...; kwargs...)
119+
add_edge!(interlayer::Interlayer, src::MultilayerVertex, dst::MultilayerVertex, args...; kwargs...)
120+
rem_edge!(subgraph::AbstractSubGraph, src::MultilayerVertex, dst::MultilayerVertex)
121+
rem_edge!(subgraph::AbstractSubGraph, me::MultilayerEdge)
122+
get_metadata(subgraph::AbstractSubGraph, bare_mv::MultilayerVertex)
123+
get_metadata(subgraph::AbstractSubGraph, src::MultilayerVertex, dst::MultilayerVertex)
124+
get_weight(subgraph::AbstractSubGraph, src::MultilayerVertex, dst::MultilayerVertex)
125+
is_directed(subgraph::AbstractSubGraph)
126+
is_directed(::Type{S}) where {T,U,G,S <: AbstractSubGraph{T,U,G}}
127+
adjacency_matrix(subgraph::AbstractSubGraph)
128+
MultilayerGraphs.weights(subgraph::S) where {T,U,S<:AbstractSubGraph{T,U}}
129+
name(subgraph::AbstractSubGraph)
130+
128131
is_multiplex_interlayer(interlayer::Interlayer)
129132
130133
get_symmetric_interlayer(
@@ -133,7 +136,7 @@ get_symmetric_interlayer(
133136
) where {T,U,G,In<:Interlayer{T,U,G}}
134137
```
135138

136-
### Multilayer-Specific Methods
139+
### [Multilayer-Specific Methods](@id msm_eu)
137140

138141
```@docs
139142
MultilayerGraph{T,U}
@@ -219,6 +222,8 @@ rem_edge!(mg::MultilayerDiGraph, src::MultilayerVertex, dst::MultilayerVertex)
219222
get_metadata(mg::AbstractMultilayerGraph, mv::MultilayerVertex)
220223
get_metadata(mg::AbstractMultilayerGraph, src::MultilayerVertex, dst::MultilayerVertex)
221224
get_weight(mg::AbstractMultilayerGraph, src::MultilayerVertex, dst::MultilayerVertex)
225+
set_weight!(mg::M, src::MultilayerVertex, dst::MultilayerVertex, weight::U) where { T,U, M <: AbstractMultilayerUGraph{T,U}}
226+
set_weight!(mg::M, src::MultilayerVertex, dst::MultilayerVertex, weight::U) where { T,U, M <: AbstractMultilayerDiGraph{T,U}}
222227
is_directed(mg::AbstractMultilayerUGraph)
223228
is_directed(m::M) where { M <: Type{ <: AbstractMultilayerUGraph}}
224229
is_directed(mg::AbstractMultilayerDiGraph)
@@ -290,7 +295,7 @@ modularity(
290295
von_neumann_entropy(mg::M) where {T,U,M<:AbstractMultilayerUGraph{T,U}}
291296
```
292297

293-
### Representations
298+
### [Representations](@id representations_eu)
294299
```@docs
295300
array(atr::AbstractTensorRepresentation)
296301
WeightTensor{U}
@@ -302,7 +307,7 @@ SupraWeightMatrix{T,U}
302307
supra_weight_matrix(mg::M) where {T,U, M <: AbstractMultilayerGraph{T,U}}
303308
```
304309

305-
### Traits
310+
### [Traits](@id traits_eu)
306311
```@docs
307312
is_weighted(g::G) where { G <: AbstractGraph}
308313
is_weighted(g::G) where {G<:Type{<:AbstractGraph}}
@@ -311,7 +316,7 @@ is_meta(g::G) where {G <: AbstractGraph}
311316
is_meta(g::G) where {G<:Type{<:AbstractGraph}}
312317
```
313318

314-
### Utilities
319+
### [Utilities](@id utilities_eu)
315320
```@docs
316321
multilayer_kronecker_delta(dims::NTuple{4,Int64})
317322
δk{T}
@@ -325,23 +330,23 @@ multilayer_kronecker_delta(dims::NTuple{4,Int64})
325330

326331
## Developer
327332

328-
### Nodes
333+
### [Nodes](@id nodes_dev)
329334

330335
```@docs
331336
AbstractNode
332337
```
333338

334339

335340

336-
### Vertices
341+
### [Vertices](@id vertices_dev)
337342

338343
```@docs
339344
AbstractVertex
340345
AbstractMultilayerVertex
341346
```
342347

343348

344-
### Edges
349+
### [Edges](@id edges_dev)
345350

346351

347352
```@docs
@@ -350,7 +355,7 @@ metadata(he::MultilayerGraphs.HalfEdge)
350355
weight(he::MultilayerGraphs.HalfEdge)
351356
```
352357

353-
### Subgraphs
358+
### [Subgraphs](@id subgraphs_dev)
354359

355360
```@docs
356361
has_vertex(subgraph::S, v::T ) where {T,S<:AbstractSubGraph{T}}
@@ -372,7 +377,7 @@ AbstractInterlayer
372377
```
373378

374379

375-
### Multilayer-Specific Methods
380+
### [Multilayer-Specific Methods](@id msm_dev)
376381

377382
```@docs
378383
AbstractMultilayerGraph{T <: Integer, U <: Real}
@@ -391,13 +396,13 @@ AbstractMultilayerUGraph{T,U}
391396
AbstractMultilayerDiGraph{T,U}
392397
```
393398

394-
### Representations
399+
### [Representations](@id representations_dev)
395400
```@docs
396401
AbstractTensorRepresentation{U}
397402
AbstractMatrixRepresentation{T,U}
398403
```
399404

400-
### Traits
405+
### [Traits](@id traits_dev)
401406
```@docs
402407
IsWeighted{X}
403408
IsMeta{X}

0 commit comments

Comments
 (0)