Two Qubit Gates

In this example we will solve for a selection of two-qubit gates using a simple two-qubit system. We will use the UnitarySmoothPulseProblem template to solve for the optimal control fields.

Defining our Hamiltonian

In quantum optimal control we work with Hamiltonians of the form

\[H(t) = H_{\text{drift}} + \sum_{j} u^j(t) H_{\text{drive}}^j,\]

Specifically, for a simple two-qubit system in a rotating frame, we have

\[H = J_{12} \sigma_1^x \sigma_2^x + \sum_{i \in {1,2}} a_i^R(t) {\sigma^x_i \over 2} + a_i^I(t) {\sigma^y_i \over 2}.\]

where

\[\begin{align*} J_{12} &= 0.001 \text{ GHz}, \\ |a_i^R(t)| &\leq 0.1 \text{ GHz} \\ \end{align*}\]

And the duration of the gate will be capped at $400 \ \mu s$.

Let's now set this up using some of the convenience functions available in QuantumCollocation.jl.

using QuantumCollocation
using PiccoloQuantumObjects
using NamedTrajectories
using LinearAlgebra

using PiccoloPlotsusing CairoMakie

⊗(a, b) = kron(a, b)

# Define our operators
σx = GATES[:X]
σy = GATES[:Y]
Id = GATES[:I]

# Lift the operators to the two-qubit Hilbert space
σx_1 = σx ⊗ Id
σx_2 = Id ⊗ σx

σy_1 = σy ⊗ Id
σy_2 = Id ⊗ σy

# Define the parameters of the Hamiltonian
J_12 = 0.001 # GHz
a_bound = 0.100 # GHz

# Define the drift (coupling) Hamiltonian
H_drift = J_12 * (σx ⊗ σx)

# Define the control Hamiltonians
H_drives = [σx_1 / 2, σy_1 / 2, σx_2 / 2, σy_2 / 2]

# Define control (and higher derivative) bounds
a_bound = 0.1
da_bound = 0.0005
dda_bound = 0.0025

# Scale the Hamiltonians by 2π
H_drift *= 2π
H_drives .*= 2π

# Define the time parameters
T = 100 # timesteps
duration = 100 # μs
Δt = duration / T
Δt_max = 400 / T

# Define the system
sys = QuantumSystem(H_drift, H_drives)
QuantumSystem: levels = 4, n_drives = 4

SWAP gate

# Define the goal operation
U_goal = [
    1 0 0 0;
    0 0 1 0;
    0 1 0 0;
    0 0 0 1
] |> Matrix{ComplexF64}

# Set up the problem
prob = UnitarySmoothPulseProblem(
    sys,
    U_goal,
    T,
    Δt;
    a_bound=a_bound,
    da_bound=da_bound,
    dda_bound=dda_bound,
    R_da=0.01,
    R_dda=0.01,
    Δt_max=Δt_max,
    piccolo_options=PiccoloOptions()
)
fid_init = unitary_rollout_fidelity(prob.trajectory, sys)
println(fid_init)
    constructing UnitarySmoothPulseProblem...
	using integrator: typeof(UnitaryIntegrator)
	control derivative names: [:da, :dda]
	applying timesteps_all_equal constraint: Δt
0.030307866456118812

Solve the problem

solve!(prob; max_iter=100)

# Let's take a look at the final fidelity
fid_final = unitary_rollout_fidelity(prob.trajectory, sys)
println(fid_final)
    initializing optimizer...
        applying constraint: timesteps all equal constraint
        applying constraint: initial value of Ũ⃗
        applying constraint: initial value of a
        applying constraint: final value of a
        applying constraint: bounds on a
        applying constraint: bounds on da
        applying constraint: bounds on dda
        applying constraint: bounds on Δt

******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Eclipse Public License (EPL).
         For more information visit https://github.com/coin-or/Ipopt
******************************************************************************

This is Ipopt version 3.14.17, running with linear solver MUMPS 5.8.0.

Number of nonzeros in equality constraint Jacobian...:   122590
Number of nonzeros in inequality constraint Jacobian.:        0
Number of nonzeros in Lagrangian Hessian.............:    22843

Total number of variables............................:     4460
                     variables with only lower bounds:        0
                variables with lower and upper bounds:     1292
                     variables with only upper bounds:        0
Total number of equality constraints.................:     4059
Total number of inequality constraints...............:        0
        inequality constraints with only lower bounds:        0
   inequality constraints with lower and upper bounds:        0
        inequality constraints with only upper bounds:        0

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
   0  6.7190242e-03 4.31e-01 1.59e+01   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  2.4731785e-02 4.30e-01 1.59e+01  -2.0 5.78e-01   2.0 6.01e-04 5.62e-04f  1
   2  4.3128649e-02 4.30e-01 1.59e+01  -2.1 5.99e-01   1.5 1.58e-03 1.45e-03f  1
   3  1.9253856e-02 4.29e-01 1.58e+01  -1.9 6.33e-01   1.0 2.81e-03 2.05e-03f  1
   4  6.9774321e-01 4.22e-01 8.43e+01  -2.3 6.50e-01   0.6 3.95e-03 1.52e-02f  1
   5  3.4860313e-01 4.22e-01 2.28e+01  -4.0 3.03e+00   1.0 8.96e-04 1.88e-03f  1
   6  3.5277095e-01 4.21e-01 1.28e+02  -1.6 6.11e-01   1.4 1.42e-02 1.71e-03f  1
   7  1.2553229e-01 4.18e-01 1.24e+02  -1.2 7.50e-01   0.9 5.60e-03 6.41e-03f  1
   8  4.3894077e-01 4.14e-01 3.73e+02  -1.3 8.52e-01   0.5 6.73e-02 9.04e-03f  1
   9  7.3324585e+00 4.01e-01 1.34e+02  -0.9 1.50e+00   0.9 1.40e-02 3.14e-02f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  5.3009078e+00 3.90e-01 1.66e+03  -0.9 8.86e-01   0.4 4.73e-01 2.63e-02f  1
  11  5.4704682e+00 3.46e-01 1.55e+03  -0.2 1.01e+00  -0.1 8.50e-02 1.06e-01f  1
  12  4.7213449e+00 3.42e-01 1.32e+03  -4.0 7.09e-01   1.3 3.06e-02 1.05e-02h  1
  13  6.7031202e+00 2.94e-01 5.18e+03   0.4 1.23e+00   0.8 3.01e-01 1.27e-01f  1
  14  9.6502490e+01 2.10e-01 7.19e+03   0.6 2.89e+00   0.3 6.31e-01 2.27e-01f  1
  15  2.6993667e+01 3.88e-01 6.30e+03   0.8 1.21e+00   0.7 1.00e+00 1.00e+00f  1
  16  3.9945375e+01 2.11e-02 3.17e+03   0.7 7.32e-01   1.2 1.00e+00 1.00e+00h  1
  17  7.4020210e+01 2.08e-03 1.70e+03  -0.1 5.56e-01   1.6 9.99e-01 1.00e+00h  1
  18  7.3532897e+01 3.22e-04 9.54e+02  -0.7 4.84e-02   1.1 1.00e+00 1.00e+00f  1
  19  7.1665801e+01 4.16e-04 9.71e+00  -1.5 5.85e-02   0.6 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  6.7186685e+01 2.04e-03 5.99e+00  -1.7 1.29e-01   0.2 1.00e+00 1.00e+00f  1
  21  6.1449780e+01 4.25e-03 6.49e+02  -1.0 1.12e+00  -0.3 1.00e+00 1.30e-01f  1
  22  5.4937047e+01 1.43e-03 1.44e+01  -1.7 1.79e-01   0.1 1.00e+00 1.00e+00f  1
  23  5.2681600e+01 3.38e-04 2.66e+00  -2.5 6.77e-02   0.5 1.00e+00 1.00e+00f  1
  24  4.6056374e+01 2.08e-03 1.33e+01  -2.3 2.08e-01   0.1 1.00e+00 6.82e-01f  1
  25  4.1811797e+01 3.74e-04 3.49e+00  -2.5 7.00e-02   0.5 1.00e+00 1.00e+00f  1
  26  3.3208982e+01 2.11e-03 2.26e+01  -2.3 2.12e-01   0.0 1.00e+00 6.59e-01f  1
  27  2.8647293e+01 4.90e-03 9.29e+02  -0.9 2.89e+00  -0.5 1.00e+00 7.08e-02f  1
  28  3.0657201e+01 8.31e-02 7.65e+02  -0.2 6.95e+00  -0.9 2.09e-01 1.57e-01f  1
  29  3.6874722e+01 3.99e-02 5.36e+02  -0.7 5.58e-01   0.4 7.74e-01 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  7.1049293e+00 5.34e-03 6.94e+02  -0.7 2.21e-01   1.7 1.00e+00 1.00e+00f  1
  31  9.4215729e+00 1.67e-04 1.33e+02  -1.0 3.17e-02   2.1 1.00e+00 1.00e+00h  1
  32  8.9413397e+00 1.83e-04 8.38e+00  -1.7 1.88e-02   1.7 1.00e+00 1.00e+00f  1
  33  8.0304865e+00 2.27e-04 5.20e-01  -1.7 2.54e-02   1.2 9.98e-01 1.00e+00f  1
  34  6.2840040e+00 5.96e-04 2.57e+00  -2.2 5.11e-02   0.7 1.00e+00 1.00e+00f  1
  35  3.7356156e+00 2.03e-03 4.77e+00  -2.8 7.30e-02   0.2 9.98e-01 9.95e-01f  1
  36  3.2704837e+00 1.48e-03 3.89e+01  -1.7 1.86e-01  -0.2 9.83e-01 2.39e-01f  1
  37  2.6871014e-01 2.27e-03 7.17e+01  -2.1 2.17e-01  -0.7 1.00e+00 1.00e+00f  1
  38  1.8349923e-01 2.12e-03 9.11e+01  -1.6 5.40e-01  -1.2 1.00e+00 7.88e-02f  3
  39  5.7516769e-01 9.14e-04 7.13e+01  -2.3 1.64e-01  -1.7 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  40  2.9991048e-02 2.34e-03 9.53e+01  -1.9 6.32e-01  -1.3 1.00e+00 1.68e-01f  2
  41  8.8489967e-01 6.45e-03 5.06e+02  -1.1 1.29e+00  -0.8 1.00e+00 1.25e-01f  2
  42  1.4562012e+00 2.37e-03 1.29e+02  -1.3 1.13e-01  -0.4 1.00e+00 1.00e+00f  1
  43  2.1198084e+00 9.72e-04 2.74e+02  -1.3 8.81e-02   0.0 1.00e+00 1.00e+00f  1
  44  1.9074205e+00 7.07e-06 1.36e+01  -2.3 5.03e-03   2.3 1.00e+00 1.00e+00h  1
  45  1.8751010e+00 1.19e-05 2.57e-01  -3.3 4.29e-03   1.8 1.00e+00 1.00e+00h  1
  46  1.8075297e+00 1.84e-05 1.17e-01  -4.0 5.87e-03   1.3 1.00e+00 1.00e+00f  1
  47  1.6491799e+00 3.92e-05 7.10e-02  -4.0 1.07e-02   0.8 1.00e+00 1.00e+00f  1
  48  1.2882921e+00 1.24e-04 1.58e-01  -4.0 2.92e-02   0.3 1.00e+00 1.00e+00f  1
  49  6.7082036e-01 3.52e-04 3.73e-01  -4.0 6.76e-02  -0.1 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  5.2942222e-02 3.32e-04 5.23e-01  -4.0 1.07e-01  -0.6 1.00e+00 1.00e+00f  1
  51  8.3652100e-02 1.14e-04 7.09e+01  -4.0 8.82e-02  -1.1 1.00e+00 1.00e+00h  1
  52  1.9949451e-02 1.68e-03 1.05e+02  -3.0 1.55e-01  -1.6 1.00e+00 3.71e-01h  1
  53  1.7288405e-02 2.14e-04 7.08e+01  -3.3 2.34e-02  -0.2 1.00e+00 1.00e+00h  1
  54  3.8341306e-02 1.48e-05 7.07e+01  -4.0 5.48e-03   0.2 1.00e+00 1.00e+00h  1
  55  3.7464129e-02 7.48e-08 1.16e+00  -4.0 2.66e-04   2.4 1.00e+00 1.00e+00h  1
  56  3.6995033e-02 1.31e-07 3.06e-02  -4.0 3.45e-04   1.9 1.00e+00 1.00e+00h  1
  57  3.5863032e-02 2.74e-07 1.70e-02  -4.0 5.74e-04   1.5 1.00e+00 1.00e+00h  1
  58  3.3055989e-02 7.75e-07 1.58e-02  -4.0 1.47e-03   1.0 1.00e+00 1.00e+00h  1
  59  2.6850633e-02 3.69e-06 2.20e-02  -4.0 3.21e-03   0.5 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60  1.6496722e-02 1.18e-05 2.87e-02  -4.0 6.65e-03   0.0 1.00e+00 1.00e+00h  1
  61  4.8108083e-03 2.02e-05 3.12e-02  -4.0 1.22e-02  -0.4 1.00e+00 1.00e+00h  1
  62  1.3192486e-03 3.01e-05 7.07e+01  -4.0 1.28e-02  -0.9 1.00e+00 1.00e+00h  1
  63  5.5322378e-04 2.85e-05 1.77e+01  -4.0 1.59e-02  -1.4 1.00e+00 2.50e-01h  3
  64  4.5157441e-04 2.42e-05 5.53e+01  -4.0 2.53e-02  -1.9 1.00e+00 1.25e-01h  4
  65  1.7414685e-03 1.89e-05 2.93e+01  -4.0 1.77e-02  -1.4 1.00e+00 2.50e-01h  3
  66  6.4526537e-04 6.75e-06 1.25e+01  -4.0 1.81e-02  -1.0 1.00e+00 1.00e+00H  1
  67  3.1587524e-04 1.30e-06 7.07e+01  -4.0 2.76e-03  -0.6 1.00e+00 1.00e+00h  1
  68  2.6762063e-04 1.70e-06 7.07e+01  -4.0 1.85e-03  -1.1 1.00e+00 1.00e+00h  1
  69  2.7603035e-04 2.30e-10 5.79e-02  -4.0 1.82e-05   2.1 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  70  2.7360315e-04 1.76e-10 1.09e-03  -4.0 2.13e-05   1.6 1.00e+00 1.00e+00h  1
  71  2.6717273e-04 9.30e-10 1.35e-03  -4.0 5.53e-05   1.1 1.00e+00 1.00e+00h  1
  72  2.5300897e-04 4.00e-09 1.78e-03  -4.0 1.57e-04   0.6 1.00e+00 1.00e+00h  1
  73  2.2980031e-04 1.55e-08 2.19e-03  -4.0 4.03e-04   0.2 1.00e+00 1.00e+00h  1
  74  2.2480408e-04 9.95e-08 7.07e+01  -4.0 8.20e-04  -0.3 1.00e+00 1.00e+00h  1
  75  2.1585497e-04 3.15e-07 7.07e+01  -4.1 7.61e-04  -0.8 1.00e+00 1.00e+00h  1
  76  2.2324622e-04 3.17e-11 3.00e-02  -4.0 7.25e-06   2.3 1.00e+00 1.00e+00h  1
  77  2.2311729e-04 5.25e-11 5.06e-04  -4.0 6.94e-06   1.9 1.00e+00 1.00e+00h  1
  78  2.2289046e-04 1.69e-10 4.11e-04  -4.0 1.14e-05   1.4 1.00e+00 1.00e+00h  1
  79  2.2256532e-04 3.77e-10 5.29e-04  -4.0 3.06e-05   0.9 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  80  2.2263440e-04 2.27e-09 6.97e-04  -4.0 8.41e-05   0.4 1.00e+00 1.00e+00h  1
  81  2.2395490e-04 1.03e-08 7.52e-04  -4.1 1.39e-04  -0.0 1.00e+00 1.00e+00h  1
  82  2.1681320e-04 9.60e-09 3.55e-04  -6.1 3.18e-04  -0.5 1.00e+00 1.00e+00h  1
  83  2.2825896e-04 1.14e-06 1.60e-03  -4.0 1.44e-03  -1.0 1.00e+00 1.00e+00h  1
  84  2.3735035e-04 2.71e-06 4.58e-03  -4.1 2.74e-03  -1.5 1.00e+00 1.00e+00h  1
  85  2.3690810e-04 1.42e-05 2.09e-02  -4.1 6.41e-03  -2.0 1.00e+00 1.00e+00h  1
  86  2.2105754e-04 3.65e-05 5.87e-02  -4.1 1.12e-02  -2.4 1.00e+00 1.00e+00h  1
  87  3.5837281e-04 4.76e-05 7.07e+01  -4.1 1.63e-02  -2.9 1.00e+00 1.00e+00h  1
  88  2.5390797e-04 4.77e-05 4.22e-01  -4.1 2.06e+00  -3.4 1.29e-01 6.86e-04h  8
  89  4.0875637e-04 2.30e-05 7.07e+01  -4.1 1.21e-02  -3.0 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90  2.6651572e-04 2.30e-05 4.20e-01  -4.1 1.05e+00  -3.4 4.43e-01 4.68e-03h  7
  91  4.7590837e-04 5.49e-04 7.07e+01  -4.1 6.71e-02  -3.9 1.00e+00 1.00e+00h  1
  92  4.0443313e-04 5.49e-04 1.88e+00  -4.1 2.21e+00  -1.7 3.60e-02 2.03e-04h  8
  93  4.3797875e-04 1.61e-06 7.07e+01  -4.1 4.94e-03  -1.3 1.00e+00 1.00e+00h  1
  94  4.5185926e-04 2.05e-03 3.25e+02  -4.1 2.24e-01    -  1.00e+00 5.00e-01h  2
  95  2.2810850e-04 2.02e-03 3.20e+02  -4.1 1.37e-02   1.0 1.00e+00 1.56e-02h  7
  96  3.9919592e-04 1.98e-03 3.15e+02  -4.1 1.32e-02   1.4 1.00e+00 1.56e-02h  7
  97  3.0086072e-04 1.95e-03 3.10e+02  -4.1 1.35e-02   0.9 1.00e+00 1.56e-02h  7
  98  3.3682897e-04 1.92e-03 3.06e+02  -4.1 1.28e-02   1.4 1.00e+00 1.56e-02h  7
  99  3.8456984e-04 1.89e-03 3.01e+02  -4.1 1.33e-02   0.9 1.00e+00 1.56e-02h  7
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 100  1.5890510e-02 2.23e-05 7.07e+01  -4.1 1.25e-02   1.3 1.00e+00 1.00e+00h  1

