Skip to content

Commit

Permalink
build based on d5232da
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Dec 26, 2023
1 parent a8d65b9 commit 237479c
Show file tree
Hide file tree
Showing 7 changed files with 312 additions and 312 deletions.
442 changes: 221 additions & 221 deletions dev/generated/examples/multilevel_transmon/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/generated/man/problem_templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
& \quad |\ddot{a}_t| \leq \ddot{a}_{\text{bound}} \\
& \quad \Delta t_{\text{min}} \leq \Delta t_t \leq \Delta t_{\text{max}} \\
\end{aligned}\]</p><p>where, for <span>$U \in SU(N)$</span>,</p><p class="math-container">\[\ell\qty(\vec{\tilde{U}}_T, \vec{\tilde{U}}_{\text{goal}}) =
\abs{1 - \frac{1}{N} \abs{ \tr \qty(U_{\text{goal}}, U_T)} }\]</p><p>is the <em>infidelity</em> objective function, <span>$Q$</span> is a weight, <span>$R_a$</span>, <span>$R_{\dot{a}}$</span>, and <span>$R_{\ddot{a}}$</span> are weights on the regularization terms, and <span>$\vb{P}^{(n)}$</span> is the <span>$n$</span>th-order Pade integrator.</p><p><strong>Arguments</strong></p><ul><li><code>H_drift::AbstractMatrix{&lt;:Number}</code>: the drift hamiltonian</li><li><code>H_drives::Vector{&lt;:AbstractMatrix{&lt;:Number}}</code>: the control hamiltonians</li></ul><p>or</p><ul><li><code>system::QuantumSystem</code>: the system to be controlled</li></ul><p>with</p><ul><li><code>U_goal::AbstractMatrix{&lt;:Number}</code>: the target unitary</li><li><code>T::Int</code>: the number of timesteps</li><li><code>Δt::Float64</code>: the (initial) time step size</li></ul><p><strong>Keyword Arguments</strong></p><ul><li><code>free_time::Bool=true</code>: whether or not to allow the time steps to vary</li><li><code>init_trajectory::Union{NamedTrajectory, Nothing}=nothing</code>: an initial trajectory to use</li><li><code>a_bound::Float64=1.0</code>: the bound on the control pulse</li><li><code>a_bounds::Vector{Float64}=fill(a_bound, length(system.G_drives))</code>: the bounds on the control pulses, one for each drive</li><li><code>a_guess::Union{Matrix{Float64}, Nothing}=nothing</code>: an initial guess for the control pulses</li><li><code>dda_bound::Float64=1.0</code>: the bound on the control pulse derivative</li><li><code>dda_bounds::Vector{Float64}=fill(dda_bound, length(system.G_drives))</code>: the bounds on the control pulse derivatives, one for each drive</li><li><code>Δt_min::Float64=0.5 * Δt</code>: the minimum time step size</li><li><code>Δt_max::Float64=1.5 * Δt</code>: the maximum time step size</li><li><code>drive_derivative_σ::Float64=0.01</code>: the standard deviation of the initial guess for the control pulse derivatives</li><li><code>Q::Float64=100.0</code>: the weight on the infidelity objective</li><li><code>R=1e-2</code>: the weight on the regularization terms</li><li><code>R_a::Union{Float64, Vector{Float64}}=R</code>: the weight on the regularization term for the control pulses</li><li><code>R_da::Union{Float64, Vector{Float64}}=R</code>: the weight on the regularization term for the control pulse derivatives</li><li><code>R_dda::Union{Float64, Vector{Float64}}=R</code>: the weight on the regularization term for the control pulse second derivatives</li><li><code>leakage_suppression::Bool=false</code>: whether or not to suppress leakage to higher energy states</li><li><code>leakage_indices::Union{Nothing, Vector{Int}}=nothing</code>: the indices of <span>$\vec{\tilde{U}}$</span> corresponding leakage operators that should be suppressed</li><li><code>system_levels::Union{Nothing, Vector{Int}}=nothing</code>: the number of levels in each subsystem</li><li><code>R_leakage=1e-1</code>: the weight on the leakage suppression term</li><li><code>max_iter::Int=1000</code>: the maximum number of iterations for the solver</li><li><code>linear_solver::String=&quot;mumps&quot;</code>: the linear solver to use</li><li><code>ipopt_options::Options=Options()</code>: the options for the Ipopt solver</li><li><code>constraints::Vector{&lt;:AbstractConstraint}=AbstractConstraint[]</code>: additional constraints to add to the problem</li><li><code>timesteps_all_equal::Bool=true</code>: whether or not to enforce that all time steps are equal</li><li><code>verbose::Bool=false</code>: whether or not to print constructor output</li><li><code>U_init::Union{AbstractMatrix{&lt;:Number},Nothing}=nothing</code>: an initial guess for the unitary</li><li><code>integrator=Integrators.fourth_order_pade</code>: the integrator to use for the unitary</li><li><code>geodesic=true</code>: whether or not to use the geodesic as the initial guess for the unitary</li><li><code>pade_order=4</code>: the order of the Pade approximation to use for the unitary integrator</li><li><code>autodiff=pade_order != 4</code>: whether or not to use automatic differentiation for the unitary integrator</li><li><code>subspace=nothing</code>: the subspace to use for the unitary integrator</li><li><code>jacobian_structure=true</code>: whether or not to use the jacobian structure</li><li><code>hessian_approximation=false</code>: whether or not to use L-BFGS hessian approximation in Ipopt</li><li><code>blas_multithreading=true</code>: whether or not to use multithreading in BLAS</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/aarontrowbridge/QuantumCollocation.jl/blob/4badf05e57db9cd89d402b22e37fc54bb212e776/src/problem_templates.jl#L29-L103">source</a></section></article><h2 id="Unitary-Minimum-Time-Problem"><a class="docs-heading-anchor" href="#Unitary-Minimum-Time-Problem">Unitary Minimum Time Problem</a><a id="Unitary-Minimum-Time-Problem-1"></a><a class="docs-heading-anchor-permalink" href="#Unitary-Minimum-Time-Problem" title="Permalink"></a></h2><hr/><p><em>This page was generated using <a href="https://github.com/fredrikekre/Literate.jl">Literate.jl</a>.</em></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../quickstart/">« Quickstart Guide</a><a class="docs-footer-nextpage" href="../utils/">Utilities »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.24 on <span class="colophon-date" title="Tuesday 19 December 2023 04:05">Tuesday 19 December 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
\abs{1 - \frac{1}{N} \abs{ \tr \qty(U_{\text{goal}}, U_T)} }\]</p><p>is the <em>infidelity</em> objective function, <span>$Q$</span> is a weight, <span>$R_a$</span>, <span>$R_{\dot{a}}$</span>, and <span>$R_{\ddot{a}}$</span> are weights on the regularization terms, and <span>$\vb{P}^{(n)}$</span> is the <span>$n$</span>th-order Pade integrator.</p><p><strong>Arguments</strong></p><ul><li><code>H_drift::AbstractMatrix{&lt;:Number}</code>: the drift hamiltonian</li><li><code>H_drives::Vector{&lt;:AbstractMatrix{&lt;:Number}}</code>: the control hamiltonians</li></ul><p>or</p><ul><li><code>system::QuantumSystem</code>: the system to be controlled</li></ul><p>with</p><ul><li><code>U_goal::AbstractMatrix{&lt;:Number}</code>: the target unitary</li><li><code>T::Int</code>: the number of timesteps</li><li><code>Δt::Float64</code>: the (initial) time step size</li></ul><p><strong>Keyword Arguments</strong></p><ul><li><code>free_time::Bool=true</code>: whether or not to allow the time steps to vary</li><li><code>init_trajectory::Union{NamedTrajectory, Nothing}=nothing</code>: an initial trajectory to use</li><li><code>a_bound::Float64=1.0</code>: the bound on the control pulse</li><li><code>a_bounds::Vector{Float64}=fill(a_bound, length(system.G_drives))</code>: the bounds on the control pulses, one for each drive</li><li><code>a_guess::Union{Matrix{Float64}, Nothing}=nothing</code>: an initial guess for the control pulses</li><li><code>dda_bound::Float64=1.0</code>: the bound on the control pulse derivative</li><li><code>dda_bounds::Vector{Float64}=fill(dda_bound, length(system.G_drives))</code>: the bounds on the control pulse derivatives, one for each drive</li><li><code>Δt_min::Float64=0.5 * Δt</code>: the minimum time step size</li><li><code>Δt_max::Float64=1.5 * Δt</code>: the maximum time step size</li><li><code>drive_derivative_σ::Float64=0.01</code>: the standard deviation of the initial guess for the control pulse derivatives</li><li><code>Q::Float64=100.0</code>: the weight on the infidelity objective</li><li><code>R=1e-2</code>: the weight on the regularization terms</li><li><code>R_a::Union{Float64, Vector{Float64}}=R</code>: the weight on the regularization term for the control pulses</li><li><code>R_da::Union{Float64, Vector{Float64}}=R</code>: the weight on the regularization term for the control pulse derivatives</li><li><code>R_dda::Union{Float64, Vector{Float64}}=R</code>: the weight on the regularization term for the control pulse second derivatives</li><li><code>leakage_suppression::Bool=false</code>: whether or not to suppress leakage to higher energy states</li><li><code>leakage_indices::Union{Nothing, Vector{Int}}=nothing</code>: the indices of <span>$\vec{\tilde{U}}$</span> corresponding leakage operators that should be suppressed</li><li><code>system_levels::Union{Nothing, Vector{Int}}=nothing</code>: the number of levels in each subsystem</li><li><code>R_leakage=1e-1</code>: the weight on the leakage suppression term</li><li><code>max_iter::Int=1000</code>: the maximum number of iterations for the solver</li><li><code>linear_solver::String=&quot;mumps&quot;</code>: the linear solver to use</li><li><code>ipopt_options::Options=Options()</code>: the options for the Ipopt solver</li><li><code>constraints::Vector{&lt;:AbstractConstraint}=AbstractConstraint[]</code>: additional constraints to add to the problem</li><li><code>timesteps_all_equal::Bool=true</code>: whether or not to enforce that all time steps are equal</li><li><code>verbose::Bool=false</code>: whether or not to print constructor output</li><li><code>U_init::Union{AbstractMatrix{&lt;:Number},Nothing}=nothing</code>: an initial guess for the unitary</li><li><code>integrator=Integrators.fourth_order_pade</code>: the integrator to use for the unitary</li><li><code>geodesic=true</code>: whether or not to use the geodesic as the initial guess for the unitary</li><li><code>pade_order=4</code>: the order of the Pade approximation to use for the unitary integrator</li><li><code>autodiff=pade_order != 4</code>: whether or not to use automatic differentiation for the unitary integrator</li><li><code>subspace=nothing</code>: the subspace to use for the unitary integrator</li><li><code>jacobian_structure=true</code>: whether or not to use the jacobian structure</li><li><code>hessian_approximation=false</code>: whether or not to use L-BFGS hessian approximation in Ipopt</li><li><code>blas_multithreading=true</code>: whether or not to use multithreading in BLAS</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/aarontrowbridge/QuantumCollocation.jl/blob/d5232da2fd4792d231460be9f48ddc4793778a88/src/problem_templates.jl#L29-L103">source</a></section></article><h2 id="Unitary-Minimum-Time-Problem"><a class="docs-heading-anchor" href="#Unitary-Minimum-Time-Problem">Unitary Minimum Time Problem</a><a id="Unitary-Minimum-Time-Problem-1"></a><a class="docs-heading-anchor-permalink" href="#Unitary-Minimum-Time-Problem" title="Permalink"></a></h2><hr/><p><em>This page was generated using <a href="https://github.com/fredrikekre/Literate.jl">Literate.jl</a>.</em></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../quickstart/">« Quickstart Guide</a><a class="docs-footer-nextpage" href="../utils/">Utilities »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.24 on <span class="colophon-date" title="Tuesday 26 December 2023 23:40">Tuesday 26 December 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 237479c

Please sign in to comment.