Skip to content

Commit f3b3900

Browse files
author
Will Kimmerer
committed
Some more updates
1 parent 2792c18 commit f3b3900

File tree

9 files changed

+26
-53
lines changed

9 files changed

+26
-53
lines changed

examples/BFSParentsMultiSource.jl

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ using LinearAlgebra
1212
function insert(P, R, s, n)
1313
for i = 1:s
1414
for j = 1:n
15-
if(P[i, j]!=nothing && R[i, j]==nothing) #*
15+
if(P[i, j] !== nothing && R[i, j] === nothing) #*
1616
R[i, j] = P[i, j]
1717
end
1818
end
@@ -51,10 +51,8 @@ function ms_bfsp(A, S, n, s)
5151
end
5252
end
5353
end
54-
55-
56-
for i = 1:n-1
57-
F = mul(F, A, Semirings.MIN_FIRST, mask=P, desc=Descriptors.RC)
54+
for _ 1:n-1
55+
F = mul(F, A, (min, first), mask=P, desc=Descriptors.RC)
5856
P = F[:, :, mask=F, desc=Descriptors.S]
5957
F = index[:, :, mask=F, desc=Descriptors.S]
6058
R = insert(P, R, s, n)

examples/BasicPrim.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function b_prim(A, n, m)
3636
u = argmin(m'+d)
3737
m[u[2]] = Inf
3838
weight = weight + d[u[2]]
39-
d = emul(d, A[u[1],:], BinaryOps.MIN)
39+
d = min.(d, A[u[1],:])
4040
end
4141

4242
return weight

examples/BellmanFord.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ function bellmanford(A, s, n)
1818
end
1919

2020
d[s]=0.0
21-
for i = 1:n
22-
d = mul(d, A, Semirings.MIN_PLUS, mask=d, desc=Descriptors.S)
21+
for _ 1:n
22+
d = mul(d, A, (min, +), mask=d, desc=Descriptors.S)
2323
end
2424

2525
return d

examples/CDLP.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,13 @@ function cdlp(A, n, t)
6868
end
6969

7070
for k = 1:t
71-
F = mul(A, lab, Semirings.PLUS_TIMES)
71+
F = A * lab
7272
for i = 1:n
7373
r = F[i,:]
7474
r = sort(r, dims=2)
7575
lab[i, i] = minMode(r)
7676
end
77-
7877
end
79-
8078
return lab
8179

8280
end

examples/CMU.jl

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,16 @@ using LinearAlgebra
1111

1212
#A is the input matrix, n is the number of nodes in the original matrix, Output: Triangle Count
1313
function cmu(A, n)
14-
15-
t = 0
16-
17-
for i = 2:n-1
18-
19-
#rpva
20-
A20 = A[i+1:n,begin:i]
21-
a10 = A[begin:i, i]
22-
a12 = A[i, i+1:n]
23-
24-
partial1 = mul(a10', A20', Semirings.PLUS_TIMES)
25-
partial2 = mul(partial1, a12', Semirings.PLUS_TIMES)
26-
27-
t = t + partial2[1]
14+
t = 0
15+
for i 2:n-1
16+
#rpva
17+
A20 = A[i+1:n,begin:i]
18+
a10 = A[begin:i, i]
19+
a12 = A[i, i+1:n]
20+
21+
partial1 = a10' * A20'
22+
partial2 = partial1 * a12'
23+
t += partial2[1]
2824
end
29-
30-
print(t)
31-
3225
return t
3326
end

examples/Cohen.jl

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,7 @@ using LinearAlgebra
1111

1212
##A is the input matrix, Output: Triangle Count
1313
function cohen(A)
14-
15-
#extracting lower matrix from input matrix
16-
L = tril(A)
17-
18-
19-
#extracting upper matrix from input matrix
20-
U = triu(A')
21-
22-
B = mul(L, U, Semirings.PLUS_TIMES)
23-
C = emul(B, A, BinaryOps.TIMES)
24-
result = reduce(Monoids.PLUS_MONOID[Float64], C, dims=:)
25-
result = result /2
26-
27-
return result
28-
14+
U = select(TRIU, A)
15+
L = select(TRIL, A)
16+
return reduce(+, mul(L, U, (+, pair); mask=A)) ÷ 2
2917
end

examples/FloydWarshall.jl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@ function floydwarshall(A, n)
1515
D = A
1616
result = GBMatrix{Int64}(n, n)
1717

18-
1918
for i = 1:n
20-
partial = mul(D[:,i], D[i,:], Semirings.MIN_PLUS)
21-
D = emul(D, partial, BinaryOps.MIN)
19+
partial = mul(D[:,i], D[i,:], (min, +))
20+
D = emul(D, partial, min)
2221
result = partial
2322
end
24-
2523
return result
2624

2725
end

examples/KTruss.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@ using LinearAlgebra
1313
function ktruss(A, k, n)
1414

1515
C = A
16-
for i = 1:n-1
16+
for _ 1:n-1
1717
C = mul(C, C, Semirings.PLUS_LAND, mask=C)
18-
C = select(SelectOps.GE, C, k-2)
18+
C = select(>=, C, k-2)
1919
print(C)
2020
end
21-
2221
return C
2322

2423
end

examples/NodeWiseTriangleCount.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ using LinearAlgebra
1212
#A is the input matrix. Output: triangles originated by each node
1313
function nodewise_tc(A)
1414

15-
#extracting lower matrix from input matrix
16-
partial = mul(A, A, Semirings.PLUS_TIMES, mask=A)
17-
t = reduce(Monoids.PLUS_MONOID[Float64], partial, dims=2)
15+
partial = mul(A, A, (+, *), mask=A)
16+
t = reduce(+, partial, dims=2)
1817
return t/2
1918

2019
end

0 commit comments

Comments
 (0)