352352function decompress! (A:: AbstractMatrix , B:: AbstractMatrix , result:: ColumnColoringResult )
353353 (; color) = result
354354 S = result. bg. S2
355- check_same_pattern (A, S)
355+ @assert size (A) == size ( S)
356356 fill! (A, zero (eltype (A)))
357357 rvS = rowvals (S)
358358 for j in axes (S, 2 )
@@ -370,7 +370,7 @@ function decompress_single_color!(
370370)
371371 (; group) = result
372372 S = result. bg. S2
373- check_same_pattern (A, S)
373+ @assert size (A) == size ( S)
374374 rvS = rowvals (S)
375375 for j in group[c]
376376 for k in nzrange (S, j)
384384function decompress! (A:: SparseMatrixCSC , B:: AbstractMatrix , result:: ColumnColoringResult )
385385 (; compressed_indices, allow_denser) = result
386386 S = result. bg. S2
387- check_same_pattern (A, S; allow_denser)
387+ check_compatible_pattern (A, S; allow_denser)
388388 nzA = nonzeros (A)
389389 if nnz (A) == nnz (S)
390390 for k in eachindex (compressed_indices)
@@ -413,7 +413,7 @@ function decompress_single_color!(
413413)
414414 (; group) = result
415415 S = result. bg. S2
416- check_same_pattern (A, S)
416+ check_compatible_pattern (A, S)
417417 rvS = rowvals (S)
418418 nzA = nonzeros (A)
419419 for j in group[c]
430430function decompress! (A:: AbstractMatrix , B:: AbstractMatrix , result:: RowColoringResult )
431431 (; color) = result
432432 S = result. bg. S2
433- check_same_pattern (A, S)
433+ @assert size (A) == size ( S)
434434 fill! (A, zero (eltype (A)))
435435 rvS = rowvals (S)
436436 for j in axes (S, 2 )
@@ -448,7 +448,7 @@ function decompress_single_color!(
448448)
449449 (; group) = result
450450 S, Sᵀ = result. bg. S2, result. bg. S1
451- check_same_pattern (A, S)
451+ @assert size (A) == size ( S)
452452 rvSᵀ = rowvals (Sᵀ)
453453 for i in group[c]
454454 for k in nzrange (Sᵀ, i)
462462function decompress! (A:: SparseMatrixCSC , B:: AbstractMatrix , result:: RowColoringResult )
463463 (; compressed_indices, allow_denser) = result
464464 S = result. bg. S2
465- check_same_pattern (A, S; allow_denser)
465+ check_compatible_pattern (A, S; allow_denser)
466466 nzA = nonzeros (A)
467467 if nnz (A) == nnz (S)
468468 for k in eachindex (nzA, compressed_indices)
@@ -493,7 +493,7 @@ function decompress!(
493493)
494494 (; ag, compressed_indices) = result
495495 (; S) = ag
496- uplo == :F && check_same_pattern (A, S)
496+ @assert size (A) == size ( S)
497497 fill! (A, zero (eltype (A)))
498498
499499 rvS = rowvals (S)
@@ -517,7 +517,7 @@ function decompress_single_color!(
517517)
518518 (; ag, compressed_indices, group) = result
519519 (; S) = ag
520- uplo == :F && check_same_pattern (A, S)
520+ @assert size (A) == size ( S)
521521
522522 lower_index = (c - 1 ) * S. n + 1
523523 upper_index = c * S. n
@@ -552,7 +552,7 @@ function decompress!(
552552 (; S) = ag
553553 nzA = nonzeros (A)
554554 if uplo == :F
555- check_same_pattern (A, S; allow_denser)
555+ check_compatible_pattern (A, S; allow_denser)
556556 if nnz (A) == nnz (S)
557557 for k in eachindex (nzA, compressed_indices)
558558 nzA[k] = B[compressed_indices[k]]
@@ -608,7 +608,7 @@ function decompress!(
608608)
609609 (; ag, color, reverse_bfs_orders, buffer) = result
610610 (; S) = ag
611- uplo == :F && check_same_pattern (A, S)
611+ @assert size (A) == size ( S)
612612 R = eltype (A)
613613 fill! (A, zero (R))
614614
@@ -671,7 +671,7 @@ function decompress!(
671671 (; S) = ag
672672 A_colptr = A. colptr
673673 nzA = nonzeros (A)
674- uplo == :F && check_same_pattern (A, S)
674+ @assert size (A) == size ( S)
675675
676676 if eltype (buffer) == R
677677 buffer_right_type = buffer
@@ -768,7 +768,7 @@ function decompress!(
768768)
769769 (; color, strict_upper_nonzero_inds, M_factorization, strict_upper_nonzeros_A) = result
770770 S = result. ag. S
771- uplo == :F && check_same_pattern (A, S)
771+ @assert size (A) == size ( S)
772772
773773 # TODO : for some reason I cannot use ldiv! with a sparse QR
774774 strict_upper_nonzeros_A = M_factorization \ vec (B)
@@ -829,6 +829,7 @@ function decompress!(
829829 A:: AbstractMatrix , Br:: AbstractMatrix , Bc:: AbstractMatrix , result:: BicoloringResult
830830)
831831 m, n = size (A)
832+ @assert size (A) == size (result. S)
832833 Br_and_Bc = _join_compressed! (result, Br, Bc)
833834 A_and_Aᵀ = decompress (Br_and_Bc, result. symmetric_result)
834835 copyto! (A, A_and_Aᵀ[(n + 1 ): (n + m), 1 : n]) # original matrix in bottom left corner
@@ -839,7 +840,7 @@ function decompress!(
839840 A:: SparseMatrixCSC , Br:: AbstractMatrix , Bc:: AbstractMatrix , result:: BicoloringResult
840841)
841842 (; S, large_colptr, large_rowval, symmetric_result) = result
842- check_same_pattern (A, S)
843+ check_compatible_pattern (A, S)
843844 m, n = size (A)
844845 Br_and_Bc = _join_compressed! (result, Br, Bc)
845846 # pretend A is larger
0 commit comments