Number of Iterations....: 100

                                   (scaled)                 (unscaled)
Objective...............:   1.5890509540950278e-02    1.5890509540950278e-02
Dual infeasibility......:   7.0747140648345834e+01    7.0747140648345834e+01
Constraint violation....:   2.2271202347906582e-05    2.2271202347906582e-05
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   8.1192868462204784e-05    8.1192868462204784e-05
Overall NLP error.......:   7.0747140648345834e+01    7.0747140648345834e+01


Number of objective function evaluations             = 176
Number of objective gradient evaluations             = 101
Number of equality constraint evaluations            = 176
Number of inequality constraint evaluations          = 0
Number of equality constraint Jacobian evaluations   = 101
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations             = 100
Total seconds in IPOPT                               = 447.913

EXIT: Maximum Number of Iterations Exceeded.
0.9999251174723394

Looks good!

Now let's plot the pulse and the population trajectories for the first two columns of the unitary, i.e. initial state of $\ket{00}$ and $\ket{01}$. For this we provide the function plot_unitary_populations. plot_unitary_populations(prob.trajectory)

For fun, let's look at a minimum time pulse for this problem

min_time_prob = UnitaryMinimumTimeProblem(prob, U_goal; final_fidelity=.99)
solve!(min_time_prob; max_iter=300)
fid_final_min_time = unitary_rollout_fidelity(min_time_prob.trajectory, sys)
println(fid_final_min_time)
    constructing UnitaryMinimumTimeProblem...
	final fidelity: 0.99
    initializing optimizer...
        applying constraint: timesteps all equal constraint
        applying constraint: initial value of Ũ⃗
        applying constraint: initial value of a
        applying constraint: final value of a
        applying constraint: bounds on a
        applying constraint: bounds on da
        applying constraint: bounds on dda
        applying constraint: bounds on Δt
This is Ipopt version 3.14.17, running with linear solver MUMPS 5.8.0.

Number of nonzeros in equality constraint Jacobian...:    47302
Number of nonzeros in inequality constraint Jacobian.:       32
Number of nonzeros in Lagrangian Hessian.............:    23371

Total number of variables............................:     4460
                     variables with only lower bounds:        0
                variables with lower and upper bounds:     1292
                     variables with only upper bounds:        0
