Skip to content

Commit 3753c76

Browse files
committed
Remove the field bicoloring in AdjacencyGraph
1 parent 4c41a68 commit 3753c76

2 files changed

Lines changed: 13 additions & 18 deletions

File tree

src/graph.jl

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,6 @@ The adjacency graph of a symmetric matrix `A ∈ ℝ^{n × n}` is `G(A) = (V, E)
227227
struct AdjacencyGraph{T<:Integer,has_diagonal}
228228
S::SparsityPatternCSC{T}
229229
edge_to_index::Vector{T}
230-
bicoloring::Bool
231230
original_size::Tuple{Int,Int}
232231
end
233232

@@ -237,18 +236,17 @@ function AdjacencyGraph(
237236
S::SparsityPatternCSC{T},
238237
edge_to_index::Vector{T}=build_edge_to_index(S);
239238
has_diagonal::Bool=true,
240-
bicoloring::Bool=false,
241239
original_size::Tuple{Int,Int}=size(S),
242240
) where {T}
243-
return AdjacencyGraph{T,has_diagonal}(S, edge_to_index, bicoloring, original_size)
241+
return AdjacencyGraph{T,has_diagonal}(S, edge_to_index, original_size)
244242
end
245243

246-
function AdjacencyGraph(A::SparseMatrixCSC; has_diagonal::Bool=true, bicoloring::Bool=false, original_size::Tuple{Int,Int}=size(A))
247-
return AdjacencyGraph(SparsityPatternCSC(A); has_diagonal, bicoloring, original_size)
244+
function AdjacencyGraph(A::SparseMatrixCSC; has_diagonal::Bool=true, original_size::Tuple{Int,Int}=size(A))
245+
return AdjacencyGraph(SparsityPatternCSC(A); has_diagonal, original_size)
248246
end
249247

250-
function AdjacencyGraph(A::AbstractMatrix; has_diagonal::Bool=true, bicoloring::Bool=false, original_size::Tuple{Int,Int}=size(A))
251-
return AdjacencyGraph(SparseMatrixCSC(A); has_diagonal, bicoloring, original_size)
248+
function AdjacencyGraph(A::AbstractMatrix; has_diagonal::Bool=true, original_size::Tuple{Int,Int}=size(A))
249+
return AdjacencyGraph(SparseMatrixCSC(A); has_diagonal, original_size)
252250
end
253251

254252
pattern(g::AdjacencyGraph) = g.S

src/postprocessing.jl

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,15 @@ function postprocess!(
1919
color_used[color[i]] = true
2020
end
2121
end
22-
end
2322

24-
if g.bicoloring
23+
if star_or_tree_set isa StarSet
24+
# star_or_tree_set is a StarSet
25+
postprocess_star_coloring!(g, color_used, color, star_or_tree_set)
26+
else
27+
# star_or_tree_set is a TreeSet
28+
postprocess_acyclic_coloring!(color_used, color, star_or_tree_set)
29+
end
30+
else
2531
row_color_used = zeros(Bool, nb_colors)
2632
column_color_used = color_used
2733

@@ -36,14 +42,6 @@ function postprocess!(
3642
# Identify colors that are used in either the row or column partition
3743
# color_used = row_color_used .| column_color_used
3844
color_used .|= row_color_used
39-
else
40-
if star_or_tree_set isa StarSet
41-
# star_or_tree_set is a StarSet
42-
postprocess_star_coloring!(g, color_used, color, star_or_tree_set)
43-
else
44-
# star_or_tree_set is a TreeSet
45-
postprocess_acyclic_coloring!(color_used, color, star_or_tree_set)
46-
end
4745
end
4846

4947
# if at least one of the colors is useless, modify the color assignments of vertices
@@ -164,7 +162,6 @@ function postprocess_star_coloring!(
164162
return color_used
165163
end
166164

167-
168165
function postprocess_star_bicoloring!(
169166
g::AdjacencyGraph,
170167
row_color_used::Vector{Bool},

0 commit comments

Comments
 (0)