mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-09-13 08:35:40 +02:00
make the laplacian generation code more generic
This commit is contained in:
parent
7f707e60a0
commit
f9f96acb9a
@ -37,24 +37,21 @@ function constraints_from_pm(pm, total_length=maximum(pm))
|
|||||||
end
|
end
|
||||||
return constraints
|
return constraints
|
||||||
end
|
end
|
||||||
function Laplacian_sparse(S::Array{Array{Float64,2},1},
|
|
||||||
basis::Array{Array{Float64,2},1})
|
|
||||||
|
|
||||||
|
function splaplacian_coeff(S, basis, n=length(basis))
|
||||||
squares = unique(vcat([basis[1]], S, products(S,S)))
|
squares = unique(vcat([basis[1]], S, products(S,S)))
|
||||||
|
|
||||||
result = spzeros(length(basis))
|
result = spzeros(n)
|
||||||
result[1] = length(S)
|
result[1] = length(S)
|
||||||
for s in S
|
for s in S
|
||||||
ind = find(basis, s)
|
ind = findfirst(basis, s)
|
||||||
result[ind] += -1
|
result[ind] += -1
|
||||||
end
|
end
|
||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
function Laplacian(S::Array{Array{Float64,2},1},
|
function laplacian_coeff(S, basis)
|
||||||
basis:: Array{Array{Float64,2},1})
|
return full(splaplacian_coeff(S,basis))
|
||||||
|
|
||||||
return full(Laplacian_sparse(S,basis))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user