@@ -190,10 +190,11 @@ function coloring(
190190 A:: AbstractMatrix ,
191191 problem:: ColoringProblem ,
192192 algo:: GreedyColoringAlgorithm ;
193- decompression_eltype:: Type{R} = Float64,
194193 symmetric_pattern:: Bool = false ,
194+ decompression_eltype:: Type{R} = Float64,
195+ decompression_uplo:: Symbol = :F ,
195196) where {R}
196- return _coloring (WithResult (), A, problem, algo, R, symmetric_pattern )
197+ return _coloring (WithResult (), A, problem, algo, symmetric_pattern, R, decompression_uplo )
197198end
198199
199200"""
@@ -229,8 +230,9 @@ function _coloring(
229230 A:: AbstractMatrix ,
230231 :: ColoringProblem{:nonsymmetric,:column} ,
231232 algo:: GreedyColoringAlgorithm ,
233+ symmetric_pattern:: Bool ,
232234 decompression_eltype:: Type ,
233- symmetric_pattern :: Bool ;
235+ decompression_uplo :: Symbol ;
234236 forced_colors:: Union{AbstractVector{<:Integer},Nothing} = nothing ,
235237)
236238 symmetric_pattern = symmetric_pattern || A isa Union{Symmetric,Hermitian}
@@ -252,8 +254,9 @@ function _coloring(
252254 A:: AbstractMatrix ,
253255 :: ColoringProblem{:nonsymmetric,:row} ,
254256 algo:: GreedyColoringAlgorithm ,
257+ symmetric_pattern:: Bool ,
255258 decompression_eltype:: Type ,
256- symmetric_pattern :: Bool ;
259+ decompression_uplo :: Symbol ;
257260 forced_colors:: Union{AbstractVector{<:Integer},Nothing} = nothing ,
258261)
259262 symmetric_pattern = symmetric_pattern || A isa Union{Symmetric,Hermitian}
@@ -275,8 +278,9 @@ function _coloring(
275278 A:: AbstractMatrix ,
276279 :: ColoringProblem{:symmetric,:column} ,
277280 algo:: GreedyColoringAlgorithm{:direct} ,
281+ symmetric_pattern:: Bool ,
278282 decompression_eltype:: Type ,
279- symmetric_pattern :: Bool ;
283+ decompression_uplo :: Symbol ;
280284 forced_colors:: Union{AbstractVector{<:Integer},Nothing} = nothing ,
281285)
282286 ag = AdjacencyGraph (A; augmented_graph= false )
@@ -286,7 +290,7 @@ function _coloring(
286290 end
287291 color, star_set = argmin (maximum ∘ first, color_and_star_set_by_order)
288292 if speed_setting isa WithResult
289- return StarSetColoringResult (A, ag, color, star_set)
293+ return StarSetColoringResult (A, ag, color, star_set; decompression_uplo )
290294 else
291295 return color
292296 end
@@ -297,8 +301,9 @@ function _coloring(
297301 A:: AbstractMatrix ,
298302 :: ColoringProblem{:symmetric,:column} ,
299303 algo:: GreedyColoringAlgorithm{:substitution} ,
300- decompression_eltype:: Type{R} ,
301304 symmetric_pattern:: Bool ,
305+ decompression_eltype:: Type{R} ,
306+ decompression_uplo:: Symbol ,
302307) where {R}
303308 ag = AdjacencyGraph (A; augmented_graph= false )
304309 color_and_tree_set_by_order = map (algo. orders) do order
@@ -307,7 +312,7 @@ function _coloring(
307312 end
308313 color, tree_set = argmin (maximum ∘ first, color_and_tree_set_by_order)
309314 if speed_setting isa WithResult
310- return TreeSetColoringResult (A, ag, color, tree_set, R)
315+ return TreeSetColoringResult (A, ag, color, tree_set, R; decompression_uplo )
311316 else
312317 return color
313318 end
@@ -318,8 +323,9 @@ function _coloring(
318323 A:: AbstractMatrix ,
319324 :: ColoringProblem{:nonsymmetric,:bidirectional} ,
320325 algo:: GreedyColoringAlgorithm{:direct} ,
326+ symmetric_pattern:: Bool ,
321327 decompression_eltype:: Type{R} ,
322- symmetric_pattern :: Bool ;
328+ decompression_uplo :: Symbol ;
323329 forced_colors:: Union{AbstractVector{<:Integer},Nothing} = nothing ,
324330) where {R}
325331 A_and_Aᵀ, edge_to_index = bidirectional_pattern (A; symmetric_pattern)
@@ -368,8 +374,9 @@ function _coloring(
368374 A:: AbstractMatrix ,
369375 :: ColoringProblem{:nonsymmetric,:bidirectional} ,
370376 algo:: GreedyColoringAlgorithm{:substitution} ,
371- decompression_eltype:: Type{R} ,
372377 symmetric_pattern:: Bool ,
378+ decompression_eltype:: Type{R} ,
379+ decompression_uplo:: Symbol ,
373380) where {R}
374381 A_and_Aᵀ, edge_to_index = bidirectional_pattern (A; symmetric_pattern)
375382 ag = AdjacencyGraph (A_and_Aᵀ, edge_to_index, 0 ; augmented_graph= true )
0 commit comments