Total number of equality constraints.................:     4059
Total number of inequality constraints...............:        1
        inequality constraints with only lower bounds:        0
   inequality constraints with lower and upper bounds:        0
        inequality constraints with only upper bounds:        1

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
   0  3.7526194e+04 2.23e-05 1.00e+02   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  2.1667783e+04 1.99e+00 4.10e+02  -4.0 1.13e+02    -  7.98e-03 8.22e-02f  1
   2  2.1671890e+04 1.99e+00 1.90e+05   0.0 3.56e+00   2.0 1.00e+00 4.36e-04h  1
   3  2.3015841e+04 1.57e+00 8.66e+04   1.3 1.86e+00   1.5 1.00e+00 2.01e-01h  1
   4  2.3450339e+04 1.46e+00 7.94e+05   1.9 4.84e+00   1.0 1.00e+00 6.91e-02f  1
   5  2.1991146e+04 4.30e-01 1.04e+05   2.2 5.98e+00   0.6 8.65e-01 9.22e-01f  1
   6  2.1627683e+04 2.39e-01 2.39e+05   2.1 6.99e+00   1.0 1.00e+00 4.75e-01f  1
   7  1.8549491e+04 1.76e-01 3.18e+05   2.1 7.43e+00   0.5 1.00e+00 4.23e-01f  1
   8  1.3116702e+04 3.64e-01 2.83e+05  -3.9 8.28e+01    -  4.15e-02 6.52e-02f  1
   9  1.3054256e+04 1.74e-01 1.90e+04   2.1 6.32e+00    -  1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  1.2624402e+04 1.30e-01 2.92e+05   1.7 3.67e+00   0.9 9.98e-01 2.53e-01f  1
  11  9.3946414e+03 8.81e-02 5.26e+04   1.3 3.03e+00   0.5 1.00e+00 1.00e+00f  1
  12  1.1137855e+04 5.18e-02 2.96e+04   2.0 2.26e+00   0.9 1.00e+00 7.29e-01h  1
  13  1.1232556e+04 6.37e-02 1.05e+04   1.8 3.24e+00    -  9.99e-01 1.00e+00f  1
  14  1.0827460e+04 5.32e-02 1.01e+04   1.7 2.15e+00    -  9.98e-01 1.00e+00h  1
  15  1.1794162e+04 3.84e-02 9.29e+04   1.5 2.79e+00    -  9.99e-01 4.54e-01h  2
  16  1.4355501e+04 3.47e-02 2.03e+05   2.2 3.30e+00   1.3 4.40e-01 2.44e-01f  1
  17  1.5039310e+04 3.30e-02 1.37e+06   2.2 3.34e+00   1.7 4.44e-01 1.45e-01h  1
  18  1.6148630e+04 3.46e-02 1.93e+06   2.2 3.86e+00   2.2 2.13e-01 1.15e-01h  1
  19  1.7171729e+04 3.69e-02 2.58e+06   2.2 2.53e+00   2.6 2.61e-01 1.44e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  1.7255327e+04 3.52e-02 2.05e+06   2.2 3.02e+00   2.1 2.17e-01 2.22e-01H  1
  21  1.9977715e+04 2.65e-02 1.11e+06   2.2 1.43e+00   2.5 4.69e-01 5.08e-01h  1
  22  2.1167520e+04 2.28e-02 9.36e+05   2.2 1.09e+00   3.0 2.49e-01 1.80e-01h  1
  23  2.2336174e+04 1.91e-02 1.17e+06   2.2 8.62e-01   3.4 2.74e-01 1.87e-01h  1
  24  2.3616887e+04 1.51e-02 1.34e+06   2.2 6.38e-01   3.8 1.28e-01 2.41e-01h  1
  25  2.4413524e+04 1.28e-02 2.00e+06   2.2 5.20e-01   4.2 2.61e-01 1.74e-01h  1
  26  2.6285347e+04 8.79e-03 2.00e+06   2.2 5.05e-01   3.8 3.01e-01 3.75e-01h  1
  27  2.8605404e+04 4.07e-03 1.58e+06   2.2 3.80e-01   4.2 4.49e-01 6.18e-01h  1
  28  2.9038662e+04 3.50e-03 1.48e+06  -3.8 3.06e-01   4.6 2.87e-01 1.43e-01h  1
  29  3.0767595e+04 7.06e-03 9.43e+05   2.2 3.40e-01   4.1 4.83e-01 5.13e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  3.2266247e+04 5.31e-03 6.15e+05   2.2 3.44e-01   3.7 4.47e-01 4.39e-01h  1
  31  3.3724151e+04 2.56e-03 2.84e+06   2.2 2.94e-01   3.2 9.04e-01 5.00e-01f  2
  32  3.4591361e+04 4.27e-03 1.16e+06   2.1 1.82e-01   3.6 5.82e-01 5.88e-01f  1
  33  3.5182524e+04 3.12e-04 4.10e+05   1.4 5.97e-02   4.0 1.00e+00 1.00e+00h  1
  34  3.5056927e+04 1.29e-04 5.53e+05   1.4 1.59e-02   3.6 1.00e+00 1.00e+00f  1
  35  3.5045869e+04 8.89e-05 3.83e+05   0.1 3.63e-03   4.0 1.00e+00 3.08e-01f  1
  36  3.4980587e+04 1.38e-04 2.39e+04  -0.3 1.81e-02   3.5 1.00e+00 1.00e+00f  1
  37  3.4912366e+04 1.45e-04 6.46e+03  -0.5 2.38e-02   3.0 1.00e+00 1.00e+00f  1
  38  3.4834082e+04 5.10e-04 5.19e+03  -0.8 3.94e-02   2.6 1.00e+00 1.00e+00f  1
  39  3.4813360e+04 5.29e-04 1.30e+04  -0.3 5.37e-02   2.1 1.00e+00 6.22e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  40  3.4767082e+04 1.42e-03 2.70e+03  -0.3 7.90e-02   1.6 1.00e+00 1.00e+00f  1
  41  3.4763125e+04 2.11e-04 4.08e+02  -1.0 2.38e-02   2.0 1.00e+00 1.00e+00f  1
  42  3.4752061e+04 3.35e-04 2.48e+03  -1.3 4.29e-02   1.6 1.00e+00 6.74e-01f  1
  43  3.4743457e+04 2.21e-03 1.67e+03  -1.0 9.08e-02   1.1 1.00e+00 8.55e-01f  1
  44  3.4744567e+04 5.27e-05 6.81e+01  -1.7 7.64e-03   2.4 1.00e+00 1.00e+00h  1
  45  3.4743479e+04 7.29e-05 3.77e+01  -2.1 1.18e-02   1.9 1.00e+00 1.00e+00f  1
  46  3.4741660e+04 1.89e-04 8.76e+01  -2.1 2.38e-02   1.5 1.00e+00 9.78e-01f  1
  47  3.4740518e+04 5.28e-04 2.74e+02  -1.8 4.08e-02   1.0 1.00e+00 8.52e-01f  1
  48  3.4740152e+04 5.72e-05 1.00e+02  -2.1 1.27e-02   1.4 1.00e+00 9.13e-01f  1
  49  3.4739900e+04 1.60e-04 7.62e+01  -1.8 2.98e-02   0.9 1.00e+00 7.58e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  3.4738885e+04 1.61e-04 8.06e+01  -2.0 2.90e-02   0.4 1.00e+00 1.00e+00f  1
  51  3.4739074e+04 4.71e-05 1.93e+01  -2.5 1.16e-02   0.9 1.00e+00 1.00e+00h  1
  52  3.4738797e+04 2.80e-04 7.55e+01  -2.2 2.96e-02   0.4 1.00e+00 1.00e+00f  1
  53  3.4738581e+04 2.75e-05 1.08e+01  -2.6 6.80e-03   0.8 1.00e+00 1.00e+00h  1
  54  3.4738482e+04 2.16e-04 4.08e+01  -2.9 2.14e-02   0.3 1.00e+00 1.00e+00h  1
  55  3.4738455e+04 2.10e-05 1.23e+01  -3.4 4.60e-03   0.8 9.48e-01 1.00e+00h  1
  56  3.4738449e+04 2.51e-04 6.50e+01  -2.8 4.48e-02   0.3 1.00e+00 3.80e-01f  1
  57  3.4738387e+04 1.43e-04 1.30e+02  -4.0 1.86e-02   0.7 9.21e-02 7.47e-01h  1
  58  3.4738374e+04 5.91e-06 2.77e+01  -4.0 2.61e-03   1.1 8.37e-01 1.00e+00h  1
  59  3.4738366e+04 4.63e-05 1.56e+01  -3.5 8.20e-03   0.7 9.95e-01 8.96e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60  3.4738343e+04 3.80e-04 4.15e+01  -4.0 4.16e-02   0.2 1.37e-01 5.12e-01h  1
  61  3.4738330e+04 7.79e-05 9.66e+00  -3.7 2.81e-03   1.5 1.00e+00 7.83e-01h  1
  62  3.4738328e+04 3.77e-06 1.04e+00  -4.0 2.69e-03   1.0 1.00e+00 1.00e+00h  1
  63  3.4738317e+04 2.46e-05 7.67e+00  -4.0 6.54e-03   0.6 1.00e+00 1.00e+00h  1
  64  3.4738318e+04 6.90e-05 1.54e+01  -3.4 3.85e-02   0.1 1.00e+00 2.70e-01f  1
  65  3.4738314e+04 8.54e-05 1.24e+01  -3.5 1.09e-02   0.5 2.22e-01 1.00e+00h  1
  66  3.4738295e+04 3.63e-06 8.39e-01  -4.0 2.42e-03   0.9 1.00e+00 1.00e+00h  1
  67  3.4738286e+04 1.71e-05 4.98e+00  -4.0 6.60e-03   0.5 1.00e+00 1.00e+00h  1
  68  3.4738270e+04 6.52e-05 1.25e+01  -4.0 1.24e-02  -0.0 1.00e+00 1.00e+00h  1
  69  3.4738269e+04 4.85e-05 1.00e+01  -3.7 1.46e-02   0.4 4.62e-01 2.02e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  70  3.4738266e+04 1.85e-06 5.90e-01  -4.0 2.02e-03   0.8 1.00e+00 1.00e+00h  1
  71  3.4738260e+04 8.15e-06 2.00e+00  -4.0 5.64e-03   0.4 1.00e+00 1.00e+00h  1
  72  3.4738248e+04 2.71e-05 9.96e+00  -4.0 1.09e-02  -0.1 1.00e+00 1.00e+00h  1
  73  3.4738246e+04 9.98e-06 3.12e+00  -4.0 3.84e-03   0.3 1.00e+00 1.00e+00h  1
  74  3.4738242e+04 1.55e-04 1.64e+01  -3.6 1.53e-02  -0.2 1.00e+00 1.00e+00h  1
  75  3.4738233e+04 2.94e-06 6.52e-01  -4.0 1.72e-03   1.2 1.00e+00 1.00e+00h  1
  76  3.4738234e+04 1.76e-06 4.80e+00  -4.0 1.91e-03   0.7 1.00e+00 5.00e-01h  2
  77  3.4738232e+04 1.04e-05 3.64e+00  -4.0 4.34e-03   0.2 1.00e+00 1.00e+00h  1
  78  3.4738225e+04 5.99e-05 9.41e+00  -4.0 1.11e-02  -0.3 1.00e+00 1.00e+00h  1
  79  3.4738226e+04 6.81e-07 3.68e-01  -4.0 9.42e-04   1.1 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  80  3.4738226e+04 6.34e-07 1.04e+00  -4.0 1.80e-03   0.6 1.00e+00 2.50e-01h  3
  81  3.4738225e+04 1.44e-05 2.41e+00  -4.0 4.49e-03   0.1 1.00e+00 1.00e+00h  1
  82  3.4738222e+04 4.66e-04 5.04e+01  -4.0 6.30e-02  -0.4 9.30e-02 3.62e-01h  1
  83  3.4738191e+04 1.14e-05 3.56e+00  -4.0 3.30e-03   1.9 7.58e-01 1.00e+00h  1
  84  3.4738223e+04 2.79e-07 4.24e-02  -4.0 5.47e-04   1.4 1.00e+00 1.00e+00h  1
  85  3.4738223e+04 1.12e-06 1.16e-01  -4.0 1.22e-03   0.9 1.00e+00 1.00e+00h  1
  86  3.4738222e+04 3.95e-06 4.99e-01  -4.0 2.73e-03   0.4 1.00e+00 1.00e+00h  1
  87  3.4738219e+04 1.90e-05 2.44e+00  -4.1 4.69e-03  -0.0 1.00e+00 1.00e+00h  1
  88  3.4738218e+04 1.37e-06 3.39e-01  -4.1 1.65e-03   0.4 1.00e+00 1.00e+00h  1
  89  3.4738218e+04 2.76e-05 3.12e+00  -4.0 6.14e-03  -0.1 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90  3.4738216e+04 1.48e-05 9.27e-01  -4.1 3.87e-03   0.3 1.00e+00 1.00e+00h  1
  91  3.4738216e+04 1.69e-06 1.06e-01  -4.1 1.31e-03   0.8 1.00e+00 1.00e+00h  1
  92  3.4738216e+04 2.93e-06 5.52e-01  -4.0 2.20e-03   0.3 1.00e+00 1.00e+00h  1
  93  3.4738214e+04 7.16e-06 3.86e+00  -4.1 4.53e-03  -0.2 1.00e+00 1.00e+00h  1
  94  3.4738211e+04 1.40e-04 1.46e+01  -4.1 1.44e-02  -0.7 9.22e-01 1.00e+00h  1
  95  3.4738211e+04 1.34e-07 1.19e-01  -4.1 3.04e-04   1.6 1.00e+00 1.00e+00h  1
  96  3.4738212e+04 4.25e-09 1.72e-02  -4.0 4.74e-04   1.1 1.00e+00 1.00e+00H  1
  97  3.4738212e+04 1.13e-06 8.76e-02  -4.0 1.10e-03   0.6 1.00e+00 1.00e+00h  1
  98  3.4738211e+04 3.39e-06 6.59e-01  -4.1 2.52e-03   0.1 1.00e+00 1.00e+00h  1
  99  3.4738210e+04 9.47e-06 4.33e+00  -4.1 4.95e-03  -0.4 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 100  3.4738209e+04 2.04e-06 4.82e-01  -4.1 1.91e-03   0.1 1.00e+00 1.00e+00h  1
 101  3.4738209e+04 1.68e-05 3.93e+00  -4.0 5.72e-03  -0.4 1.00e+00 1.00e+00h  1
 102  3.4738208e+04 3.00e-06 4.18e-01  -4.1 1.87e-03   0.0 1.00e+00 1.00e+00h  1
 103  3.4738207e+04 4.57e-05 4.23e+00  -4.1 7.99e-03  -0.5 1.00e+00 1.00e+00h  1
 104  3.4738207e+04 5.79e-07 7.42e-02  -4.1 7.00e-04   0.9 1.00e+00 1.00e+00h  1
 105  3.4738208e+04 7.12e-07 6.99e-02  -4.0 1.01e-03   0.4 1.00e+00 1.00e+00h  1
 106  3.4738207e+04 1.52e-06 5.75e-01  -4.1 2.21e-03  -0.1 1.00e+00 1.00e+00h  1
 107  3.4738207e+04 1.04e-05 3.31e+00  -4.0 5.53e-03  -0.6 1.00e+00 1.00e+00h  1
 108  3.4738205e+04 2.47e-06 4.83e-01  -4.1 2.34e-03  -0.1 1.00e+00 1.00e+00h  1
 109  3.4738205e+04 3.92e-05 4.61e+00  -4.1 8.44e-03  -0.6 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 110  3.4738205e+04 2.22e-07 1.25e-01  -4.1 6.07e-04   0.7 1.00e+00 1.00e+00h  1
 111  3.4738205e+04 1.07e-06 9.56e-02  -4.0 1.13e-03   0.2 1.00e+00 1.00e+00h  1
 112  3.4738204e+04 1.55e-06 5.56e-01  -4.1 2.38e-03  -0.2 1.00e+00 1.00e+00h  1
 113  3.4738204e+04 6.95e-06 2.99e+00  -4.1 5.21e-03  -0.7 1.00e+00 1.00e+00h  1
 114  3.4738203e+04 1.06e-06 3.91e-01  -4.1 1.91e-03  -0.3 1.00e+00 1.00e+00h  1
 115  3.4738204e+04 2.81e-05 7.46e+00  -4.0 7.79e-03  -0.8 1.00e+00 1.00e+00h  1
 116  3.4738203e+04 1.84e-07 6.27e-02  -4.1 5.15e-04   0.6 1.00e+00 1.00e+00h  1
 117  3.4738203e+04 1.53e-07 2.75e+00  -4.0 1.29e-03   0.1 1.00e+00 2.50e-01h  3
 118  3.4738204e+04 3.93e-06 9.43e-01  -4.0 3.32e-03  -0.4 1.00e+00 1.00e+00h  1
 119  3.4738202e+04 1.46e-05 4.81e+00  -4.1 5.72e-03  -0.9 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 120  3.4738202e+04 7.52e-07 1.07e-01  -4.1 9.26e-04   0.5 1.00e+00 1.00e+00h  1
 121  3.4738203e+04 1.69e-06 4.43e-01  -4.0 1.63e-03  -0.0 1.00e+00 1.00e+00h  1
 122  3.4738202e+04 2.16e-06 7.83e-01  -4.1 2.92e-03  -0.5 1.00e+00 1.00e+00h  1
 123  3.4738201e+04 1.70e-05 7.13e+00  -4.1 6.59e-03  -1.0 1.00e+00 1.00e+00h  1
 124  3.4738201e+04 3.38e-07 8.42e-02  -4.1 6.66e-04   0.4 1.00e+00 1.00e+00h  1
 125  3.4738202e+04 1.86e-06 5.82e-01  -4.0 1.71e-03  -0.1 1.00e+00 1.00e+00h  1
 126  3.4738201e+04 2.61e-06 1.17e+00  -4.1 3.16e-03  -0.6 1.00e+00 1.00e+00h  1
 127  3.4738200e+04 2.61e-04 3.48e+01  -4.1 2.41e-02  -1.1 1.00e+00 1.00e+00h  1
 128  3.4738200e+04 1.69e-08 6.73e-02  -4.1 5.78e-04   2.1 1.00e+00 1.00e+00h  1
 129  3.4738183e+04 6.56e-03 3.57e+03  -4.0 2.01e+00    -  7.66e-02 7.10e-02f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 130  3.4737743e+04 1.72e-03 1.03e+03  -4.0 2.00e-02   3.4 1.00e+00 7.39e-01h  1
 131  3.4738112e+04 9.50e-06 5.90e+01  -3.7 5.34e-03   2.9 1.00e+00 1.00e+00h  1
 132  3.4737946e+04 2.01e-06 4.94e+00  -4.0 2.68e-03   2.4 1.00e+00 1.00e+00f  1
 133  3.4738173e+04 1.04e-06 1.50e+00  -4.0 1.41e-03   2.0 1.00e+00 1.00e+00h  1
 134  3.4738206e+04 1.40e-06 6.40e-01  -4.0 2.83e-03   1.5 1.00e+00 1.00e+00H  1
 135  3.4738201e+04 8.40e-06 8.72e-01  -4.1 3.98e-03   1.0 1.00e+00 1.00e+00h  1
 136  3.4738201e+04 5.11e-06 7.42e-01  -4.1 3.40e-03   0.5 1.00e+00 1.00e+00h  1
 137  3.4738201e+04 7.64e-06 7.64e-01  -4.1 2.66e-03   0.1 1.00e+00 1.00e+00h  1
 138  3.4738201e+04 1.30e-06 9.35e-02  -4.1 1.06e-03   0.5 1.00e+00 1.00e+00h  1
 139  3.4738200e+04 3.56e-06 4.19e-01  -4.1 2.07e-03   0.0 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 140  3.4738200e+04 8.93e-06 1.95e+00  -4.1 3.11e-03  -0.5 1.00e+00 1.00e+00h  1
 141  3.4738200e+04 3.12e-06 5.15e-01  -4.1 1.83e-03  -0.0 1.00e+00 1.00e+00h  1
 142  3.4738200e+04 7.98e-06 2.11e+00  -4.1 3.06e-03  -0.5 1.00e+00 1.00e+00h  1
 143  3.4738200e+04 5.80e-06 8.57e-01  -4.1 2.46e-03  -0.1 1.00e+00 1.00e+00h  1
 144  3.4738200e+04 1.98e-07 6.01e-02  -4.1 4.71e-04   0.3 1.00e+00 1.00e+00h  1
 145  3.4738200e+04 1.24e-06 4.30e-01  -4.0 1.55e-03  -0.1 1.00e+00 1.00e+00h  1
 146  3.4738199e+04 2.20e-06 1.45e+00  -4.1 3.00e-03  -0.6 1.00e+00 1.00e+00h  1
 147  3.4738199e+04 9.85e-07 4.13e-01  -4.1 1.31e-03  -0.2 1.00e+00 1.00e+00h  1
 148  3.4738199e+04 3.50e-06 1.90e+00  -4.1 3.28e-03  -0.7 1.00e+00 1.00e+00h  1
 149  3.4738199e+04 1.23e-06 5.61e-01  -4.1 1.40e-03  -0.3 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 150  3.4738199e+04 4.98e-06 2.33e+00  -4.1 3.52e-03  -0.7 1.00e+00 1.00e+00h  1
 151  3.4738199e+04 7.09e-06 1.86e+00  -4.1 2.75e-03  -0.3 1.00e+00 1.00e+00h  1
 152  3.4738199e+04 1.49e-06 3.79e-01  -4.1 1.08e-03   0.1 1.00e+00 1.00e+00h  1
 153  3.4738199e+04 2.17e-06 9.09e-01  -4.0 2.07e-03  -0.4 1.00e+00 1.00e+00h  1
 154  3.4738198e+04 7.78e-06 3.30e+00  -4.1 4.18e-03  -0.8 1.00e+00 1.00e+00h  1
 155  3.4738199e+04 2.39e-07 7.27e-02  -4.1 4.89e-04   0.5 1.00e+00 1.00e+00h  1
 156  3.4738199e+04 4.65e-07 2.01e-01  -4.0 8.92e-04   0.0 1.00e+00 1.00e+00h  1
 157  3.4738199e+04 9.12e-07 5.49e-01  -4.1 1.88e-03  -0.5 1.00e+00 1.00e+00h  1
 158  3.4738198e+04 4.38e-06 3.51e+00  -4.1 4.99e-03  -0.9 1.00e+00 1.00e+00h  1
 159  3.4738198e+04 2.35e-06 8.18e-01  -4.1 1.83e-03  -0.5 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 160  3.4738198e+04 3.04e-05 1.34e+01  -4.1 6.80e-03  -1.0 1.00e+00 1.00e+00h  1
 161  3.4738198e+04 5.92e-08 2.49e-02  -4.1 2.21e-04   1.2 1.00e+00 1.00e+00h  1
 162  3.4738198e+04 2.00e-07 2.63e-02  -4.0 4.20e-04   0.8 1.00e+00 1.00e+00h  1
 163  3.4738198e+04 4.12e-07 1.09e-01  -4.1 5.92e-04   0.3 1.00e+00 1.00e+00h  1
 164  3.4738198e+04 1.27e-06 3.39e-01  -4.1 1.17e-03  -0.2 1.00e+00 1.00e+00h  1
 165  3.4738198e+04 2.21e-06 1.25e+00  -4.1 2.76e-03  -0.7 1.00e+00 1.00e+00h  1
 166  3.4738198e+04 1.46e-05 6.80e+00  -4.1 6.28e-03  -1.1 1.00e+00 1.00e+00h  1
 167  3.4738198e+04 7.85e-07 2.32e-01  -4.1 8.33e-04   0.2 1.00e+00 1.00e+00h  1
 168  3.4738198e+04 2.40e-06 7.31e-01  -4.0 1.75e-03  -0.3 1.00e+00 1.00e+00h  1
 169  3.4738197e+04 3.33e-06 2.21e+00  -4.1 3.34e-03  -0.8 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 170  3.4738198e+04 4.31e-06 8.40e-01  -4.1 4.63e-03  -0.3 1.00e+00 5.00e-01h  2
 171  3.4738197e+04 7.48e-05 1.89e+01  -4.1 9.01e-03  -0.8 1.00e+00 1.00e+00h  1
 172  3.4738197e+04 2.31e-07 9.88e-02  -4.1 4.75e-04   1.4 1.00e+00 1.00e+00h  1
 173  3.4738198e+04 3.40e-09 2.80e-02  -4.0 4.64e-04   0.9 1.00e+00 1.00e+00H  1
 174  3.4738198e+04 6.19e-07 1.76e-01  -4.0 7.61e-04   0.5 1.00e+00 1.00e+00h  1
 175  3.4738198e+04 9.66e-07 5.61e-01  -4.1 8.98e-04  -0.0 1.00e+00 1.00e+00h  1
 176  3.4738197e+04 2.45e-06 1.52e+00  -4.1 1.78e-03  -0.5 1.00e+00 1.00e+00h  1
 177  3.4738197e+04 9.30e-06 5.95e+00  -4.1 4.77e-03  -1.0 1.00e+00 1.00e+00h  1
 178  3.4738197e+04 4.39e-07 1.42e-01  -4.1 6.06e-04   0.4 1.00e+00 1.00e+00h  1
 179  3.4738198e+04 1.03e-06 4.81e-01  -4.0 9.65e-04  -0.1 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 180  3.4738197e+04 9.15e-07 7.04e-01  -4.1 2.20e-03  -0.6 1.00e+00 1.00e+00h  1
 181  3.4738197e+04 3.33e-06 3.97e+00  -4.1 5.48e-03  -1.1 1.00e+00 1.00e+00h  1
 182  3.4738197e+04 1.50e-06 1.16e+00  -4.1 1.92e-03  -0.6 1.00e+00 1.00e+00h  1
 183  3.4738197e+04 1.13e-05 7.36e+00  -4.1 6.23e-03  -1.1 1.00e+00 1.00e+00h  1
 184  3.4738197e+04 1.37e-06 1.97e-01  -4.1 1.11e-03   0.2 1.00e+00 1.00e+00h  1
 185  3.4738197e+04 1.28e-06 6.10e-01  -4.0 1.18e-03  -0.3 1.00e+00 1.00e+00h  1
 186  3.4738197e+04 1.84e-06 1.07e+00  -4.1 2.91e-03  -0.7 1.00e+00 1.00e+00h  1
 187  3.4738196e+04 2.29e-05 9.94e+00  -4.1 6.38e-03  -1.2 1.00e+00 1.00e+00h  1
 188  3.4738197e+04 5.44e-08 2.39e-02  -4.1 2.10e-04   1.0 1.00e+00 1.00e+00h  1
 189  3.4738197e+04 1.68e-07 3.51e-02  -4.0 3.78e-04   0.5 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 190  3.4738197e+04 3.18e-07 1.15e-01  -4.1 5.13e-04   0.1 1.00e+00 1.00e+00h  1
 191  3.4738197e+04 9.45e-07 3.30e-01  -4.1 1.41e-03  -0.4 1.00e+00 1.00e+00h  1
 192  3.4738197e+04 1.91e-06 1.56e+00  -4.1 3.86e-03  -0.9 1.00e+00 1.00e+00h  1
 193  3.4738197e+04 1.79e-06 1.40e+00  -4.1 1.68e-02  -1.4 1.00e+00 6.25e-02h  5
 194  3.4738196e+04 3.36e-06 2.03e+00  -4.1 3.45e-03  -1.0 1.00e+00 1.00e+00h  1
 195  3.4738197e+04 3.25e-06 1.18e+00  -4.1 2.01e-03  -0.5 1.00e+00 1.00e+00h  1
 196  3.4738196e+04 8.30e-05 1.02e+01  -4.1 1.75e-02  -1.0 6.54e-01 4.99e-01h  2
 197  3.4738196e+04 1.22e-07 5.76e-02  -4.1 3.08e-04   1.2 1.00e+00 1.00e+00h  1
 198  3.4738197e+04 8.00e-09 2.04e-02  -4.0 3.25e-04   0.8 1.00e+00 1.00e+00H  1
 199  3.4738197e+04 2.82e-07 1.57e-01  -4.0 5.71e-04   0.3 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 200  3.4738197e+04 4.89e-07 5.02e-01  -4.1 8.34e-04  -0.2 1.00e+00 1.00e+00h  1
 201  3.4738196e+04 1.63e-06 1.27e+00  -4.1 2.39e-03  -0.7 1.00e+00 1.00e+00h  1
 202  3.4738196e+04 5.95e-05 1.72e+01  -4.1 8.72e-03  -1.2 1.00e+00 1.00e+00h  1
 203  3.4738196e+04 3.22e-08 5.62e-02  -4.1 1.44e-04   1.1 1.00e+00 1.00e+00h  1
 204  3.4738197e+04 7.67e-09 2.62e-02  -4.0 3.08e-04   0.6 1.00e+00 1.00e+00H  1
 205  3.4738197e+04 2.83e-07 1.93e-01  -4.0 6.14e-04   0.1 1.00e+00 1.00e+00h  1
 206  3.4738196e+04 5.83e-07 6.35e-01  -4.1 1.17e-03  -0.4 1.00e+00 1.00e+00h  1
 207  3.4738196e+04 1.77e-06 1.69e+00  -4.1 3.25e-03  -0.8 1.00e+00 1.00e+00h  1
 208  3.4738196e+04 2.00e-07 1.37e-01  -4.1 1.15e-03  -0.4 1.00e+00 1.00e+00h  1
 209  3.4738197e+04 2.60e-06 2.68e+00  -4.0 3.95e-03  -0.9 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 210  3.4738196e+04 8.93e-07 4.62e-01  -4.1 1.24e-03  -0.5 1.00e+00 1.00e+00h  1
 211  3.4738196e+04 7.84e-07 4.16e-01  -4.1 4.11e-03  -0.9 1.00e+00 1.25e-01h  4
 212  3.4738196e+04 1.81e-05 2.04e+01  -4.0 1.27e-02  -1.4 1.00e+00 1.00e+00h  1
 213  3.4738196e+04 5.55e-08 1.28e-02  -4.1 1.91e-04   0.8 1.00e+00 1.00e+00h  1
 214  3.4738196e+04 2.88e-08 1.51e-02  -4.0 2.30e-04   0.3 1.00e+00 1.00e+00h  1
 215  3.4738196e+04 4.17e-07 1.43e-01  -4.1 6.73e-04  -0.1 1.00e+00 1.00e+00h  1
 216  3.4738196e+04 7.96e-07 3.76e-01  -4.1 1.92e-03  -0.6 1.00e+00 1.00e+00h  1
 217  3.4738196e+04 2.23e-06 2.49e+00  -4.1 5.09e-03  -1.1 1.00e+00 1.00e+00h  1
 218  3.4738196e+04 3.56e-07 2.92e-01  -4.1 1.67e-03  -0.7 1.00e+00 1.00e+00h  1
 219  3.4738196e+04 3.72e-06 3.81e+00  -4.1 5.85e-03  -1.1 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 220  3.4738195e+04 2.73e-06 2.13e+00  -4.1 2.44e-03  -0.7 1.00e+00 1.00e+00h  1
 221  3.4738196e+04 3.87e-07 3.52e-01  -4.1 9.85e-04  -0.3 1.00e+00 1.00e+00h  1
 222  3.4738196e+04 2.56e-07 2.78e-01  -4.1 2.58e-03  -0.8 1.00e+00 5.00e-01h  2
 223  3.4738195e+04 4.33e-06 4.50e+00  -4.1 6.99e-03  -1.2 1.00e+00 1.00e+00h  1
 224  3.4738195e+04 3.78e-06 3.94e+00  -4.1 1.89e-03  -0.8 1.00e+00 1.25e-01h  4
 225  3.4738195e+04 1.36e-07 1.23e-01  -4.1 9.07e-04  -0.4 1.00e+00 1.00e+00h  1
 226  3.4738196e+04 2.28e-06 2.26e+00  -4.0 3.45e-03  -0.9 1.00e+00 1.00e+00h  1
 227  3.4738192e+04 1.93e-05 1.72e+01  -4.1 7.16e-03  -1.3 1.00e+00 1.00e+00h  1
 228  3.4738197e+04 6.03e-06 2.30e+00  -4.1 2.63e-03  -0.0 1.00e+00 1.00e+00h  1
 229  3.4738195e+04 6.97e-08 5.70e-02  -4.1 2.74e-04   0.4 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 230  3.4738195e+04 2.78e-07 2.66e-01  -4.0 6.28e-04  -0.1 1.00e+00 1.00e+00h  1
 231  3.4738195e+04 5.06e-07 4.31e-01  -4.1 1.62e-03  -0.5 1.00e+00 1.00e+00h  1
 232  3.4738195e+04 2.08e-06 1.88e+00  -4.1 4.26e-03  -1.0 1.00e+00 1.00e+00h  1
 233  3.4738195e+04 5.76e-07 5.08e-01  -4.1 1.55e-03  -0.6 1.00e+00 1.00e+00h  1
 234  3.4738196e+04 7.05e-06 5.24e+00  -4.0 5.27e-03  -1.1 1.00e+00 1.00e+00h  1
 235  3.4738195e+04 1.48e-07 3.57e-02  -4.1 3.23e-04   0.3 1.00e+00 1.00e+00h  1
 236  3.4738195e+04 9.85e-08 7.74e-01  -4.0 8.56e-04  -0.2 1.00e+00 5.00e-01h  2
 237  3.4738195e+04 9.24e-07 8.29e-01  -4.1 2.24e-03  -0.7 1.00e+00 1.00e+00h  1
 238  3.4738195e+04 4.61e-06 4.68e+00  -4.1 5.37e-03  -1.2 1.00e+00 1.00e+00h  1
 239  3.4738195e+04 3.96e-06 4.04e+00  -4.1 3.25e-03  -0.7 1.00e+00 1.25e-01h  4
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 240  3.4738195e+04 3.76e-07 3.92e-01  -4.1 1.00e-03  -0.3 1.00e+00 1.00e+00h  1
 241  3.4738195e+04 1.56e-06 1.27e+00  -4.0 2.79e-03  -0.8 1.00e+00 1.00e+00h  1
 242  3.4738193e+04 8.04e-06 7.11e+00  -4.1 5.86e-03  -1.3 1.00e+00 1.00e+00h  1
 243  3.4738195e+04 1.58e-07 1.33e-01  -4.1 4.64e-04   0.1 1.00e+00 1.00e+00h  1
 244  3.4738195e+04 6.29e-07 3.28e-01  -4.0 1.21e-03  -0.4 1.00e+00 1.00e+00h  1
 245  3.4738194e+04 1.37e-06 1.07e+00  -4.1 3.17e-03  -0.9 1.00e+00 1.00e+00h  1
 246  3.4738194e+04 8.41e-06 7.13e+00  -4.1 6.51e-03  -1.4 1.00e+00 1.00e+00h  1
 247  3.4738195e+04 8.62e-08 6.91e-02  -4.1 5.41e-04  -0.0 1.00e+00 1.00e+00h  1
 248  3.4738195e+04 6.59e-07 4.77e-01  -4.0 1.52e-03  -0.5 1.00e+00 1.00e+00h  1
 249  3.4738194e+04 1.78e-06 1.46e+00  -4.1 3.74e-03  -1.0 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 250  3.4738194e+04 1.90e-06 1.27e+00  -4.1 8.12e-03  -1.5 1.00e+00 2.50e-01h  3
 251  3.4738194e+04 1.41e-06 9.98e-01  -4.1 4.07e-03  -1.1 1.00e+00 2.50e-01h  3
 252  3.4738195e+04 1.20e-06 9.55e-01  -4.1 1.13e-02  -1.5 1.00e+00 6.25e-02h  5
 253  3.4738195e+04 9.04e-07 9.28e-01  -4.1 4.36e-03  -1.1 1.00e+00 5.00e-01h  2
 254  3.4738194e+04 8.78e-06 8.43e+00  -4.1 8.88e-03  -1.6 1.00e+00 1.00e+00h  1
 255  3.4738195e+04 3.37e-07 1.91e-01  -4.1 8.58e-04  -0.3 1.00e+00 1.00e+00h  1
 256  3.4738194e+04 6.77e-07 9.06e-01  -4.1 2.14e-03  -0.7 1.00e+00 1.00e+00h  1
 257  3.4738194e+04 3.04e-06 4.59e+00  -4.1 5.04e-03  -1.2 1.00e+00 1.00e+00h  1
 258  3.4738194e+04 2.26e-06 3.30e+00  -4.1 2.78e-03  -0.8 1.00e+00 2.50e-01h  3
 259  3.4738194e+04 2.19e-06 3.18e+00  -4.1 6.95e-03  -1.3 1.00e+00 3.12e-02h  6
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 260  3.4738194e+04 1.08e-06 1.24e+00  -4.1 2.52e-03  -0.8 1.00e+00 5.00e-01h  2
 261  3.4738194e+04 1.12e-06 1.26e+00  -4.1 5.33e-03  -1.3 1.00e+00 5.00e-01h  2
 262  3.4738194e+04 1.09e-06 1.18e+00  -4.1 1.39e-02  -1.8 1.00e+00 1.25e-01h  4
 263  3.4738194e+04 1.53e-06 1.36e+00  -4.1 5.87e-03  -1.4 1.00e+00 5.00e-01h  2
 264  3.4738194e+04 1.91e-06 2.10e+00  -4.1 2.60e-03  -0.9 1.00e+00 1.00e+00h  1
 265  3.4738194e+04 7.18e-07 5.57e-01  -4.1 1.33e-03  -0.5 1.00e+00 1.00e+00h  1
 266  3.4738194e+04 3.28e-06 2.93e+00  -4.0 3.63e-03  -1.0 1.00e+00 1.00e+00h  1
 267  3.4738194e+04 1.67e-06 1.21e+00  -4.1 1.72e-03  -0.6 1.00e+00 1.00e+00h  1
 268  3.4738194e+04 6.75e-07 7.95e-01  -4.1 4.65e-03  -1.0 1.00e+00 2.50e-01h  3
 269  3.4738194e+04 5.19e-07 5.85e-01  -4.1 9.89e-03  -1.5 1.00e+00 1.25e-01h  4
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 270  3.4738194e+04 5.14e-05 5.06e+01  -4.1 1.99e-02  -2.0 1.00e+00 1.00e+00h  1
 271  3.4738192e+04 3.29e-08 6.90e-02  -4.1 2.66e-04   1.1 1.00e+00 1.00e+00h  1
 272  3.4738193e+04 7.71e-04 9.57e+02  -4.0 6.22e-02    -  1.00e+00 1.00e+00h  1
 273  3.4737859e+04 1.73e-06 2.58e+00  -4.1 3.67e-03   1.6 1.00e+00 1.00e+00h  1
 274  3.4738194e+04 5.53e-08 1.38e-01  -4.0 2.86e-04   1.1 1.00e+00 1.00e+00h  1
 275  3.4738194e+04 5.44e-08 4.41e-02  -4.1 2.46e-04   0.6 1.00e+00 1.00e+00h  1
 276  3.4738193e+04 2.86e-06 5.49e-01  -6.1 1.51e-03   0.1 8.63e-01 1.00e+00h  1
 277  3.4738192e+04 4.52e-06 7.24e-01  -6.1 2.00e-03  -0.3 7.27e-01 1.00e+00h  1
 278  3.4738192e+04 1.52e-05 8.62e-01  -6.1 9.15e-03  -0.8 2.67e-01 3.60e-01h  1
 279  3.4738192e+04 2.52e-07 4.24e-02  -6.1 4.57e-04   0.5 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 280  3.4738192e+04 1.15e-06 1.56e-01  -6.1 1.07e-03   0.0 1.00e+00 9.99e-01h  1
 281  3.4738192e+04 3.05e-06 3.34e-01  -6.1 1.92e-03  -0.4 1.00e+00 8.34e-01h  1
 282  3.4738192e+04 1.03e-06 1.97e-01  -6.1 5.25e-04  -0.0 1.00e+00 6.62e-01h  1
 283  3.4738192e+04 9.81e-07 2.22e-01  -6.1 1.35e-03  -0.5 1.00e+00 1.00e+00h  1
 284  3.4738192e+04 2.96e-06 6.94e-01  -6.1 2.77e-03  -1.0 1.00e+00 7.08e-01h  1
 285  3.4738192e+04 2.08e-08 3.85e-03  -6.1 1.44e-04   0.4 1.00e+00 1.00e+00h  1
 286  3.4738192e+04 1.18e-07 2.65e-02  -6.1 3.75e-04  -0.1 1.00e+00 1.00e+00h  1
 287  3.4738192e+04 9.76e-07 2.13e-01  -6.1 1.10e-03  -0.6 1.00e+00 1.00e+00h  1
 288  3.4738192e+04 9.31e-06 2.55e+01  -4.0 3.54e-02  -0.2 1.00e+00 8.19e-02f  1
 289  3.4738192e+04 2.37e-05 1.70e+00  -4.1 5.47e-03  -0.6 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 290  3.4738193e+04 7.92e-07 1.45e-01  -4.1 1.04e-03   0.7 1.00e+00 1.00e+00h  1
 291  3.4738193e+04 8.22e-07 1.07e-01  -4.1 9.92e-04   0.2 1.00e+00 1.00e+00h  1
 292  3.4738193e+04 9.02e-07 2.44e-01  -4.1 1.07e-03  -0.3 1.00e+00 1.00e+00h  1
 293  3.4738193e+04 1.13e-06 4.25e-01  -4.1 1.62e-03  -0.7 1.00e+00 1.00e+00h  1
 294  3.4738193e+04 1.84e-06 1.42e+00  -4.1 3.32e-03  -1.2 1.00e+00 1.00e+00h  1
 295  3.4738193e+04 3.02e-07 1.72e-01  -4.1 1.17e-03  -0.8 1.00e+00 1.00e+00h  1
 296  3.4738193e+04 1.92e-06 2.16e+00  -4.1 3.92e-03  -1.3 1.00e+00 1.00e+00h  1
 297  3.4738194e+04 5.34e-07 3.47e-01  -4.1 1.41e-03  -0.9 1.00e+00 1.00e+00h  1
 298  3.4738193e+04 3.99e-06 4.10e+00  -4.1 4.51e-03  -1.3 1.00e+00 1.00e+00h  1
 299  3.4738193e+04 5.81e-08 3.61e-02  -4.1 2.83e-04   0.0 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 300  3.4738193e+04 5.95e-03 4.37e+03  -6.1 4.61e-01    -  3.56e-01 5.22e-01h  1

