Refactor Ansatz
to traits
#102
Triggered via pull request
September 22, 2023 16:46
Status
Success
Total duration
18m 44s
Artifacts
–
Annotations
10 warnings
Documenter:
../../../.julia/packages/Documenter/Meee1/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 =
UndefKeywordError: keyword argument `n` not assigned
Stacktrace:
[1] rand(A::Type{MPS{Open}}; kwargs::Base.Pairs{Symbol, Int64, Tuple{Symbol, Symbol, Symbol}, NamedTuple{(:n, :p, :χ), Tuple{Int64, Int64, Int64}}})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:303
[2] top-level scope
@ ad-tn.md:17
[3] eval
@ ./boot.jl:370 [inlined]
[4] #54
@ ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:738 [inlined]
[5] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[6] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:737
[7] (::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
[8] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[9] with_logger
@ ./logging.jl:626 [inlined]
[10] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[11] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/Meee1/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/Meee1/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/Meee1/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/Meee1/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/Meee1/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::TensorNetwork{Quantum}, !Matched::Val{in})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:62
inds(!Matched::TensorNetwork{Quantum}, !Matched::Val{:out})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:56
inds(!Matched::TensorNetwork{Quantum}, !Matched::Val{:plug}, !Matched::Any)
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:55
...
Stacktrace:
[1] (::Tenet.var"#70#74")(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:41
[2] BottomRF
@ ./reduce.jl:81 [inlined]
[3] _foldl_impl
@ ./reduce.jl:58 [inlined]
[4] foldl_impl(op::Base.BottomRF{Tenet.var"#70#74"}, 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{Domain})(tensors::Quac.Circuit; attr::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/TensorNetwork.jl:40
[13] (TensorNetwork{Domain})(tensors::Quac.Circuit)
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/TensorNetwork.jl:39
[14] TensorNetwork(args::Quac.Circuit; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/TensorNetwork.jl:61
[15] TensorNetwork(args::Quac.Circuit)
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/TensorNetwork.jl:61
[16] top-level scope
@ google-rqc.md:45
[17] eval
@ ./boot.jl:370 [inlined]
[18] #54
@ ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:738 [inlined]
[19] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[20] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:737
[21] (::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
[22] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[23] with_logger
@ ./logging.jl:626 [inlined]
[24] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[25] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/Meee1/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/Meee1/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/Meee1/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/Meee1/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/Meee1/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/Meee1/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/Meee1/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/Meee1/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
undefined binding 'plug' in `@docs` block in src/quantum/index.md:9-11
```@docs
plug
```
|
Documenter:
../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
no docs found for 'hcat(::TensorNetwork{Quantum}, ::TensorNetwork{Quantum})' in `@docs` block in src/quantum/index.md:33-35
```@docs
hcat(::TensorNetwork{Quantum}, ::TensorNetwork{Quantum})
```
|
Documenter:
../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
no docs found for 'LinearAlgebra.normalize!(::TensorNetwork{Quantum}, ::Real)' in `@docs` block in src/quantum/index.md:39-42
```@docs
LinearAlgebra.norm(::TensorNetwork{Quantum}, p::Real)
LinearAlgebra.normalize!(::TensorNetwork{Quantum}, ::Real)
```
|
Documenter:
../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
failed to run `@example` block in src/quantum/mps.md:18-31
```@example viz
fig = Figure() # hide
tn_open = rand(MatrixProduct{State,Open}, n=10, χ=4) # hide
tn_periodic = rand(MatrixProduct{State,Periodic}, n=10, χ=4) # hide
plot!(fig[1,1], tn_open, layout=Spring(iterations=1000, C=0.5, seed=100)) # hide
plot!(fig[1,2], tn_periodic, layout=Spring(iterations=1000, C=0.5, seed=100)) # hide
Label(fig[1,1, Bottom()], "Open") # hide
Label(fig[1,2, Bottom()], "Periodic") # hide
fig # hide
```
exception =
UndefKeywordError: keyword argument `n` not assigned
Stacktrace:
[1] rand(A::Type{MPS{Open}}; kwargs::Base.Pairs{Symbol, Int64, Tuple{Symbol, Symbol}, NamedTuple{(:n, :χ), Tuple{Int64, Int64}}})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:303
[2] top-level scope
@ mps.md:21
[3] eval
@ ./boot.jl:370 [inlined]
[4] #54
@ ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:738 [inlined]
[5] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[6] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:737
[7] (::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
[8] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[9] with_logger
@ ./logging.jl:626 [inlined]
[10] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[11] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:736
|
Documenter:
../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
failed to run `@example` block in src/quantum/mps.md:38-51
```@example viz
fig = Figure() # hide
tn_open = rand(MatrixProduct{Operator,Open}, n=10, χ=4) # hide
tn_periodic = rand(MatrixProduct{Operator,Periodic}, n=10, χ=4) # hide
plot!(fig[1,1], tn_open, layout=Spring(iterations=1000, C=0.5, seed=100)) # hide
plot!(fig[1,2], tn_periodic, layout=Spring(iterations=1000, C=0.5, seed=100)) # hide
Label(fig[1,1, Bottom()], "Open") # hide
Label(fig[1,2, Bottom()], "Periodic") # hide
fig # hide
```
exception =
UndefKeywordError: keyword argument `n` not assigned
Stacktrace:
[1] rand(A::Type{MPO{Open}}; kwargs::Base.Pairs{Symbol, Int64, Tuple{Symbol, Symbol}, NamedTuple{(:n, :χ), Tuple{Int64, Int64}}})
@ Tenet ~/work/Tenet.jl/Tenet.jl/src/Quantum/Quantum.jl:303
[2] top-level scope
@ mps.md:41
[3] eval
@ ./boot.jl:370 [inlined]
[4] #54
@ ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:738 [inlined]
[5] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[6] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:737
[7] (::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
[8] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[9] with_logger
@ ./logging.jl:626 [inlined]
[10] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool)
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116
[11] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/Meee1/src/expander_pipeline.jl:736
|