Refactor TensorNetwork
to class-based OOP organization
#106
Annotations
1 error and 6 warnings
Documenter
Process completed with exit code 1.
|
Documenter:
../../../.julia/packages/Documenter/9kOxY/src/utilities/utilities.jl#L46
failed to run `@example` block in src/examples/ad-tn.md:10-25
```@example autodiff
using Tenet
using Zygote
using Random: seed! # hide
rng = seed!(4) # hide
ψ = rand(MPS{Open}, n = 4, p = 2, χ = 2)
ϕ = rand(MPS{Open}, n = 4, p = 2, χ = 4)
ψ = rand(rng, MPS{Open}, n = 4, p = 2, χ = 2) # hide
ϕ = rand(rng, MPS{Open}, n = 4, p = 2, χ = 4) # hide
tn = hcat(ψ, ϕ)
plot(tn) # hide
```
exception =
UndefVarError: `MPS` not defined
Stacktrace:
[1] top-level scope
@ ad-tn.md:17
[2] eval
@ ./boot.jl:370 [inlined]
[3] #54
@ ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:738 [inlined]
[4] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:737
[6] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/9kOxY/src/utilities/utilities.jl#L46
failed to run `@example` block in src/examples/ad-tn.md:44-69
```@example autodiff
η = 0.01
@time losses = map(1:200) do it
# compute gradient
loss, ∇ = withgradient(Params(arrays(ψ))) do
((contract(tn) |> first) - 1)^2
end
# direct gradient descent
for array in arrays(ψ)
array .-= η * ∇[array]
end
# normalize state
normalize!(ψ)
return loss
end
f = Figure() # hide
ax = Axis(f[1, 1], yscale = log10, xscale = identity, xlabel="Iterations") # hide
lines!(losses, label="Loss") # hide
lines!(map(x -> 1 - sqrt(x), losses), label="Overlap") # hide
f[1,2] = Legend(f, ax, framevisible=false) # hide
f # hide
```
exception =
UndefVarError: `ψ` not defined
Stacktrace:
[1] (::Main.__atexample__named__autodiff.var"#1#3")(it::Int64)
@ Main.__atexample__named__autodiff ./ad-tn.md:48
[2] iterate
@ ./generator.jl:47 [inlined]
[3] _collect(c::UnitRange{Int64}, itr::Base.Generator{UnitRange{Int64}, Main.__atexample__named__autodiff.var"#1#3"}, #unused#::Base.EltypeUnknown, isz::Base.HasShape{1})
@ Base ./array.jl:802
[4] collect_similar(cont::UnitRange{Int64}, itr::Base.Generator{UnitRange{Int64}, Main.__atexample__named__autodiff.var"#1#3"})
@ Base ./array.jl:711
[5] map(f::Function, A::UnitRange{Int64})
@ Base ./abstractarray.jl:3263
[6] top-level scope
@ ./timing.jl:273
[7] eval
@ ./boot.jl:370 [inlined]
[8] #54
@ ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:738 [inlined]
[9] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[10] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:737
[11] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119
[12] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[13] with_logger
@ ./logging.jl:626 [inlined]
[14] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[15] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/9kOxY/src/utilities/utilities.jl#L46
failed to run `@example` block in src/examples/google-rqc.md:37-48
```@example circuit
using QuacIO
using Tenet
_sites = [5, 6, 14, 15, 16, 17, 24, 25, 26, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 72, 73, 74, 75, 76, 83, 84, 85, 94];
# load circuit and convert to `TensorNetwork`
circuit = QuacIO.parse(joinpath(@__DIR__, "sycamore_53_10_0.qasm"), format = QuacIO.Qflex(), sites = _sites);
tn = TensorNetwork(circuit)
tn = view(tn, [i => 1 for i in inds(tn, set=:open)]...)
plot(tn) # hide
```
exception =
MethodError: no method matching inds(::Quac.Gate{Quac.Hz, 1, NamedTuple{(:θ, :ϕ), Tuple{Float64, Float64}}})
Closest candidates are:
inds(!Matched::Tensor)
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Tensor.jl:25
inds(!Matched::Tenet.AbstractQuantumTensorNetwork, !Matched::Val{:virtual})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:21
inds(!Matched::Tenet.AbstractQuantumTensorNetwork, !Matched::Val{:physical})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:20
...
Stacktrace:
[1] (::Tenet.var"#65#68")(dict::Dict{Symbol, Vector{Int64}}, ::Tuple{Int64, Quac.Gate{Quac.Hz, 1, NamedTuple{(:θ, :ϕ), Tuple{Float64, Float64}}}})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/TensorNetwork.jl:22
[2] BottomRF
@ ./reduce.jl:81 [inlined]
[3] _foldl_impl
@ ./reduce.jl:58 [inlined]
[4] foldl_impl(op::Base.BottomRF{Tenet.var"#65#68"}, nt::Dict{Symbol, Vector{Int64}}, itr::Base.Iterators.Enumerate{Quac.Circuit})
@ Base ./reduce.jl:48
[5] mapfoldl_impl
@ ./reduce.jl:44 [inlined]
[6] #mapfoldl#288
@ ./reduce.jl:170 [inlined]
[7] mapfoldl
@ ./reduce.jl:170 [inlined]
[8] #mapreduce#292
@ ./reduce.jl:302 [inlined]
[9] mapreduce
@ ./reduce.jl:302 [inlined]
[10] #reduce#294
@ ./reduce.jl:485 [inlined]
[11] reduce
@ ./reduce.jl:485 [inlined]
[12] TensorNetwork(tensors::Quac.Circuit)
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/TensorNetwork.jl:21
[13] top-level scope
@ google-rqc.md:45
[14] eval
@ ./boot.jl:370 [inlined]
[15] #54
@ ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:738 [inlined]
[16] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[17] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:737
[18] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119
[19] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[20] with_logger
@ ./logging.jl:626 [inlined]
[21] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[22] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/9kOxY/src/utilities/utilities.jl#L46
failed to run `@example` block in src/examples/google-rqc.md:52-56
```@example circuit
# simplify Tensor Network by preemptively contracting trivial cases
tn = transform(tn, Tenet.RankSimplification)
plot(tn, layout=Stress()) # hide
```
exception =
UndefVarError: `tn` not defined
Stacktrace:
[1] top-level scope
@ google-rqc.md:54
[2] eval
@ ./boot.jl:370 [inlined]
[3] #54
@ ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:738 [inlined]
[4] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:737
[6] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/9kOxY/src/utilities/utilities.jl#L46
failed to run `@example` block in src/examples/google-rqc.md:60-64
```@example circuit
using EinExprs
path = einexpr(tn, optimizer = Greedy)
plot(path, layout=Stress()) # hide
```
exception =
UndefVarError: `tn` not defined
Stacktrace:
[1] top-level scope
@ google-rqc.md:62
[2] eval
@ ./boot.jl:370 [inlined]
[3] #54
@ ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:738 [inlined]
[4] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:737
[6] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/9kOxY/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/9kOxY/src/utilities/utilities.jl#L46
undefined binding 'Quantum' in `@docs` block in src/quantum/index.md:3-5
```@docs
Quantum
```
|