QuantumStateTransfer.jl – Public API

Documentation for QuantumStateTransfer's public API.

Note

The following documentation covers only the public API of the package. For internal details, see the private API documentation.

QuantumStateTransfer.check_state_mixingMethod
check_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]

source
QuantumStateTransfer.check_state_transferMethod
check_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]

source
QuantumStateTransfer.maximize_state_mixingMethod
maximize_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]

source
QuantumStateTransfer.maximize_state_transferMethod
maximize_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]

source
QuantumStateTransfer.EpsilonOptimization.AbstractEpsilonSolverType
AbstractEpsilonSolver

Abstract base type for all $ϵ$-optimization solvers.

Interface

Concrete subtypes of AbstractEpsilonSolver must implement the following methods:

  • Base.summary(::T) where {T<:AbstractAlgorithm}: returns a String indicating 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 than target + epsilon is found or (2) it is determined that no function value less than or equal to target exists.
  • max_iterations::Union{<:Integer,Nothing}: An optional maximum number of iterations after which the algorithm will terminate.
source
QuantumStateTransfer.EpsilonOptimization.EpsilonMinimizationResultType
EpsilonMinimizationResult{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 than target + epsilon was found for some optionally provided target.
    • :target_unreachable::Bool: Whether it was determined that no function value less than or equal to target existed for some optionally provided target.
    • :iterations::Bool: Whether termination occurred due to reaching the maximum number of iterations for some optionally provided max_iterations.
source
QuantumStateTransfer.EpsilonOptimization.epsilon_minimizeMethod
epsilon_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]

source

References