Skip to content

Commit cc11e2b

Browse files
committed
Add tests for symmetric strength of connection
1 parent a219756 commit cc11e2b

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

src/gallery.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
poisson(n) = sparse(Tridiagonal(fill(-1, n-1), fill(2, n), fill(-1, n-1)))
1+
poisson(T, n) = sparse(Tridiagonal(fill(T(-1), n-1),
2+
fill(T(2), n), fill(T(-1), n-1)))
3+
poisson(n) = poisson(Float64, n)

src/strength.jl

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,20 +107,26 @@ function strength_of_connection{T}(s::SymmetricStrength{T}, A, bsr_flag = false)
107107
for j in nzrange(A, i)
108108
row = A.rowval[j]
109109
val = A.nzval[j]
110-
if val*val < eps_Aii * diags[row]
111-
S.nzval[j] = 0
110+
if row != i
111+
if val*val < eps_Aii * diags[row]
112+
S.nzval[j] = 0
113+
end
112114
end
113115
end
114116
end
115117

116118
dropzeros!(S)
117119

118-
S.nzval .= abs.(S.nzval)
119-
# for i = 1:size(S.nzval, 1)
120+
# S.nzval .= abs.(S.nzval)
121+
#for i = 1:size(S.nzval, 1)
120122
# S.nzval[i] = abs(S.nzval[i])
121-
# end
123+
#end
122124

123125
scale_cols_by_largest_entry!(S)
126+
127+
for i = 1:size(S.nzval, 1)
128+
S.nzval[i] = abs(S.nzval[i])
129+
end
124130

125131
S
126132
end

test/runtests.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ using JLD
44
using IterativeSolvers
55
import AMG: V, coarse_solver, Pinv, Classical
66

7+
include("sa_tests.jl")
8+
79
@testset "AMG Tests" begin
810

911
graph = load("test.jld")["G"]
@@ -234,4 +236,14 @@ end
234236

235237
end
236238

239+
# Smoothed Aggregation
240+
@testset "Smoothed Aggregation" begin
241+
242+
@testset "Symmetric Strength of Connection" begin
243+
244+
test_symmetric_soc()
245+
end
246+
247+
end
248+
237249
end

0 commit comments

Comments
 (0)