Skip to content

Refactor TensorNetwork to class-based OOP organization #106

Refactor TensorNetwork to class-based OOP organization

Refactor TensorNetwork to class-based OOP organization #106

Triggered via pull request October 6, 2023 23:58
@mofeingmofeing
synchronize #103
refactor/oop
Status Failure
Total duration 15m 38s
Artifacts

Documenter.yml

on: pull_request
Fit to window
Zoom out
Zoom in

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 ```