-
Notifications
You must be signed in to change notification settings - Fork 25
/
QuantumInformation.jl
39 lines (32 loc) · 1.05 KB
/
QuantumInformation.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
"""
Main module for `QuantumInformation.jl` -- a Julia package for numerical computation in quantum information theory.
"""
module QuantumInformation
using LinearAlgebra
using DocStringExtensions
using TensorOperations
using Convex, SCS
using Random: AbstractRNG, GLOBAL_RNG
import Base: convert, size, length, kron, *, show, rand
import LinearAlgebra: I
const ⊗ = kron
export ⊗
include("../randommatrices/src/RandomMatrices.jl")
using .RandomMatrices
eval(Expr(:export, names(RandomMatrices)...))
using Requires
@init @require CuArrays = "3a865a2d-5b23-5a0f-bc46-62713ec82fae" include("../curandommatrices/src/CuRandomMatrices.jl")
@init @require CuArrays = "3a865a2d-5b23-5a0f-bc46-62713ec82fae" using ..CuRandomMatrices
@init @require CuArrays = "3a865a2d-5b23-5a0f-bc46-62713ec82fae" export curand
include("base.jl")
include("randomqobjects.jl")
include("gates.jl")
include("utils.jl")
include("channels.jl")
include("functionals.jl")
include("reshuffle.jl")
include("ptrace.jl")
include("ptranspose.jl")
include("convex.jl")
include("matrixbases.jl")
end # module