Number of Iterations....: 300

                                   (scaled)                 (unscaled)
Objective...............:   3.4738191912153823e+04    3.4738192613214247e+04
Dual infeasibility......:   4.3689336485119165e+03    4.3689337366824948e+03
Constraint violation....:   5.9468460949387847e-03    5.9468460949387847e-03
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   5.3188668457747996e-05    5.3188669531162255e-05
Overall NLP error.......:   4.6200974269982233e+01    4.3689337366824948e+03


Number of objective function evaluations             = 385
Number of objective gradient evaluations             = 301
Number of equality constraint evaluations            = 385
Number of inequality constraint evaluations          = 385
Number of equality constraint Jacobian evaluations   = 301
Number of inequality constraint Jacobian evaluations = 301
Number of Lagrangian Hessian evaluations             = 300
Total seconds in IPOPT                               = 1236.797

EXIT: Maximum Number of Iterations Exceeded.
0.9892725102405675

And let's plot this solution plot_unitary_populations(min_time_prob.trajectory)

It looks like our pulse derivative bounds are holding back the solution, but regardless, the duration has decreased:

duration = get_duration(prob.trajectory)
min_time_duration = get_duration(min_time_prob.trajectory)
println(duration, " - ", min_time_duration, " = ", duration - min_time_duration)
375.261785404795 - 347.3719218465748 = 27.889863558220156

