Skip to content

Commit bc8c2fb

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

File tree

7 files changed

+45
-38
lines changed

7 files changed

+45
-38
lines changed

src/MultilayerGraphs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,4 +196,4 @@ include("multilayerdigraph.jl")
196196
include("utilities.jl")
197197
include("tensorsfactorizations.jl")
198198

199-
end
199+
end

src/abstractmultilayergraph.jl

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,26 +1197,28 @@ end
11971197

11981198
# Console print utilities
11991199
function to_string(x::AbstractMultilayerGraph)
1200-
layers_strings = join(to_string.(x.layers), "\n\n")
1201-
interlater_strings = join(to_string.(values(x.interlayers)), "\n\n")
1200+
unionall_type = typeof(x).name.wrapper
1201+
parameters = typeof(x).parameters
1202+
12021203
layers_names = name.(x.layers)
1203-
layers_underlying_graphs = typeof.(graph.(x.layers)
1204-
layers_eltypes = eltype(x.layers).parameters
1205-
layers_vertextypes = repeat([layers_eltypes[1]], length(x.layers))
1206-
layers_weighttypes = repeat([layers_eltypes[2]], length(x.layers))
1204+
layers_underlying_graphs = typeof.(graph.(x.layers))
12071205

1208-
interlayers_names = name.(values(x.layers))
1209-
"""
1210-
$(typeof(x))
1206+
layers_table = pretty_table(String, hcat(layers_names, layers_underlying_graphs); title = "### LAYERS", header = (["NAME", "UNDERLYING GRAPH"]), alignment = :c, header_alignment = :c, header_crayon = crayon"yellow bold", hlines = :all)
12111207

1212-
### LAYERS
1208+
interlayers_names = name.(values(x.interlayers))
1209+
interlayers_underlying_graphs = typeof.(graph.(values(x.interlayers)))
1210+
interlayer_layer_1s = getproperty.(values(x.interlayers), Ref(:layer_1))
1211+
interlayer_layer_2s = getproperty.(values(x.interlayers), Ref(:layer_2))
1212+
interlayer_tranfers = getproperty.(values(x.interlayers), Ref(:transfer_vertex_metadata))
12131213

1214-
$layers_strings
1214+
interlayers_table = pretty_table(String, hcat(interlayers_names, interlayer_layer_1s, interlayer_layer_2s, interlayers_underlying_graphs, interlayer_tranfers ); title = "### INTERLAYERS", header = (["NAME", "LAYER 1", "LAYER 2", "UNDERLYING GRAPH", "TRANSFER VERTEX METADATA"]), alignment = :c, header_alignment = :c, header_crayon = crayon"yellow bold", hlines = :all)
12151215

1216-
### INTERLAYERS
1216+
"""
1217+
`$unionall_type` with vertex type `$(parameters[1])` and weight type `$(parameters[2])`.
12171218
1218-
$interlater_strings
1219+
$layers_table
12191220
1221+
$interlayers_table
12201222
"""
12211223
end
12221224
Base.show(io::IO, x::AbstractMultilayerGraph) = print(io, to_string(x))

src/subgraphs/interlayer.jl

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Internal constructor used with InterlayerDescriptor.
9494
function _Interlayer(
9595
layer_1_multilayervertices::Vector{<:MultilayerVertex},
9696
layer_2_multilayervertices::Vector{<:MultilayerVertex},
97-
edge_list::Union{Vector{<:MultilayerEdge{ <: Union{U,Nothing}}}, Vector{Tuple{<:MultilayerVertex, <:MultilayerVertex}}}, # MultilayerVertex, {<: Union{U, Nothing}}
97+
edge_list::Union{<:Vector{<:MultilayerEdge{ <: Union{U,Nothing}}}, <:Vector{ <: Tuple{<:MultilayerVertex, <:MultilayerVertex}}}, # MultilayerVertex, {<: Union{U, Nothing}}
9898
descriptor::InterlayerDescriptor{T,U,G},
9999
) where {T<:Integer,U<:Real,G<:AbstractGraph{T}}
100100

@@ -127,7 +127,7 @@ function _Interlayer(
127127
mv_vertices(layer_1), mv_vertices(layer_2), edge_list, descriptor
128128
) =#
129129

130-
return Interlayer(mv_vertices(layer_1), mv_vertices(layer_2), edge_list, descriptor) # , graph, v_V_associations
130+
return _Interlayer(mv_vertices(layer_1), mv_vertices(layer_2), edge_list, descriptor) # , graph, v_V_associations
131131
end
132132

133133
"""
@@ -186,8 +186,8 @@ function Interlayer(
186186
) =#
187187

188188
descriptor = InterlayerDescriptor(
189-
interlayer_name(layer_1),
190-
interlayer_name(layer_2),
189+
name(layer_1),
190+
name(layer_2),
191191
null_graph,
192192
U;
193193
default_edge_weight=default_edge_weight,
@@ -377,7 +377,7 @@ function Interlayer(
377377
)
378378
end
379379

380-
"""
380+
#= """
381381
_Interlayer(
382382
layer_1_multilayervertices::Vector{MultilayerVertex{L1}},
383383
layer_2_multilayervertices::Vector{MultilayerVertex{L2}},
@@ -441,7 +441,7 @@ function _Interlayer(
441441
return _Interlayer(
442442
layer_1_multilayervertices, layer_2_multilayervertices, edge_list, descriptor
443443
)
444-
end
444+
end =#
445445

446446

447447

@@ -489,6 +489,8 @@ multiplex_interlayer(
489489
interlayer_name = interlayer_name
490490
)
491491

492+
493+
492494
"""
493495
_multiplex_interlayer(
494496
layer_1_multilayervertices::Vector{MultilayerVertex{L1}},
@@ -668,20 +670,19 @@ Constructor for Interlayer whose underlying graph is a `SimpleGraph` from `Graph
668670
function interlayer_simplegrah(
669671
layer_1::Layer{T,U},
670672
layer_2::Layer{T,U},
671-
edge_list::Union{<:Vector{<:MultilayerEdge{<:Union{U, Nothing}}}, Vector{NTuple{2, MultilayerVertex}}};
673+
edge_list::Union{<:Vector{<:MultilayerEdge{<:Union{U, Nothing}}}, <:Vector{ <:Tuple{<:MultilayerVertex, <:MultilayerVertex}}};
672674
vertextype::Type{<:Integer} = Int64,
673675
interlayer_name::Symbol = Symbol("interlayer_$(layer_1.name)_$(layer_2.name)")
674676
) where {T<:Integer,U<:Real}
675-
677+
#=
676678
layer_1_multilayervertices = collect(mv_vertices(layer_1))
677-
layer_2_multilayervertices = collect(mv_vertices(layer_2))
679+
layer_2_multilayervertices = collect(mv_vertices(layer_2)) =#
678680

679-
return _Interlayer(
680-
layer_1_multilayervertices,
681-
layer_2_multilayervertices,
681+
return Interlayer(
682+
layer_1,
683+
layer_2,
682684
SimpleGraph{vertextype}(),
683-
edge_list,
684-
U;
685+
edge_list;
685686
interlayer_name = interlayer_name
686687
)
687688
end
@@ -988,14 +989,16 @@ end
988989

989990
# Console print utilities
990991
function to_string(x::Interlayer)
992+
parameters = typeof(x).parameters
991993
"""
992-
$(typeof(x))
993-
name: $(name(x))
994+
Interlayer\t$(name(x))
994995
layer_1: $(x.layer_1)
995996
layer_2: $(x.layer_2)
996-
underlying graph: $(x.graph)
997-
nv = $(nv(x))
998-
ne = $(ne(x))
997+
underlying graph: $(typeof(x.graph))
998+
vertex type : $(parameters[1])
999+
weight type : $(parameters[2])
1000+
nv : $(nv(x))
1001+
ne : $(ne(x))
9991002
"""
10001003
end
10011004
Base.show(io::IO, x::Interlayer) = print(io, to_string(x))

src/subgraphs/layer.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,11 +1727,12 @@ end
17271727

17281728
# Console print utilities
17291729
function to_string(x::Layer)
1730+
parameters = typeof(x).parameters
17301731
"""
17311732
Layer\t$(name(x))
17321733
underlying_graph: $(typeof(graph(x)))
1733-
vertex_type: $(parameters[1])
1734-
weight_type: $(parameters[2])
1734+
vertex type: $(parameters[1])
1735+
weight type: $(parameters[2])
17351736
nv = $(nv(x))
17361737
ne = $(ne(x))
17371738
"""

test/interlayer.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ edgetype.(all_interlayers)
77

88
for interlayer in all_interlayers
99
@test all(has_edge.(Ref(interlayer), edges(interlayer)))
10-
println(which(has_vertex, typeof.((interlayer, mv_vertices(interlayer)[1]))))
1110
@test all(has_vertex.(Ref(interlayer), mv_vertices(interlayer)))
1211
@test all(has_vertex.(Ref(interlayer), mv_vertices(interlayer)))
1312
mv = rand(collect(mv_vertices(interlayer)))
@@ -17,6 +16,8 @@ for interlayer in all_interlayers
1716
# MultilayerGraphs.weights(interlayer)
1817
end
1918

19+
@debug ""
20+
2021
ne.(all_interlayers)
2122
nv.(all_interlayers)
2223

test/layer.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function _get_srcmv_dstmv_layer(layer::Layer)
3737

3838
return mvs, src_mv, dst_mv
3939
end
40-
40+
@debug ""
4141
#= rand_mv_1 = rand(mv_vertices(layer_sg))
4242
rand_mv_2 = rand(mv_vertices(layer_sg)) =#
4343

test/runtests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ _nv_1 = nv(layer_sg)
169169
_nv_2= nv(layer_swg)
170170
_ne = rand(1:(_nv_1 * _nv_2))
171171
interlayer_sg_swg = Interlayer(layer_sg, layer_swg, _ne, SimpleGraph{vertextype}())
172-
#_interlayer_simplegraph = interlayer_simplegrah(layer_sg, layer_swg, collect(edges(interlayer_sg_swg)))
172+
_interlayer_simplegraph = interlayer_simplegrah(layer_sg, layer_swg, collect(edges(interlayer_sg_swg)))
173173

174174
_nv_1 = nv(layer_swg)
175175
_nv_2= nv(layer_mg)

0 commit comments

Comments
 (0)