GTorlai / PastaQ.jl

Package for Simulation, Tomography and Analysis of Quantum Computers
Apache License 2.0
142 stars 23 forks source link

Update for latest version of SCS #284

Closed mtfishman closed 2 years ago

mtfishman commented 2 years ago

Locally when I run the tests I get the error:

PSD constraint in QST: Error During Test at /home/mfishman/.julia/dev/PastaQ/test/test_fulltomography.jl:73
  Got exception outside of a @test
  MethodError: no method matching SCS.Optimizer(; verbose=false, max_iters=10000)
  Closest candidates are:
    SCS.Optimizer() at ~/.julia/packages/SCS/BoKVK/src/MOI_wrapper/MOI_wrapper.jl:128 got unsupported keyword arguments "verbose", "max_iters"
  Stacktrace:
    [1] (::PastaQ.var"#469#472"{Int64})()
      @ PastaQ ~/.julia/dev/PastaQ/src/tomography/fulltomography.jl:63
    [2] _instantiate_and_check(optimizer_constructor::PastaQ.var"#469#472"{Int64})
      @ MathOptInterface ~/.julia/packages/MathOptInterface/Iu5eI/src/instantiate.jl:64
    [3] instantiate(optimizer_constructor::Function; with_bridge_type::Nothing)
      @ MathOptInterface ~/.julia/packages/MathOptInterface/Iu5eI/src/instantiate.jl:119
    [4] instantiate
      @ ~/.julia/packages/MathOptInterface/Iu5eI/src/instantiate.jl:119 [inlined]
    [5] solve!(problem::Problem{Float64}, optimizer_factory::Function; kwargs::Base.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:verbose,), Tuple{Bool}}})
      @ Convex ~/.julia/packages/Convex/FQF1R/src/solution.jl:269
    [6] tomography(probabilities::Dict{Tuple, Dict{Tuple, Float64}}, sites::Vector{Index{Int64}}; method::String, fillzeros::Bool, process::Bool, trρ::Float64, max_iters::Int64, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
      @ PastaQ ~/.julia/dev/PastaQ/src/tomography/fulltomography.jl:63
    [7] tomography(data::Matrix{Pair{String, Int64}}; method::String, fillzeros::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
      @ PastaQ ~/.julia/dev/PastaQ/src/tomography/quantumtomography.jl:28
    [8] macro expansion
      @ ~/.julia/dev/PastaQ/test/test_fulltomography.jl:88 [inlined]
    [9] macro expansion
      @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
   [10] top-level scope
      @ ~/.julia/dev/PastaQ/test/test_fulltomography.jl:74
   [11] include
      @ ./client.jl:451 [inlined]
   [12] macro expansion
      @ ./timing.jl:220 [inlined]
   [13] macro expansion
      @ ~/.julia/dev/PastaQ/test/runtests.jl:7 [inlined]
   [14] macro expansion
      @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/Test/src/Test.jl:1359 [inlined]
   [15] macro expansion
      @ ~/.julia/dev/PastaQ/test/runtests.jl:4 [inlined]
   [16] macro expansion
      @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
   [17] top-level scope
      @ ~/.julia/dev/PastaQ/test/runtests.jl:4
   [18] include(fname::String)
      @ Base.MainInclude ./client.jl:451
   [19] top-level scope
      @ REPL[2]:1
   [20] eval
      @ ./boot.jl:373 [inlined]
   [21] eval_user_input(ast::Any, backend::REPL.REPLBackend)
      @ REPL /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/REPL/src/REPL.jl:150
   [22] repl_backend_loop(backend::REPL.REPLBackend)
      @ REPL /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/REPL/src/REPL.jl:246
   [23] start_repl_backend(backend::REPL.REPLBackend, consumer::Any)
      @ REPL /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/REPL/src/REPL.jl:231
   [24] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool)
      @ REPL /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/REPL/src/REPL.jl:364
   [25] run_repl(repl::REPL.AbstractREPL, consumer::Any)
      @ REPL /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/REPL/src/REPL.jl:351
   [26] (::Base.var"#930#932"{Bool, Bool, Bool})(REPL::Module)
      @ Base ./client.jl:394
   [27] #invokelatest#2
      @ ./essentials.jl:716 [inlined]
   [28] invokelatest
      @ ./essentials.jl:714 [inlined]
   [29] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
      @ Base ./client.jl:379
   [30] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:309
   [31] _start()
      @ Base ./client.jl:495

with:

(@v1.7) pkg> st SCS
      Status `~/.julia/environments/v1.7/Project.toml`
  [c946c3f1] SCS v1.1.1

Looks like we need to update for the latest syntax.