Mølmer–Sørensen gate

Here we will solve for a Mølmer–Sørensen gate between two. The gate is generally described, for N qubits, by the unitary matrix

\[U_{\text{MS}}(\vec\theta) = \exp\left(i\sum_{j=1}^{N-1}\sum_{k=j+1}^{N}\theta_{jk}\sigma_j^x\sigma_k^x\right),\]

where $\sigma_j^x$ is the Pauli-X operator acting on the $j$-th qubit, and $\vec\theta$ is a vector of real parameters. The Mølmer–Sørensen gate is a two-qubit gate that is particularly well-suited for trapped-ion qubits, where the interaction between qubits is mediated.

Here we will focus on the simplest case of a Mølmer–Sørensen gate between two qubits. The gate is described by the unitary matrix

\[U_{\text{MS}}\left({\pi \over 4}\right) = \exp\left(i\frac{\pi}{4}\sigma_1^x\sigma_2^x\right).\]

Let's set up the problem.

# Define the goal operation
U_goal = exp(im * π/4 * σx_1 * σx_2)

# Set up and solve the problem

prob = UnitarySmoothPulseProblem(
    sys,
    U_goal,
    T,
    Δt;
    a_bound=a_bound,
    da_bound=da_bound,
    dda_bound=dda_bound,
    R_da=0.01,
    R_dda=0.01,
    Δt_max=Δt_max,
    piccolo_options=PiccoloOptions()
)
fid_init = unitary_rollout_fidelity(prob.trajectory, sys)
println(fid_init)

solve!(prob; max_iter=100)

# Let's take a look at the final fidelity
fid_final = unitary_rollout_fidelity(prob.trajectory, sys)
println(fid_final)
    constructing UnitarySmoothPulseProblem...
	using integrator: typeof(UnitaryIntegrator)
	control derivative names: [:da, :dda]
	applying timesteps_all_equal constraint: Δt
0.09681999362330182
    initializing optimizer...
        applying constraint: timesteps all equal constraint
        applying constraint: initial value of Ũ⃗
        applying constraint: initial value of a
        applying constraint: final value of a
        applying constraint: bounds on a
        applying constraint: bounds on da
        applying constraint: bounds on dda
        applying constraint: bounds on Δt
This is Ipopt version 3.14.17, running with linear solver MUMPS 5.8.0.

Number of nonzeros in equality constraint Jacobian...:   122590
Number of nonzeros in inequality constraint Jacobian.:        0
Number of nonzeros in Lagrangian Hessian.............:    22843

Total number of variables............................:     4460
                     variables with only lower bounds:        0
                variables with lower and upper bounds:     1292
                     variables with only upper bounds:        0
