QuantumStateTransfer.jl – Public API
Documentation for QuantumStateTransfer's public API.
The following documentation covers only the public API of the package. For internal details, see the private API documentation.
QuantumStateTransfer.QuantumStateTransfer — ModuleQuantumStateTransferA Julia toolbox for modeling state transfer on quantum networks.
QuantumStateTransfer.check_state_mixing — Methodcheck_state_mixing(g::AbstractGraph, args...) -> StateMixingRecognitionResult
check_state_mixing(A::AbstractMatrix{<:Real}, args...) -> StateMixingRecognitionResult[TODO: Write here]
Arguments
[TODO: Write here]
Optional Arguments
[TODO: Write here]
Raises
[TODO: Write here]
Returns
[TODO: Write here]
Examples
[TODO: Write here]
Notes
[TODO: Refer to mixing_uniformity_deriv_bound for proof sketch of bounds]
QuantumStateTransfer.check_state_transfer — Methodcheck_state_transfer(g::AbstractGraph, args...) -> StateTransferRecognitionResult
check_state_transfer(A::AbstractMatrix{<:Real}, args...) -> StateTransferRecognitionResult[TODO: Write here]
Arguments
[TODO: Write here]
Optional Arguments
[TODO: Write here]
Raises
[TODO: Write here]
Returns
[TODO: Write here]
Examples
[TODO: Write here]
Notes
[TODO: Refer to transfer_fidelity_deriv_bound for proof sketch of bounds]
QuantumStateTransfer.maximize_state_mixing — Methodmaximize_state_mixing(g::AbstractGraph, args...) -> StateMixingMaximizationResult
maximize_state_mixing(A::AbstractMatrix{<:Real}, args...) -> StateMixingMaximizationResult[TODO: Write here]
Arguments
[TODO: Write here]
Optional Arguments
[TODO: Write here]
Raises
[TODO: Write here]
Returns
[TODO: Write here]
Examples
[TODO: Write here]
Notes
[TODO: Refer to mixing_uniformity_deriv_bound for proof sketch of bounds]
QuantumStateTransfer.maximize_state_transfer — Methodmaximize_state_transfer(g::AbstractGraph, args...) -> StateTransferMaximizationResult
maximize_state_transfer(A::AbstractMatrix{<:Real}, args...) -> StateTransferMaximizationResult[TODO: Write here]
Arguments
[TODO: Write here]
Optional Arguments
[TODO: Write here]
Raises
[TODO: Write here]
Returns
[TODO: Write here]
Examples
[TODO: Write here]
Notes
[TODO: Refer to transfer_fidelity_deriv_bound for proof sketch of bounds]
QuantumStateTransfer.EpsilonOptimization — ModuleEpsilonOptimizationOptimization algorithms with guaranteed finite $ϵ$-convergence to the true global minimum of $ℝⁿ → ℝ$ functions over hyperrectangular domains.
QuantumStateTransfer.EpsilonOptimization.AbstractEpsilonSolver — TypeAbstractEpsilonSolverAbstract base type for all $ϵ$-optimization solvers.
Interface
Concrete subtypes of AbstractEpsilonSolver must implement the following methods:
Base.summary(::T) where {T<:AbstractAlgorithm}: returns aStringindicating the name of the algorithm (e.g.,"Lipschitz branch-and-bound").
Concrete subtypes of AbstractEpsilonSolver must also have the following fields:
epsilon::Real: The tolerance for $ϵ$-convergence.target::Union{<:Real,Nothing}: An optional threshold value resulting in termination once either (1) a function value less thantarget + epsilonis found or (2) it is determined that no function value less than or equal totargetexists.max_iterations::Union{<:Integer,Nothing}: An optional maximum number of iterations after which the algorithm will terminate.
QuantumStateTransfer.EpsilonOptimization.AlphaBranchAndBound — TypeAlphaBranchAndBound <: AbstractEpsilonSolver[TODO: Write here]
QuantumStateTransfer.EpsilonOptimization.EpsilonMinimizationResult — TypeEpsilonMinimizationResult{Tx,Tf}Output struct for $ϵ$-optimization results.
Fields
algorithm::AbstractEpsilonSolver: The algorithm used for the optimization.lower::Tx<:AbstractVector{<:Real}}: The lower bounds of the hyperrectangular domain.upper::Tx<:AbstractVector{<:Real}}: The upper bounds of the hyperrectangular domain.epsilon::Real: The tolerance provided for $ϵ$-convergence.minimizer::Tx<:AbstractVector{<:Real}}: The estimated location of the global minimizer.minimum::Tf<:Real: The estimated global minimum function value.stopped_by::NamedTuple: The reason(s) for termination, namely::epsilon_optimal::Bool: Whether $ϵ$-optimality was achieved.:target_reached::Bool: Whether ta function value less thantarget + epsilonwas found for some optionally providedtarget.:target_unreachable::Bool: Whether it was determined that no function value less than or equal totargetexisted for some optionally providedtarget.:iterations::Bool: Whether termination occurred due to reaching the maximum number of iterations for some optionally providedmax_iterations.
QuantumStateTransfer.EpsilonOptimization.LipschitzBranchAndBound — TypeLipschitzBranchAndBound <: AbstractEpsilonSolver[TODO: Write here]
QuantumStateTransfer.EpsilonOptimization.epsilon_minimize — Methodepsilon_minimize(f, lower, upper, solver)Converge to within an arbitrary $ϵ$ of the true global minimum of an $ℝⁿ → ℝ$ function f over the hyperrectangular domain defined by the bounds lower and upper, using the specified $ϵ$-optimization solver.
Arguments
f::Function: The objective function to be minimized. Must map fromℝⁿ → ℝ.lower::Tx<:AbstractVector{<:Real}: The lower bounds of the hyperrectangular domain.upper::Tx<:AbstractVector{<:Real}: The upper bounds of the hyperrectangular domain.solver::AbstractEpsilonSolver: The $ϵ$-optimization solver to use.
Returns
::EpsilonMinimizationResult{Tx,<:Real}}: The result of the $ϵ$-optimization.
Examples
[TODO: Write here]