mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-11-30 01:55:28 +01:00
And function to create generating set and products
This commit is contained in:
parent
9641f72b05
commit
3118c8b4fe
21
SL3Z.jl
21
SL3Z.jl
@ -79,6 +79,27 @@ function inv(M::Array{Mod,2})
|
|||||||
return adjugate(M)
|
return adjugate(M)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function SL_generatingset(n::Int, p::Int)
|
||||||
|
(p > 1 && n > 1) || throw(ArgumentError("Both n and p should be integers!"))
|
||||||
|
isprime(p) || throw(ArgumentError("p should be a prime number!"))
|
||||||
|
|
||||||
|
indexing = [(i,j) for i in 1:n for j in 1:n if i≠j]
|
||||||
|
S = [E(i,j, N=n, mod=p) for (i,j) in indexing]
|
||||||
|
S = vcat(S, [inv(s) for s in S])
|
||||||
|
S = vcat(S, [permutedims(x, [2,1]) for x in S]);
|
||||||
|
|
||||||
|
return unique(S)
|
||||||
|
end
|
||||||
|
|
||||||
|
function products{T}(U::AbstractVector{T}, V::AbstractVector{T})
|
||||||
|
result = Vector{T}()
|
||||||
|
for u in U
|
||||||
|
for v in V
|
||||||
|
push!(result, u*v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return unique(result)
|
||||||
|
end
|
||||||
|
|
||||||
function ΔandSDPconstraints(identity, S)
|
function ΔandSDPconstraints(identity, S)
|
||||||
B₁ = vcat([identity], S)
|
B₁ = vcat([identity], S)
|
||||||
|
Loading…
Reference in New Issue
Block a user