Total number of equality constraints.................:     4059
Total number of inequality constraints...............:        0
        inequality constraints with only lower bounds:        0
   inequality constraints with lower and upper bounds:        0
        inequality constraints with only upper bounds:        0

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
   0  6.4918930e-03 3.90e-01 1.15e+01   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  1.2623736e-02 3.90e-01 1.15e+01  -1.3 8.95e-01   2.0 6.61e-04 3.59e-04f  1
   2  1.0679974e-02 3.89e-01 6.27e+01  -1.6 8.19e-01   1.5 2.35e-03 1.02e-03f  1
   3  4.1702733e-01 3.89e-01 1.45e+01  -1.4 2.97e+00   1.0 1.58e-03 6.46e-04f  1
   4  3.5618386e-01 3.85e-01 6.23e+01  -1.6 8.88e-01   0.6 7.95e-03 1.19e-02f  1
   5  4.6248169e-01 3.83e-01 3.87e+02  -1.0 1.39e+00   1.0 4.69e-02 4.21e-03f  1
   6  2.6147479e+00 3.74e-01 4.50e+02  -0.5 1.10e+00   0.5 4.02e-02 2.29e-02f  1
   7  8.6896895e+00 3.60e-01 7.03e+03  -0.2 1.14e+00   0.9 7.44e-01 3.64e-02f  1
   8  3.7626253e+00 3.08e-01 5.96e+03   0.4 1.56e+00   0.5 1.52e-01 1.50e-01f  1
   9  2.8778591e+00 2.82e-01 5.50e+03   0.2 1.41e+00   0.9 1.51e-01 8.47e-02f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  2.6784492e+01 1.80e-01 1.75e+04   0.5 1.05e+00   1.3 1.00e+00 3.33e-01f  1
  11  5.5671837e+01 1.84e-01 1.11e+04   1.0 1.15e+00   1.7 1.00e+00 7.19e-01f  1
  12  9.0299904e+01 8.99e-02 3.34e+04   1.2 8.65e-01   2.2 1.00e+00 5.15e-01f  1
  13  9.8010533e+01 2.70e-02 3.24e+03   0.7 5.20e-01   1.7 1.00e+00 1.00e+00f  1
  14  9.8293533e+01 6.14e-04 6.18e+02  -0.0 1.26e-01   1.2 1.00e+00 1.00e+00f  1
  15  8.9491824e+01 2.50e-03 5.05e+01  -0.5 2.32e-01   0.7 1.00e+00 1.00e+00f  1
  16  8.4671679e+01 4.61e-04 8.52e+00  -1.5 8.34e-02   1.2 1.00e+00 1.00e+00f  1
  17  9.0379755e+01 1.53e-03 2.68e+03   0.2 1.71e+00   0.7 2.52e-01 7.10e-02f  1
  18  8.8589569e+01 3.68e-04 9.23e+00  -0.5 4.30e-02   1.1 1.00e+00 1.00e+00f  1
  19  7.0166203e+01 3.60e-03 1.83e+03  -4.0 1.84e+00   0.6 7.17e-02 1.47e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  5.9734183e+01 1.03e-03 6.60e+01  -1.3 1.33e-01   1.1 1.00e+00 9.53e-01f  1
  21  3.9849381e+01 3.15e-03 1.64e+03  -1.4 4.24e-01   0.6 1.00e+00 4.81e-01f  1
  22  1.9275842e+01 3.59e-03 6.34e+02  -0.9 5.97e-01   0.1 1.00e+00 3.35e-01f  1
  23  1.2993388e+01 5.95e-03 1.03e+03  -0.4 8.84e-01  -0.4 5.83e-01 3.11e-01f  1
  24  3.5385343e-01 1.74e-03 1.33e+02  -1.3 1.96e-01   0.1 1.00e+00 1.00e+00f  1
  25  1.3815012e+00 1.57e-03 2.23e+03  -0.4 6.14e-01  -0.4 1.00e+00 1.03e-01f  1
  26  6.6943429e+00 6.07e-03 1.70e+04   0.3 2.26e+00    -  9.93e-01 1.43e-01f  1
  27  8.6549221e+00 9.70e-03 3.32e+03   0.2 6.57e-01    -  1.00e+00 5.00e-01f  2
  28  8.0584703e+00 3.25e-02 2.95e+03   0.2 2.11e+00    -  5.38e-01 2.96e-01f  2
  29  7.4513050e+01 2.38e-02 3.49e+02   0.2 5.64e-01   0.0 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  1.3058426e+01 4.10e-03 2.30e+02   0.2 3.93e-01   0.4 1.00e+00 1.00e+00f  1
  31  1.0982903e+00 5.06e-04 1.12e+02   0.2 8.47e-02   0.9 1.00e+00 1.00e+00f  1
  32  7.4813958e-02 1.33e-04 1.43e+01  -1.0 3.87e-02   0.4 9.97e-01 1.00e+00f  1
  33  1.3263404e-02 4.31e-03 1.53e+02  -2.0 8.63e-02    -  8.64e-01 1.00e+00F  1
  34  5.4278736e-04 3.06e-03 4.47e+02  -1.4 2.77e-01  -0.1 1.00e+00 6.73e-01H  1
  35  8.7492661e-01 1.04e-04 7.02e+01  -1.7 1.65e-02   1.2 1.00e+00 1.00e+00h  1
  36  8.0736636e-01 9.66e-05 1.91e+02  -1.4 3.91e-02   1.7 1.00e+00 1.36e-01f  2
  37  4.8498498e-01 2.67e-04 1.48e+02  -1.5 4.94e-02   1.2 1.00e+00 5.92e-01f  1
  38  2.5065651e-01 2.04e-04 1.29e+02  -2.0 1.98e-01    -  1.00e+00 2.50e-01f  3
  39  1.8591429e-01 4.63e-05 7.06e+01  -2.1 9.93e-03   0.7 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  40  1.9002046e-01 2.47e-06 7.35e+00  -3.0 2.15e-03   2.0 1.00e+00 1.00e+00h  1
  41  1.7049583e-01 3.37e-06 9.25e-02  -4.0 2.19e-03   1.6 1.00e+00 1.00e+00f  1
  42  1.2683647e-01 1.19e-05 9.59e-02  -4.0 5.26e-03   1.1 1.00e+00 1.00e+00f  1
  43  5.8871438e-02 2.46e-05 9.26e-02  -4.0 9.04e-03   0.6 1.00e+00 1.00e+00f  1
  44  5.4253740e-03 2.19e-05 6.71e-02  -4.0 1.06e-02   0.1 1.00e+00 1.00e+00h  1
  45  6.3987770e-03 1.18e-05 7.08e+01  -4.0 1.00e-02  -0.4 1.00e+00 1.00e+00h  1
  46  8.1515564e-03 7.97e-06 7.07e+01  -4.0 5.98e-03  -0.8 1.00e+00 1.00e+00h  1
  47  1.0548951e-02 3.87e-09 1.82e-01  -4.0 6.06e-05   2.3 1.00e+00 1.00e+00h  1
  48  1.0234980e-02 5.75e-09 1.07e-02  -4.0 1.59e-04   1.8 1.00e+00 1.00e+00h  1
  49  9.3648838e-03 2.02e-08 1.03e-02  -4.0 4.57e-04   1.4 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  7.2463757e-03 1.16e-07 1.02e-02  -4.0 1.21e-03   0.9 1.00e+00 1.00e+00h  1
  51  3.4904886e-03 4.95e-07 1.41e-02  -4.0 2.63e-03   0.4 1.00e+00 1.00e+00h  1
  52  1.9270414e-04 1.04e-06 1.58e-02  -4.0 3.76e-03  -0.1 1.00e+00 1.00e+00h  1
  53  5.3479989e-04 1.05e-06 7.07e+01  -4.0 3.00e-03  -0.6 1.00e+00 1.00e+00h  1
  54  4.3999342e-04 2.11e-06 7.07e+01  -4.0 2.81e-03  -1.0 1.00e+00 1.00e+00h  1
  55  5.3076361e-04 1.75e-09 2.11e-01  -4.1 4.89e-05   2.1 1.00e+00 1.00e+00h  1
  56  5.1529429e-04 3.93e-10 2.16e-03  -4.0 5.12e-05   1.6 1.00e+00 1.00e+00h  1
  57  4.7229613e-04 1.65e-09 2.02e-03  -4.0 1.44e-04   1.1 1.00e+00 1.00e+00h  1
  58  3.7374160e-04 8.64e-09 2.21e-03  -4.0 3.61e-04   0.7 1.00e+00 1.00e+00h  1
  59  2.2649426e-04 3.55e-08 2.93e-03  -4.0 6.95e-04   0.2 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60  1.5656544e-04 7.42e-08 7.07e+01  -4.0 8.74e-04  -0.3 1.00e+00 1.00e+00h  1
  61  2.2696116e-04 7.96e-09 7.07e+01  -4.0 1.25e-03  -0.8 1.00e+00 1.00e+00H  1
  62  2.2589686e-04 1.95e-10 6.74e-02  -4.1 1.57e-05   2.4 1.00e+00 1.00e+00h  1
  63  2.2409262e-04 1.62e-10 1.15e-03  -4.0 1.46e-05   1.9 1.00e+00 1.00e+00h  1
  64  2.1966418e-04 2.62e-10 9.13e-04  -4.0 3.47e-05   1.4 1.00e+00 1.00e+00h  1
  65  2.0880070e-04 7.99e-10 8.31e-04  -4.0 9.49e-05   0.9 1.00e+00 1.00e+00h  1
  66  1.8699230e-04 4.17e-09 1.03e-03  -4.0 2.22e-04   0.5 1.00e+00 1.00e+00h  1
  67  1.6258140e-04 1.54e-08 1.25e-03  -4.0 3.88e-04  -0.0 1.00e+00 1.00e+00h  1
  68  1.5464406e-04 5.75e-08 9.67e-04  -4.0 5.52e-04  -0.5 1.00e+00 1.00e+00h  1
  69  1.5413234e-04 4.29e-07 4.90e-04  -4.0 1.37e-03  -1.0 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  70  1.5144025e-04 2.44e-06 1.60e-03  -4.0 3.11e-03  -1.4 1.00e+00 1.00e+00h  1
  71  1.5147142e-04 9.23e-06 7.58e-03  -4.0 6.13e-03  -1.9 1.00e+00 1.00e+00h  1
  72  1.8932770e-04 1.62e-05 2.24e-02  -4.1 9.52e-03  -2.4 1.00e+00 1.00e+00h  1
  73  2.2478580e-04 4.15e-05 5.90e-02  -4.1 1.75e-02  -2.9 1.00e+00 1.00e+00h  1
  74  2.7817480e-04 3.10e-05 7.07e+01  -4.1 2.87e-02  -3.4 1.00e+00 5.00e-01h  2
  75  3.8971403e-04 3.10e-05 3.06e-01  -4.1 6.85e+00  -3.8 9.19e-02 3.97e-04h  9
  76  4.2158398e-04 2.94e-05 7.07e+01  -4.1 7.17e-02  -4.3 1.00e+00 1.25e-01h  4
  77  3.8944710e-04 2.95e-05 3.07e-01  -4.1 5.81e+00  -3.9 1.13e-01 6.72e-04h  8
  78  2.2107075e-04 2.82e-05 7.06e+01  -4.1 6.68e-02  -4.4 1.00e+00 6.25e-02h  5
  79  3.1907823e-04 2.82e-05 3.18e-01  -4.1 5.88e+00  -3.9 1.14e-01 3.32e-04h  9
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  80  3.0633435e-04 2.70e-05 7.06e+01  -4.1 6.81e-02  -4.4 1.00e+00 6.25e-02h  5
  81  4.8141200e-04 2.72e-05 3.16e-01  -4.1 6.05e+00  -4.0 1.07e-01 6.47e-04h  8
  82  5.8817312e-04 2.62e-05 7.06e+01  -4.1 7.47e-02  -4.5 1.00e+00 1.25e-01h  4
  83  9.5279013e-04 2.71e-05 3.13e-01  -4.1 6.48e+00  -4.0 7.86e-02 1.45e-03h  7
  84  2.7654418e-04 4.05e-05 7.06e+01  -4.1 3.31e-02  -3.6 1.00e+00 5.00e-01h  2
  85  3.6245387e-04 4.03e-05 3.33e-01  -4.1 2.81e+00  -3.2 1.19e-01 5.50e-04h  9
  86  1.8090046e-03 2.37e-05 7.06e+01  -4.1 3.48e-02  -3.7 1.00e+00 5.00e-01h  2
  87  4.0901071e-04 2.46e-05 8.12e-01  -4.1 1.43e+00  -3.2 2.97e-01 1.05e-02h  6
  88  3.7795231e-04 4.46e-07 7.07e+01  -4.1 1.81e-03  -1.9 1.00e+00 1.00e+00h  1
  89  1.4372110e-04 2.23e-06 7.07e+01  -4.1 3.54e-03  -2.4 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90  1.3910077e-04 1.37e-11 2.23e-02  -4.1 1.09e-05   2.6 1.00e+00 1.00e+00h  1
  91  1.3909171e-04 2.52e-12 2.17e-04  -4.0 1.79e-06   2.1 1.00e+00 1.00e+00h  1
  92  1.5035375e-04 1.81e-02 7.07e+01  -4.0 4.70e-01    -  1.00e+00 1.00e+00f  1
  93  2.5818859e+00 4.65e-03 1.01e+03  -4.1 2.10e-01   1.6 6.28e-01 7.82e-01h  1
  94  5.9641610e-01 1.11e-03 2.64e+02  -4.1 6.81e-02   2.0 2.47e-02 7.86e-01f  1
  95  2.1488032e-01 4.37e-04 9.83e+01  -4.1 1.48e-02   2.5 3.08e-01 6.12e-01f  1
  96  2.8743195e-02 2.67e-06 7.07e+01  -4.1 5.85e-03   2.0 1.00e+00 1.00e+00f  1
  97  2.7168050e-02 1.00e-08 3.11e-01  -4.1 1.38e-04   2.4 1.00e+00 1.00e+00h  1
  98  2.5855702e-02 2.66e-08 3.30e-02  -4.1 3.61e-04   1.9 1.00e+00 1.00e+00f  1
  99  2.2374551e-02 2.28e-07 3.39e-02  -4.1 9.78e-04   1.5 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 100  1.4850550e-02 1.17e-06 3.49e-02  -4.1 2.22e-03   1.0 1.00e+00 1.00e+00f  1

Number of Iterations....: 100

                                   (scaled)                 (unscaled)
Objective...............:   1.4850549627785755e-02    1.4850549627785755e-02
Dual infeasibility......:   3.4882667066872375e-02    3.4882667066872375e-02
Constraint violation....:   1.1748517605192929e-06    1.1748517605192929e-06
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   7.9516327900806661e-05    7.9516327900806661e-05
Overall NLP error.......:   3.4882667066872375e-02    3.4882667066872375e-02


Number of objective function evaluations             = 201
Number of objective gradient evaluations             = 101
Number of equality constraint evaluations            = 201
Number of inequality constraint evaluations          = 0
Number of equality constraint Jacobian evaluations   = 101
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations             = 100
Total seconds in IPOPT                               = 396.125

EXIT: Maximum Number of Iterations Exceeded.
0.9998455542985802

Again, looks good!

Now let's plot the pulse and the population trajectories for the first two columns of the unitary, i.e. initial state of $\ket{00}$ and $\ket{01}$. plot_unitary_populations(prob.trajectory)

For fun, let's look at a minimum time pulse for this problem

min_time_prob = UnitaryMinimumTimeProblem(prob, U_goal; final_fidelity=.999)
solve!(min_time_prob; max_iter=300)
fid_final_min_time = unitary_rollout_fidelity(min_time_prob.trajectory, sys)
println(fid_final_min_time)
    constructing UnitaryMinimumTimeProblem...
	final fidelity: 0.999
    initializing optimizer...
        applying constraint: timesteps all equal constraint
        applying constraint: initial value of Ũ⃗
        applying constraint: initial value of a
        applying constraint: final value of a
        applying constraint: bounds on a
        applying constraint: bounds on da
        applying constraint: bounds on dda
        applying constraint: bounds on Δt
This is Ipopt version 3.14.17, running with linear solver MUMPS 5.8.0.

