From 2ca2b6c2d54c7dbaa3e731cb8c8e8e41da19b781 Mon Sep 17 00:00:00 2001 From: Michael Goerz Date: Mon, 2 Sep 2024 14:56:47 -0400 Subject: [PATCH] Remove QuantumControlBase --- Project.toml | 4 ++-- docs/make.jl | 2 +- docs/src/externals.md | 2 +- src/optimize.jl | 22 +++++++++++----------- src/result.jl | 4 ++-- src/workspace.jl | 12 ++++++------ test/Project.toml | 1 - 7 files changed, 23 insertions(+), 24 deletions(-) diff --git a/Project.toml b/Project.toml index 710965c..70912a4 100644 --- a/Project.toml +++ b/Project.toml @@ -8,7 +8,7 @@ Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" ConcreteStructs = "2569d6c7-a4a2-43d3-a901-331e8e4be471" -QuantumControlBase = "f10a33bc-5a64-497c-be7b-6f86b4f0c2aa" +QuantumControl = "8a270532-f23f-47a8-83a9-b33d10cad486" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] @@ -16,6 +16,6 @@ Dates = "1" LinearAlgebra = "1" Printf = "1" ConcreteStructs = "0.2" -QuantumControlBase = ">=0.10.0" +QuantumControl = ">=0.10.0" SparseArrays = "1" julia = "1.9" diff --git a/docs/make.jl b/docs/make.jl index dcb1bda..89c51ef 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,4 +1,4 @@ -using QuantumControlBase +using QuantumControl using QuantumPropagators using Krotov using Documenter diff --git a/docs/src/externals.md b/docs/src/externals.md index cd0ffc0..40bdb2b 100644 --- a/docs/src/externals.md +++ b/docs/src/externals.md @@ -1,5 +1,5 @@ ```@autodocs -Modules = [QuantumControlBase] +Modules = [QuantumControl] ``` ```@autodocs diff --git a/src/optimize.jl b/src/optimize.jl index 6f8fe9d..e1f65e0 100644 --- a/src/optimize.jl +++ b/src/optimize.jl @@ -1,16 +1,16 @@ -using QuantumControlBase.QuantumPropagators.Generators: Operator -using QuantumControlBase.QuantumPropagators.Controls: discretize, evaluate -using QuantumControlBase.QuantumPropagators.Interfaces: supports_inplace -using QuantumControlBase.QuantumPropagators: prop_step!, reinit_prop!, propagate -using QuantumControlBase.QuantumPropagators.Storage: +using QuantumControl.QuantumPropagators.Generators: Operator +using QuantumControl.QuantumPropagators.Controls: discretize, evaluate +using QuantumControl.QuantumPropagators.Interfaces: supports_inplace +using QuantumControl.QuantumPropagators: prop_step!, reinit_prop!, propagate +using QuantumControl.QuantumPropagators.Storage: write_to_storage!, get_from_storage!, get_from_storage -using QuantumControlBase: make_chi, set_atexit_save_optimization -using QuantumControlBase: taus! -using QuantumControlBase: @threadsif, Trajectory +using QuantumControl.Functionals: make_chi, taus! +using QuantumControl: set_atexit_save_optimization +using QuantumControl: @threadsif, Trajectory using LinearAlgebra using Printf -import QuantumControlBase: optimize, make_print_iters +import QuantumControl: optimize, make_print_iters @doc raw""" ```julia @@ -18,7 +18,7 @@ using Krotov result = optimize(problem; method=Krotov, kwargs...) ``` -optimizes the given control [`problem`](@ref QuantumControlBase.ControlProblem) +optimizes the given control [`problem`](@ref QuantumControl.ControlProblem) using Krotov's method, returning a [`KrotovResult`](@ref). Keyword arguments that control the optimization are taken from the keyword @@ -50,7 +50,7 @@ The following keyword arguments are supported (with default values): * `pulse_options`: A dictionary that maps every control (as obtained by [`get_controls`](@ref - QuantumControlBase.QuantumPropagators.Controls.get_controls) from the + QuantumControl.QuantumPropagators.Controls.get_controls) from the `problem.trajectories`) to the following dict: - `:lambda_a`: The value for inverse Krotov step width λₐ. diff --git a/src/result.jl b/src/result.jl index 1287a7e..c449ab0 100644 --- a/src/result.jl +++ b/src/result.jl @@ -1,4 +1,4 @@ -using QuantumControlBase.QuantumPropagators.Controls: get_controls, discretize +using QuantumControl.QuantumPropagators.Controls: get_controls, discretize using Printf using Dates @@ -28,7 +28,7 @@ The attributes of a `KrotovResult` object include set by a `check_convergence` function. All of the above attributes may be referenced in a `check_convergence` function -passed to [`optimize(problem; method=Krotov)`](@ref QuantumControlBase.optimize(::ControlProblem, ::Val{:Krotov})) +passed to [`optimize(problem; method=Krotov)`](@ref QuantumControl.optimize(::ControlProblem, ::Val{:Krotov})) """ mutable struct KrotovResult{STST} tlist::Vector{Float64} diff --git a/src/workspace.jl b/src/workspace.jl index c6b650d..f91c0d3 100644 --- a/src/workspace.jl +++ b/src/workspace.jl @@ -1,8 +1,8 @@ -import QuantumControlBase -using QuantumControlBase: get_control_derivs -using QuantumControlBase.QuantumPropagators.Controls: get_controls, discretize_on_midpoints -using QuantumControlBase: init_prop_trajectory -using QuantumControlBase.QuantumPropagators.Storage: init_storage +import QuantumControl +using QuantumControl.Controls: get_control_derivs +using QuantumControl.QuantumPropagators.Controls: get_controls, discretize_on_midpoints +using QuantumControl: init_prop_trajectory +using QuantumControl.QuantumPropagators.Storage: init_storage using ConcreteStructs: @concrete """Krotov workspace. @@ -60,7 +60,7 @@ mutable struct KrotovWrk end -function KrotovWrk(problem::QuantumControlBase.ControlProblem; verbose=false) +function KrotovWrk(problem::QuantumControl.ControlProblem; verbose=false) use_threads = get(problem.kwargs, :use_threads, false) trajectories = [traj for traj in problem.trajectories] adjoint_trajectories = [adjoint(traj) for traj in problem.trajectories] diff --git a/test/Project.toml b/test/Project.toml index 5ed1bed..21adda8 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -19,7 +19,6 @@ LocalCoverage = "5f6e1e16-694c-5876-87ef-16b5274f298e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" QuantumControl = "8a270532-f23f-47a8-83a9-b33d10cad486" -QuantumControlBase = "f10a33bc-5a64-497c-be7b-6f86b4f0c2aa" QuantumControlTestUtils = "d3fd27c9-1dfb-4e67-b0c0-90d0d87a1e48" QuantumGradientGenerators = "a563f35e-61db-434d-8c01-8b9e3ccdfd85" QuantumPropagators = "7bf12567-5742-4b91-a078-644e72a65fc1"