11#=
22This code is partially taken from ArrayInterface.jl
33https://github.com/JuliaArrays/ArrayInterface.jl
4-
5- Question: when decompressing, should we always assume that the coloring was optimal?
64=#
75
86"""
@@ -42,19 +40,15 @@ function coloring(
4240 return RowColoringResult (A, bg, color)
4341end
4442
45- function decompress! (
46- A:: Diagonal{R} , B:: AbstractMatrix{R} , result:: ColumnColoringResult
47- ) where {R<: Real }
43+ function decompress! (A:: Diagonal , B:: AbstractMatrix , result:: ColumnColoringResult )
4844 color = column_colors (result)
4945 for j in axes (A, 2 )
5046 A[j, j] = B[j, color[j]]
5147 end
5248 return A
5349end
5450
55- function decompress! (
56- A:: Diagonal{R} , B:: AbstractMatrix{R} , result:: RowColoringResult
57- ) where {R<: Real }
51+ function decompress! (A:: Diagonal , B:: AbstractMatrix , result:: RowColoringResult )
5852 color = row_colors (result)
5953 for i in axes (A, 1 )
6054 A[i, i] = B[color[i], i]
@@ -86,9 +80,7 @@ function coloring(
8680 return RowColoringResult (A, bg, color)
8781end
8882
89- function decompress! (
90- A:: Bidiagonal{R} , B:: AbstractMatrix{R} , result:: ColumnColoringResult
91- ) where {R<: Real }
83+ function decompress! (A:: Bidiagonal , B:: AbstractMatrix , result:: ColumnColoringResult )
9284 color = column_colors (result)
9385 for j in axes (A, 2 )
9486 c = color[j]
@@ -102,9 +94,7 @@ function decompress!(
10294 return A
10395end
10496
105- function decompress! (
106- A:: Bidiagonal{R} , B:: AbstractMatrix{R} , result:: RowColoringResult
107- ) where {R<: Real }
97+ function decompress! (A:: Bidiagonal , B:: AbstractMatrix , result:: RowColoringResult )
10898 color = row_colors (result)
10999 for i in axes (A, 1 )
110100 c = color[i]
@@ -142,9 +132,7 @@ function coloring(
142132 return RowColoringResult (A, bg, color)
143133end
144134
145- function decompress! (
146- A:: Tridiagonal{R} , B:: AbstractMatrix{R} , result:: ColumnColoringResult
147- ) where {R<: Real }
135+ function decompress! (A:: Tridiagonal , B:: AbstractMatrix , result:: ColumnColoringResult )
148136 color = column_colors (result)
149137 for j in axes (A, 2 )
150138 c = color[j]
@@ -159,9 +147,7 @@ function decompress!(
159147 return A
160148end
161149
162- function decompress! (
163- A:: Tridiagonal{R} , B:: AbstractMatrix{R} , result:: RowColoringResult
164- ) where {R<: Real }
150+ function decompress! (A:: Tridiagonal , B:: AbstractMatrix , result:: RowColoringResult )
165151 color = row_colors (result)
166152 for i in axes (A, 1 )
167153 c = color[i]
0 commit comments