Number of nonzeros in equality constraint Jacobian...:    47302
Number of nonzeros in inequality constraint Jacobian.:       32
Number of nonzeros in Lagrangian Hessian.............:    23371

Total number of variables............................:     4460
                     variables with only lower bounds:        0
                variables with lower and upper bounds:     1292
                     variables with only upper bounds:        0
Total number of equality constraints.................:     4059
Total number of inequality constraints...............:        1
        inequality constraints with only lower bounds:        0
   inequality constraints with lower and upper bounds:        0
        inequality constraints with only upper bounds:        1

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
   0  2.3451336e+04 1.17e-06 1.00e+02   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  1.0579211e+04 4.97e-02 9.82e+01  -1.3 8.62e+01    -  1.84e-02 1.51e-02f  1
   2  1.0568558e+04 4.96e-02 1.37e+04  -0.9 7.30e-01   2.0 1.00e+00 2.28e-03f  1
   3  1.0122569e+04 4.80e-02 5.42e+04   0.2 1.26e+00   1.5 1.00e+00 3.57e-02f  1
   4  1.0781366e+04 4.46e-02 7.48e+04   1.7 5.16e+00    -  1.00e+00 7.71e-02f  1
   5  1.1838945e+04 3.34e-02 1.55e+05   1.9 1.82e+00    -  1.00e+00 2.86e-01f  1
   6  1.2955971e+04 2.07e-02 1.65e+04   1.6 1.08e+00    -  1.00e+00 1.00e+00h  1
   7  1.6501228e+04 1.49e-02 9.55e+04   2.2 1.01e+01    -  1.00e+00 5.62e-01F  1
   8  1.5848926e+04 9.87e-03 1.46e+05   1.5 4.56e-01    -  1.00e+00 3.23e-01f  1
   9  1.3194047e+04 5.11e-03 3.03e+04   1.0 4.24e-01   1.9 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  1.1394311e+04 2.98e-03 4.94e+04   1.0 3.79e-01    -  1.00e+00 4.80e-01f  1
  11  1.0885251e+04 1.75e-03 8.21e+03   0.6 1.98e-01    -  1.00e+00 9.13e-01f  1
  12  1.1160773e+04 1.22e-03 9.74e+03   0.8 1.83e-01    -  1.00e+00 6.43e-01h  1
  13  1.1086844e+04 7.00e-04 2.69e+04   0.2 8.41e-02    -  1.00e+00 5.38e-01f  1
  14  1.1150993e+04 6.09e-04 1.76e+04   0.5 1.33e-01    -  1.00e+00 2.50e-01h  3
  15  1.1167928e+04 5.66e-04 1.72e+04   0.1 1.47e-01    -  1.00e+00 1.25e-01h  4
  16  1.1144475e+04 1.96e-03 5.02e+04  -0.1 1.80e-01    -  8.68e-01 6.44e-01H  1
  17  1.1274486e+04 2.18e-04 7.75e+03  -0.1 6.33e-02   1.5 8.63e-01 8.95e-01h  1
  18  1.1353205e+04 2.03e-04 4.28e+04  -0.1 1.02e-01    -  1.00e+00 2.39e-01h  3
  19  1.1387891e+04 1.97e-04 4.93e+04  -0.7 1.07e-01    -  1.00e+00 1.25e-01h  4
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  1.1420288e+04 2.02e-04 5.01e+04  -0.8 1.59e-01    -  1.00e+00 1.25e-01h  4
  21  1.1432198e+04 2.04e-04 5.67e+04  -1.0 3.59e-01    -  1.00e+00 4.99e-02h  5
  22  1.1434704e+04 2.03e-04 6.09e+04  -0.7 7.77e-01    -  1.00e+00 1.22e-02h  6
  23  1.1451099e+04 2.03e-04 5.59e+04  -0.8 2.03e-01    -  1.00e+00 6.25e-02h  5
  24  1.1454821e+04 2.02e-04 5.91e+04  -0.9 6.24e-01    -  9.89e-01 1.73e-02h  6
  25  1.1462377e+04 2.01e-04 5.78e+04  -0.9 3.71e-01    -  1.00e+00 3.12e-02h  6
  26  1.1478550e+04 2.03e-04 5.67e+04  -0.6 3.29e-01    -  1.00e+00 6.25e-02h  5
  27  1.1486388e+04 2.01e-04 5.88e+04  -0.8 3.47e-01    -  1.00e+00 3.12e-02h  6
  28  1.1491224e+04 2.00e-04 5.69e+04  -1.1 5.06e-01    -  1.00e+00 2.15e-02h  6
  29  1.1498649e+04 1.99e-04 5.61e+04  -1.2 3.79e-01    -  1.00e+00 3.12e-02h  6
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  1.1504391e+04 1.98e-04 5.61e+04  -1.2 4.57e-01    -  1.00e+00 2.51e-02h  6
  31  1.1511978e+04 1.96e-04 5.63e+04  -1.2 3.47e-01    -  1.00e+00 3.12e-02h  6
  32  1.1518260e+04 1.95e-04 5.60e+04  -1.2 4.11e-01    -  1.00e+00 2.67e-02h  6
  33  1.1525942e+04 1.93e-04 5.63e+04  -1.1 3.25e-01    -  1.00e+00 3.12e-02h  6
  34  1.1532740e+04 1.91e-04 5.59e+04  -1.2 3.69e-01    -  1.00e+00 2.84e-02h  6
  35  1.1540403e+04 1.89e-04 5.59e+04  -1.2 3.18e-01    -  1.00e+00 3.12e-02h  6
  36  1.1547614e+04 1.87e-04 5.53e+04  -1.3 3.35e-01    -  1.00e+00 2.98e-02h  6
  37  1.1590856e+04 1.49e-04 4.57e+04  -1.3 3.12e-01    -  2.08e-01 1.19e-01H  1
  38  1.1596948e+04 1.48e-04 5.69e+04  -0.9 4.50e-01    -  1.00e+00 2.57e-02h  6
  39  1.1612105e+04 1.47e-04 5.55e+04  -1.2 2.78e-01    -  1.00e+00 6.25e-02h  5
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  40  1.1615846e+04 1.46e-04 5.38e+04  -1.3 5.46e-01    -  1.00e+00 1.75e-02h  6
  41  1.1635948e+04 1.45e-04 5.19e+04  -1.5 2.18e-01    -  8.35e-01 8.40e-02h  3
  42  1.1644906e+04 1.49e-04 5.32e+04  -1.7 4.09e-01    -  1.00e+00 4.19e-02h  5
  43  1.1673390e+04 1.46e-04 4.76e+04  -1.7 2.03e-01    -  3.36e-01 1.23e-01H  1
  44  1.1697213e+04 1.39e-04 4.81e+04  -2.3 1.10e-01    -  5.76e-01 1.08e-01h  4
  45  1.1714420e+04 1.20e-04 4.22e+04  -4.0 2.07e-01    -  7.03e-03 1.12e-01h  2
  46  1.1724930e+04 1.14e-04 5.08e+04  -1.4 2.96e-02   1.0 7.72e-01 5.18e-02h  1
  47  1.1727223e+04 1.13e-04 4.94e+04  -0.9 4.62e-01    -  1.14e-01 2.08e-02h  4
  48  1.1733583e+04 1.12e-04 4.76e+04  -1.4 3.27e-01    -  7.71e-01 4.37e-02h  4
  49  1.1765118e+04 1.01e-04 4.14e+04  -2.4 1.09e-01    -  6.55e-01 1.81e-01h  3
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  1.1845003e+04 6.63e-05 2.81e+04  -2.1 4.04e-02   0.5 1.00e+00 4.76e-01h  2
  51  1.1891968e+04 4.59e-05 3.02e+04  -1.8 2.97e-02   0.9 1.00e+00 3.81e-01h  1
  52  1.1983182e+04 4.94e-05 9.06e+03  -2.2 2.40e-02   0.5 1.00e+00 9.88e-01h  1
  53  1.1987679e+04 4.18e-05 7.66e+03  -2.3 3.43e-02   0.9 1.74e-01 1.53e-01H  1
  54  1.1991162e+04 2.36e-05 4.33e+03  -4.0 5.82e-03   1.3 4.70e-01 4.35e-01h  1
  55  1.1996271e+04 3.26e-06 2.03e+02  -3.1 3.68e-03   0.8 1.00e+00 1.00e+00h  1
  56  1.1996719e+04 8.44e-08 1.16e+00  -4.0 5.62e-04   0.4 1.00e+00 1.00e+00h  1
  57  1.1996642e+04 1.51e-04 2.40e+01  -4.0 1.63e-01    -  4.43e-01 3.29e-01f  1
  58  1.1996711e+04 9.33e-07 2.50e+00  -4.1 1.69e-03   0.8 1.00e+00 1.00e+00h  1
  59  1.1996685e+04 1.44e-03 5.79e+02  -4.0 3.82e-02    -  1.40e-02 2.64e-02H  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60  1.1996457e+04 3.96e-06 1.45e+01  -4.2 1.63e-02   2.1 1.00e+00 1.00e+00h  1
  61  1.1996490e+04 3.47e-06 1.10e+02  -4.2 1.52e-02    -  9.74e-01 1.25e-01h  4
  62  1.1996493e+04 3.41e-06 1.10e+02  -4.2 2.25e-02    -  8.64e-02 1.57e-02H  1
  63  1.1996530e+04 2.87e-06 9.29e+01  -4.2 5.95e-03   1.6 1.86e-01 1.58e-01h  1
  64  1.1996673e+04 7.74e-07 2.46e+01  -4.2 1.27e-03   1.2 3.19e-01 7.44e-01h  1
  65  1.1996677e+04 4.27e-05 2.00e+01  -4.0 1.33e-01    -  2.48e-01 1.73e-01f  1
  66  1.1996716e+04 6.35e-06 2.65e+00  -4.3 1.39e-03   0.7 7.03e-01 8.51e-01h  1
  67  1.1996722e+04 1.15e-07 2.27e-02  -4.3 6.51e-04   0.2 1.00e+00 1.00e+00h  1
  68  1.1996722e+04 5.29e-08 3.84e-02  -6.4 1.04e-03    -  9.91e-01 1.00e+00h  1
  69  1.1996722e+04 1.78e-09 2.19e-04  -6.4 7.07e-05  -0.3 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  70  1.1996722e+04 1.65e-08 7.21e+00  -4.0 2.62e-02  -0.7 1.00e+00 7.72e-03f  2
  71  1.1996722e+04 2.59e-04 4.36e+01  -4.1 7.29e-02    -  6.69e-01 1.00e+00f  1
  72  1.1996717e+04 6.48e-08 2.24e-01  -4.1 3.28e-03   1.5 1.00e+00 1.00e+00h  1
  73  1.1996717e+04 6.45e-08 6.96e-01  -4.0 2.21e-02    -  1.00e+00 3.91e-03h  9
  74  1.1996717e+04 6.43e-08 5.49e-01  -4.0 2.28e-02    -  1.00e+00 3.91e-03h  9
  75  1.1996717e+04 6.38e-08 1.28e+00  -4.1 1.73e-02    -  1.00e+00 7.81e-03h  8
  76  1.1996717e+04 6.36e-08 1.17e+00  -4.1 1.95e-02    -  1.00e+00 3.91e-03h  9
  77  1.1996717e+04 6.33e-08 1.19e+00  -4.1 1.92e-02    -  1.00e+00 3.91e-03h  9
  78  1.1996717e+04 6.31e-08 1.18e+00  -4.1 1.93e-02    -  1.00e+00 3.91e-03h  9
  79  1.1996717e+04 6.30e-08 1.19e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  80  1.1996717e+04 6.29e-08 4.75e-01  -4.0 2.42e-02    -  1.00e+00 1.95e-03h 10
  81  1.1996717e+04 6.26e-08 1.30e+00  -4.1 1.71e-02    -  1.00e+00 3.91e-03h  9
  82  1.1996717e+04 6.25e-08 1.16e+00  -4.1 1.95e-02    -  1.00e+00 1.95e-03h 10
  83  1.1996717e+04 6.24e-08 1.19e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
  84  1.1996717e+04 6.23e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
  85  1.1996717e+04 6.21e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
  86  1.1996717e+04 6.20e-08 4.75e-01  -4.0 2.41e-02    -  1.00e+00 1.95e-03h 10
  87  1.1996717e+04 6.18e-08 1.29e+00  -4.1 1.70e-02    -  1.00e+00 3.91e-03h  9
  88  1.1996717e+04 6.17e-08 1.16e+00  -4.1 1.95e-02    -  1.00e+00 1.95e-03h 10
  89  1.1996717e+04 6.16e-08 1.19e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90  1.1996717e+04 6.14e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
  91  1.1996717e+04 6.13e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
  92  1.1996717e+04 6.12e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
  93  1.1996717e+04 6.11e-08 4.74e-01  -4.0 2.41e-02    -  1.00e+00 1.95e-03h 10
  94  1.1996717e+04 6.09e-08 1.29e+00  -4.1 1.70e-02    -  1.00e+00 3.91e-03h  9
  95  1.1996717e+04 6.07e-08 1.16e+00  -4.1 1.95e-02    -  1.00e+00 1.95e-03h 10
  96  1.1996717e+04 6.06e-08 1.18e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
  97  1.1996717e+04 6.05e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
  98  1.1996717e+04 6.04e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
  99  1.1996717e+04 6.03e-08 1.18e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 100  1.1996717e+04 6.02e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 101  1.1996717e+04 6.01e-08 4.74e-01  -4.0 2.41e-02    -  1.00e+00 9.77e-04h 11
 102  1.1996717e+04 5.99e-08 1.28e+00  -4.1 1.70e-02    -  1.00e+00 3.91e-03h  9
 103  1.1996717e+04 5.98e-08 1.15e+00  -4.1 1.95e-02    -  1.00e+00 1.95e-03h 10
 104  1.1996717e+04 5.96e-08 1.18e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 105  1.1996717e+04 5.95e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 106  1.1996717e+04 5.94e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 107  1.1996717e+04 5.93e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 108  1.1996717e+04 5.92e-08 4.72e-01  -4.0 2.41e-02    -  1.00e+00 9.77e-04h 11
 109  1.1996717e+04 5.91e-08 1.28e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 110  1.1996717e+04 5.90e-08 1.15e+00  -4.1 1.95e-02    -  1.00e+00 1.95e-03h 10
 111  1.1996717e+04 5.89e-08 1.17e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 112  1.1996717e+04 5.88e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 113  1.1996717e+04 5.87e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 114  1.1996717e+04 5.86e-08 4.72e-01  -4.0 2.41e-02    -  1.00e+00 9.77e-04h 11
 115  1.1996717e+04 5.85e-08 1.28e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
 116  1.1996717e+04 5.84e-08 1.15e+00  -4.1 1.95e-02    -  1.00e+00 1.95e-03h 10
 117  1.1996717e+04 5.83e-08 1.17e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 118  1.1996717e+04 5.82e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 119  1.1996717e+04 5.81e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 120  1.1996717e+04 5.79e-08 1.17e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 121  1.1996717e+04 5.79e-08 4.71e-01  -4.0 2.41e-02    -  1.00e+00 9.77e-04h 11
 122  1.1996717e+04 5.78e-08 1.27e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
 123  1.1996717e+04 5.77e-08 1.15e+00  -4.1 1.95e-02    -  1.00e+00 1.95e-03h 10
 124  1.1996717e+04 5.76e-08 1.17e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 125  1.1996717e+04 5.74e-08 1.16e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 126  1.1996717e+04 5.73e-08 1.16e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 127  1.1996717e+04 5.72e-08 1.16e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 128  1.1996717e+04 5.72e-08 4.70e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 129  1.1996717e+04 5.71e-08 1.27e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 130  1.1996717e+04 5.69e-08 1.14e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 131  1.1996717e+04 5.68e-08 1.17e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 132  1.1996717e+04 5.67e-08 1.16e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 133  1.1996717e+04 5.66e-08 1.16e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 134  1.1996717e+04 5.65e-08 1.16e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 135  1.1996717e+04 5.65e-08 4.69e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 136  1.1996717e+04 5.63e-08 1.26e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
 137  1.1996717e+04 5.62e-08 1.14e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 138  1.1996717e+04 5.61e-08 1.16e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 139  1.1996717e+04 5.60e-08 1.16e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 140  1.1996717e+04 5.59e-08 1.16e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 141  1.1996717e+04 5.58e-08 1.16e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 142  1.1996717e+04 5.58e-08 4.68e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 143  1.1996717e+04 5.56e-08 1.26e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
 144  1.1996717e+04 5.55e-08 1.14e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 145  1.1996717e+04 5.54e-08 1.16e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 146  1.1996717e+04 5.53e-08 1.15e+00  -4.1 1.92e-02    -  1.00e+00 1.95e-03h 10
 147  1.1996717e+04 5.52e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 148  1.1996717e+04 5.51e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 149  1.1996717e+04 5.51e-08 4.67e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 150  1.1996717e+04 5.50e-08 1.26e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
 151  1.1996717e+04 5.48e-08 1.13e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 152  1.1996717e+04 5.47e-08 1.16e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 153  1.1996717e+04 5.46e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 154  1.1996717e+04 5.45e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 155  1.1996717e+04 5.44e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 156  1.1996717e+04 5.44e-08 4.66e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 157  1.1996717e+04 5.43e-08 1.25e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
 158  1.1996717e+04 5.42e-08 1.13e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 159  1.1996717e+04 5.41e-08 1.15e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 160  1.1996717e+04 5.40e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 161  1.1996717e+04 5.39e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 162  1.1996717e+04 5.38e-08 1.15e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 163  1.1996717e+04 5.37e-08 4.65e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 164  1.1996718e+04 5.36e-08 1.25e+00  -4.1 1.70e-02    -  1.00e+00 1.95e-03h 10
 165  1.1996718e+04 5.35e-08 1.13e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 166  1.1996718e+04 5.34e-08 1.15e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 167  1.1996718e+04 5.33e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 168  1.1996718e+04 5.32e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 169  1.1996718e+04 5.31e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 170  1.1996718e+04 5.30e-08 4.64e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 171  1.1996718e+04 5.29e-08 1.24e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 172  1.1996718e+04 5.28e-08 1.12e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 173  1.1996718e+04 5.27e-08 1.14e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 174  1.1996718e+04 5.26e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 175  1.1996718e+04 5.25e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 176  1.1996718e+04 5.24e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 177  1.1996718e+04 5.24e-08 4.63e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 178  1.1996718e+04 5.23e-08 1.24e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 179  1.1996718e+04 5.22e-08 1.12e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 180  1.1996718e+04 5.21e-08 1.14e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 181  1.1996718e+04 5.20e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 182  1.1996718e+04 5.19e-08 1.14e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 183  1.1996718e+04 5.18e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 184  1.1996718e+04 5.17e-08 4.62e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 185  1.1996718e+04 5.16e-08 1.23e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 186  1.1996718e+04 5.15e-08 1.12e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 187  1.1996718e+04 5.14e-08 1.14e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 188  1.1996718e+04 5.13e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 189  1.1996718e+04 5.12e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 190  1.1996718e+04 5.11e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 191  1.1996718e+04 5.11e-08 4.61e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 192  1.1996718e+04 5.10e-08 1.23e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 193  1.1996718e+04 5.09e-08 1.11e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 194  1.1996718e+04 5.08e-08 1.13e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 195  1.1996718e+04 5.07e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 196  1.1996718e+04 5.06e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 197  1.1996718e+04 5.05e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 198  1.1996718e+04 5.04e-08 4.60e-01  -4.0 2.40e-02    -  1.00e+00 9.77e-04h 11
 199  1.1996718e+04 5.03e-08 1.22e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 200  1.1996718e+04 5.02e-08 1.11e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 201  1.1996718e+04 5.02e-08 1.13e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 202  1.1996718e+04 5.01e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 203  1.1996718e+04 5.00e-08 1.13e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 204  1.1996718e+04 4.99e-08 1.12e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 205  1.1996718e+04 4.98e-08 4.59e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 206  1.1996718e+04 4.97e-08 1.22e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 207  1.1996718e+04 4.96e-08 1.11e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 208  1.1996718e+04 4.95e-08 1.13e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 209  1.1996718e+04 4.94e-08 1.12e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 210  1.1996718e+04 4.93e-08 1.12e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 211  1.1996718e+04 4.92e-08 1.12e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 212  1.1996718e+04 4.92e-08 4.58e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 213  1.1996718e+04 4.91e-08 1.22e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 214  1.1996718e+04 4.90e-08 1.10e+00  -4.1 1.94e-02    -  1.00e+00 1.95e-03h 10
 215  1.1996718e+04 4.89e-08 1.12e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 216  1.1996718e+04 4.88e-08 1.12e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 217  1.1996718e+04 4.87e-08 1.12e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 218  1.1996718e+04 4.86e-08 1.12e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 219  1.1996718e+04 4.86e-08 4.56e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 220  1.1996718e+04 4.85e-08 1.21e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 221  1.1996718e+04 4.84e-08 1.10e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 222  1.1996718e+04 4.83e-08 1.12e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 223  1.1996718e+04 4.82e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 224  1.1996718e+04 4.81e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 225  1.1996718e+04 4.80e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 226  1.1996718e+04 4.80e-08 4.55e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 227  1.1996718e+04 4.79e-08 1.21e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 228  1.1996718e+04 4.78e-08 1.10e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 229  1.1996718e+04 4.77e-08 1.11e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 230  1.1996718e+04 4.76e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 231  1.1996718e+04 4.75e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 232  1.1996718e+04 4.74e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 233  1.1996718e+04 4.74e-08 4.54e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 234  1.1996718e+04 4.73e-08 1.20e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 235  1.1996718e+04 4.72e-08 1.09e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 236  1.1996718e+04 4.71e-08 1.11e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 237  1.1996718e+04 4.70e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 238  1.1996718e+04 4.69e-08 1.11e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 239  1.1996718e+04 4.68e-08 1.11e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 240  1.1996718e+04 4.68e-08 4.53e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 241  1.1996718e+04 4.67e-08 1.20e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 242  1.1996718e+04 4.66e-08 1.09e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 243  1.1996718e+04 4.65e-08 1.11e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 244  1.1996718e+04 4.64e-08 1.10e+00  -4.1 1.91e-02    -  1.00e+00 1.95e-03h 10
 245  1.1996718e+04 4.63e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 246  1.1996718e+04 4.63e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 247  1.1996718e+04 4.62e-08 4.52e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 248  1.1996718e+04 4.61e-08 1.19e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 249  1.1996718e+04 4.60e-08 1.09e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 250  1.1996718e+04 4.59e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 251  1.1996718e+04 4.59e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 252  1.1996718e+04 4.58e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 253  1.1996718e+04 4.57e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 254  1.1996718e+04 4.56e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 255  1.1996718e+04 4.55e-08 4.50e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 256  1.1996718e+04 4.55e-08 1.19e+00  -4.1 1.69e-02    -  1.00e+00 1.95e-03h 10
 257  1.1996718e+04 4.54e-08 1.08e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 258  1.1996718e+04 4.53e-08 1.10e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 259  1.1996718e+04 4.52e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 260  1.1996718e+04 4.51e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 261  1.1996718e+04 4.50e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 262  1.1996718e+04 4.49e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 263  1.1996718e+04 4.49e-08 4.49e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 264  1.1996718e+04 4.48e-08 1.18e+00  -4.1 1.68e-02    -  1.00e+00 1.95e-03h 10
 265  1.1996718e+04 4.47e-08 1.08e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 266  1.1996718e+04 4.46e-08 1.09e+00  -4.1 1.89e-02    -  1.00e+00 1.95e-03h 10
 267  1.1996718e+04 4.45e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 268  1.1996718e+04 4.45e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 269  1.1996718e+04 4.44e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 270  1.1996718e+04 4.43e-08 1.09e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 271  1.1996718e+04 4.42e-08 4.47e-01  -4.0 2.39e-02    -  1.00e+00 9.77e-04h 11
 272  1.1996718e+04 4.42e-08 1.18e+00  -4.1 1.68e-02    -  1.00e+00 1.95e-03h 10
 273  1.1996718e+04 4.41e-08 1.07e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 274  1.1996718e+04 4.40e-08 1.09e+00  -4.1 1.89e-02    -  1.00e+00 1.95e-03h 10
 275  1.1996718e+04 4.39e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 276  1.1996718e+04 4.38e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 277  1.1996718e+04 4.37e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 278  1.1996718e+04 4.37e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 279  1.1996718e+04 4.36e-08 4.46e-01  -4.0 2.38e-02    -  1.00e+00 9.77e-04h 11
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 280  1.1996718e+04 4.35e-08 1.17e+00  -4.1 1.68e-02    -  1.00e+00 1.95e-03h 10
 281  1.1996718e+04 4.34e-08 1.07e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 282  1.1996718e+04 4.34e-08 1.08e+00  -4.1 1.89e-02    -  1.00e+00 1.95e-03h 10
 283  1.1996718e+04 4.33e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 284  1.1996718e+04 4.32e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 285  1.1996718e+04 4.31e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 286  1.1996718e+04 4.30e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 287  1.1996718e+04 4.30e-08 4.44e-01  -4.0 2.38e-02    -  1.00e+00 9.77e-04h 11
 288  1.1996718e+04 4.29e-08 1.16e+00  -4.1 1.68e-02    -  1.00e+00 1.95e-03h 10
 289  1.1996718e+04 4.28e-08 1.06e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 290  1.1996718e+04 4.27e-08 1.08e+00  -4.1 1.89e-02    -  1.00e+00 1.95e-03h 10
 291  1.1996718e+04 4.27e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 292  1.1996718e+04 4.26e-08 1.08e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 293  1.1996718e+04 4.25e-08 1.07e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 294  1.1996718e+04 4.24e-08 1.07e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 295  1.1996718e+04 4.23e-08 1.07e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10
 296  1.1996718e+04 4.23e-08 4.42e-01  -4.0 2.38e-02    -  1.00e+00 9.77e-04h 11
 297  1.1996718e+04 4.22e-08 1.16e+00  -4.1 1.68e-02    -  1.00e+00 1.95e-03h 10
 298  1.1996718e+04 4.21e-08 1.06e+00  -4.1 1.93e-02    -  1.00e+00 1.95e-03h 10
 299  1.1996718e+04 4.20e-08 1.07e+00  -4.1 1.89e-02    -  1.00e+00 1.95e-03h 10
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 300  1.1996718e+04 4.20e-08 1.07e+00  -4.1 1.90e-02    -  1.00e+00 1.95e-03h 10

Number of Iterations....: 300

                                   (scaled)                 (unscaled)
Objective...............:   1.1996717869481730e+04    1.1996718192632952e+04
Dual infeasibility......:   1.0701217514288146e+00    1.0701217802542948e+00
Constraint violation....:   4.1962389341065887e-08    4.1962389341065887e-08
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   1.8516828628967804e-04    1.8516829127748877e-04
Overall NLP error.......:   7.7151424121577432e-03    1.0701217802542948e+00


Number of objective function evaluations             = 2815
Number of objective gradient evaluations             = 301
Number of equality constraint evaluations            = 2815
Number of inequality constraint evaluations          = 2815
Number of equality constraint Jacobian evaluations   = 301
Number of inequality constraint Jacobian evaluations = 301
Number of Lagrangian Hessian evaluations             = 300
Total seconds in IPOPT                               = 1145.107

EXIT: Maximum Number of Iterations Exceeded.
0.9989999763593241

And let's plot this solution plot_unitary_populations(min_time_prob.trajectory)

It looks like our pulse derivative bounds are holding back the solution, but regardless, the duration has decreased:

duration = get_duration(prob.trajectory)
min_time_duration = get_duration(min_time_prob.trajectory)
println(duration, " - ", min_time_duration, " = ", duration - min_time_duration)
234.51321464411353 - 119.96618007145669 = 114.54703457265684

This page was generated using Literate.jl.