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 PiccoloPlots
using 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(bound_state=true),
)
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.00039542607543285754

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)
@assert fid_final > 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
        applying constraint: bounds on Ũ⃗
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:     4460
                     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  1.9967959e+00 4.51e-01 1.67e+01   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  1.9988675e+00 4.50e-01 1.67e+01  -2.2 1.02e+00    -  2.21e-03 3.71e-03f  1
   2  1.9660131e+00 4.48e-01 1.66e+01  -2.2 9.78e-01    -  4.62e-03 3.69e-03f  1
   3  1.9912661e+00 4.44e-01 1.65e+01  -2.2 8.62e-01    -  4.63e-03 8.84e-03f  1
   4  2.0795420e+00 4.41e-01 1.81e+01  -2.0 8.50e-01    -  1.73e-02 7.94e-03f  1
   5  2.2058972e+00 4.37e-01 2.35e+01  -4.0 9.09e-01    -  1.22e-02 9.28e-03h  1
   6  2.7673296e+00 4.30e-01 8.05e+01  -1.7 1.00e+00    -  3.50e-02 1.48e-02f  1
   7  4.2160272e+00 4.17e-01 9.78e+01  -1.8 9.20e-01    -  3.97e-02 2.95e-02f  1
   8  7.6303592e+00 4.02e-01 1.37e+02  -1.1 9.06e-01    -  7.03e-02 3.43e-02f  1
   9  1.3480999e+01 3.73e-01 1.25e+02  -1.2 8.59e-01    -  6.26e-02 7.04e-02f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  1.4271986e+01 3.66e-01 1.05e+02  -1.9 9.26e-01    -  6.87e-02 1.82e-02h  1
  11  2.8657221e+01 3.28e-01 2.28e+02  -0.7 1.19e+00    -  3.24e-02 9.48e-02f  1
  12  3.7983485e+01 3.10e-01 2.21e+02  -4.0 1.41e+00   0.0 3.92e-02 5.39e-02h  1
  13  4.5293446e+01 2.87e-01 2.07e+02  -1.0 1.07e+00   0.4 1.34e-01 6.86e-02h  1
  14  5.1134334e+01 2.64e-01 5.25e+02  -1.1 9.43e-01   0.9 1.90e-01 7.96e-02h  1
  15  5.8488021e+01 2.44e-01 6.75e+02  -1.1 1.15e+00   0.4 1.83e-01 7.08e-02h  1
  16  6.6457172e+01 2.02e-01 9.39e+02  -1.4 8.45e-01   0.8 2.68e-01 1.61e-01h  1
  17  6.7486505e+01 1.77e-01 9.02e+03  -0.3 8.63e-01   1.2 7.25e-01 1.13e-01f  1
  18  6.8655237e+01 1.38e-01 7.11e+03  -0.4 9.59e-01   0.7 3.63e-01 2.02e-01h  1
  19  6.7319865e+01 1.24e-01 1.12e+04  -0.1 6.15e-01   1.2 2.99e-01 9.54e-02f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  5.9982031e+01 1.08e-01 8.26e+03   0.3 1.45e+00   0.7 1.07e-01 1.27e-01f  1
  21  6.0133208e+01 9.76e-02 1.29e+04   0.2 6.66e-01   1.1 1.93e-01 9.03e-02f  1
  22  5.8272421e+01 8.08e-02 1.07e+04   0.2 9.60e-01   0.6 1.88e-01 1.70e-01f  1
  23  6.1107349e+01 5.20e-02 5.59e+03   0.2 4.55e-01   1.1 3.17e-01 3.26e-01f  1
  24  6.2122460e+01 4.46e-02 6.11e+03  -0.2 5.31e-01   0.6 3.83e-01 1.60e-01h  1
  25  6.3921416e+01 4.30e-02 3.95e+04   1.0 1.69e+00   1.0 1.18e-01 3.56e-02f  1
  26  7.3958560e+01 3.03e-02 1.51e+04   0.6 7.33e-01   0.5 4.17e-01 4.86e-01f  1
  27  7.4850149e+01 1.77e-02 2.53e+04   0.0 2.10e-01   1.0 7.15e-01 4.28e-01h  1
  28  7.5913314e+01 3.95e-03 1.46e+05  -0.3 1.01e-01   1.4 2.14e-01 1.00e+00f  1
  29  7.2082474e+01 2.32e-03 9.30e+04  -4.0 3.59e-01    -  1.46e-01 6.98e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  6.8576970e+01 1.36e-03 4.05e+03  -0.3 1.38e-01    -  8.84e-01 1.00e+00f  1
  31  6.6884330e+01 5.08e-04 1.47e+02  -1.1 7.05e-02   0.9 9.72e-01 1.00e+00f  1
  32  6.1310742e+01 3.75e-03 1.35e+02  -1.7 1.60e-01   0.4 9.06e-01 1.00e+00f  1
  33  5.2684146e+01 8.89e-03 1.75e+02  -1.3 3.27e-01  -0.0 1.00e+00 6.67e-01f  1
  34  5.2978800e+01 6.18e-04 6.81e+00  -1.9 1.08e-01   0.4 1.00e+00 1.00e+00h  1
  35  4.9271704e+01 2.68e-03 7.11e+00  -2.0 1.36e-01  -0.1 1.00e+00 8.98e-01f  1
  36  4.6649822e+01 7.68e-04 4.25e+00  -2.1 7.23e-02   0.3 1.00e+00 1.00e+00f  1
  37  4.4756267e+01 1.09e-03 1.71e+03  -1.3 7.92e-01  -0.1 1.00e+00 6.52e-02f  1
  38  4.0403208e+01 1.33e-03 1.73e+01  -1.4 8.51e-02   0.3 1.00e+00 1.00e+00f  1
  39  2.7720283e+01 9.24e-03 4.49e+03  -0.6 1.37e+00  -0.2 1.00e+00 1.89e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  40  3.8396213e+01 9.72e-03 5.70e+03   0.0 1.44e+00    -  2.36e-01 1.32e-01F  1
  41  2.5199618e+01 1.14e-02 5.71e+03  -0.5 2.03e+01    -  1.58e-02 1.16e-02f  2
  42  1.3742413e+01 7.15e-03 1.77e+03  -1.3 4.13e-01    -  5.98e-01 3.73e-01f  1
  43  3.9179070e+00 1.03e-02 7.12e+03  -4.0 4.49e-01  -0.7 1.20e-01 8.93e-01f  1
  44  2.7293862e+00 9.15e-03 6.00e+03  -4.0 1.03e+00    -  1.40e-01 1.83e-01f  1
  45  4.4883154e+00 8.93e-03 2.71e+03  -1.1 3.05e-01    -  2.59e-01 1.00e+00f  1
  46  6.3764597e+00 8.92e-03 6.91e+03  -0.1 2.17e+00    -  3.63e-01 1.18e-01F  1
  47  4.1681236e+00 3.82e-03 1.17e+02  -0.5 1.61e-01    -  1.00e+00 1.00e+00f  1
  48  3.6940471e+00 2.05e-04 6.74e+01  -1.4 3.25e-02   0.7 1.00e+00 1.00e+00h  1
  49  2.9055911e+00 1.42e-04 7.42e+00  -2.2 5.60e-02   0.2 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  1.1433017e+00 4.03e-04 3.80e+00  -2.9 1.29e-01  -0.3 1.00e+00 1.00e+00f  1
  51  1.3243103e-01 5.25e-04 7.12e+01  -3.6 1.74e-01  -0.8 1.00e+00 1.00e+00f  1
  52  1.1698753e-01 4.85e-04 1.87e+01  -3.1 3.35e-01  -1.2 1.00e+00 1.07e-01f  2
  53  1.6375407e-01 4.17e-04 7.10e+01  -3.3 1.05e-01  -0.8 1.00e+00 1.00e+00h  1
  54  9.7620045e-02 1.98e-03 2.94e+02  -3.5 6.42e-02  -0.4 1.00e+00 1.00e+00H  1
  55  9.1096711e-02 9.70e-06 2.60e+01  -4.0 4.91e-03   1.8 1.00e+00 1.00e+00h  1
  56  9.3498028e-02 2.79e-07 5.27e-02  -4.0 7.10e-04   1.4 1.00e+00 1.00e+00h  1
  57  8.5908360e-02 9.69e-07 2.94e-02  -4.0 2.07e-03   0.9 1.00e+00 1.00e+00f  1
  58  6.8993343e-02 3.35e-06 4.41e-02  -4.0 5.66e-03   0.4 1.00e+00 1.00e+00f  1
  59  3.9814802e-02 1.42e-05 5.69e-02  -4.0 1.34e-02  -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
  60  7.3118833e-03 2.20e-05 5.80e-02  -4.0 2.24e-02  -0.5 1.00e+00 1.00e+00h  1
  61  4.0909528e-03 2.67e-05 7.08e+01  -4.0 2.05e-02  -1.0 1.00e+00 1.00e+00h  1
  62  1.9120931e-03 2.53e-03 1.98e+02  -4.0 3.14e-02  -1.5 2.54e-01 4.21e-01H  1
  63  2.5833766e-02 6.02e-04 6.07e+01  -4.0 1.09e-02   0.7 1.00e+00 7.55e-01h  1
  64  8.6656215e-03 2.14e-06 3.92e+00  -4.1 1.57e-03   2.1 1.00e+00 1.00e+00h  1
  65  8.5909086e-03 1.25e-08 1.29e-02  -4.0 1.22e-04   1.6 1.00e+00 1.00e+00h  1
  66  8.1890322e-03 1.76e-07 7.51e-03  -4.0 5.71e-04   1.1 1.00e+00 1.00e+00h  1
  67  7.2067533e-03 3.54e-07 1.04e-02  -4.0 1.01e-03   0.6 1.00e+00 1.00e+00h  1
  68  5.2159261e-03 1.40e-06 1.35e-02  -4.0 2.57e-03   0.2 1.00e+00 1.00e+00h  1
  69  2.2719247e-03 4.95e-06 1.56e-02  -4.0 5.07e-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
  70  2.9081260e-04 1.45e-05 7.07e+01  -4.0 6.17e-03  -0.8 1.00e+00 1.00e+00h  1
  71  7.9499251e-04 1.29e-05 1.77e+01  -4.0 1.36e-02  -1.3 1.00e+00 2.50e-01h  3
  72  8.5282804e-04 6.36e-05 6.19e+01  -4.0 2.76e-02  -1.8 1.00e+00 5.00e-01h  2
  73  1.3851088e-03 2.95e-05 7.07e+01  -4.1 7.05e-03  -0.4 1.00e+00 1.00e+00h  1
  74  6.9805978e-04 1.93e-08 9.38e-01  -4.1 1.55e-04   1.8 1.00e+00 1.00e+00h  1
  75  6.8223322e-04 6.32e-09 1.96e-03  -4.0 8.93e-05   1.3 1.00e+00 1.00e+00h  1
  76  6.3966373e-04 5.15e-09 2.67e-03  -4.0 1.39e-04   0.9 1.00e+00 1.00e+00h  1
  77  5.6146586e-04 1.88e-08 3.59e-03  -4.0 2.52e-04   0.4 1.00e+00 1.00e+00h  1
  78  4.6289442e-04 1.26e-07 3.82e-03  -4.0 6.74e-04  -0.1 1.00e+00 1.00e+00h  1
  79  3.6507766e-04 9.61e-07 3.06e-03  -4.0 1.85e-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
  80  3.1484051e-04 6.33e-06 4.12e-03  -4.0 4.84e-03  -1.1 1.00e+00 1.00e+00h  1
  81  3.0679379e-04 3.60e-05 2.13e-02  -4.0 1.15e-02  -1.5 1.00e+00 1.00e+00h  1
  82  2.7496131e-04 9.09e-05 5.23e-02  -4.1 1.81e-02  -2.0 1.00e+00 1.00e+00h  1
  83  2.7888706e-04 4.12e-04 7.07e+01  -4.0 4.16e-02  -2.5 1.00e+00 1.00e+00h  1
  84  5.1154949e-03 4.06e-04 1.64e+00  -4.1 5.30e-01  -2.1 1.61e-01 2.32e-02h  4
  85  5.1360657e-03 4.02e-04 1.62e+00  -4.1 7.73e-01  -2.5 1.09e-01 1.09e-02h  5
  86  7.3073495e-03 1.04e-04 7.07e+01  -4.1 1.71e-02  -2.1 1.00e+00 1.00e+00h  1
  87  3.7267662e-03 2.20e-04 6.50e+01  -4.1 2.76e-01  -1.7 2.72e-01 8.02e-02h  2
  88  7.7212376e-04 2.50e-04 1.22e+01  -4.1 2.95e-01  -1.3 1.22e-01 5.24e-02h  3
  89  3.8236953e-03 5.93e-05 7.07e+01  -4.1 1.13e-02  -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
  90  3.0579184e-03 1.74e-04 6.61e+01  -4.1 2.27e-01  -1.3 1.47e-01 6.54e-02h  2
  91  1.1860791e-03 5.96e-04 1.10e+02  -4.1 2.84e-02  -0.9 1.00e+00 5.25e-01H  1
  92  6.9082663e-04 5.49e-06 7.07e+01  -4.1 2.25e-03   1.3 1.00e+00 1.00e+00f  1
  93  4.6529803e-04 1.86e-07 2.48e+00  -4.1 3.89e-04   1.8 1.00e+00 1.00e+00h  1
  94  4.6375904e-04 1.06e-07 6.20e-03  -4.0 3.15e-04   1.3 1.00e+00 1.00e+00h  1
  95  4.6352283e-04 3.78e-07 3.89e-03  -4.0 5.93e-04   0.8 1.00e+00 1.00e+00h  1
  96  4.4001119e-04 1.09e-06 2.53e-03  -4.0 1.17e-03   0.3 1.00e+00 1.00e+00h  1
  97  3.9176715e-04 4.05e-06 1.84e-03  -4.0 2.24e-03  -0.1 1.00e+00 1.00e+00h  1
  98  3.1763905e-04 7.34e-06 3.91e-03  -4.1 3.15e-03  -0.6 1.00e+00 1.00e+00h  1
  99  3.0056399e-04 3.07e-05 1.42e-02  -4.0 6.91e-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
 100  2.7085376e-04 2.46e-05 7.07e+01  -4.0 6.97e-03  -1.6 1.00e+00 1.00e+00h  1

Number of Iterations....: 100

                                   (scaled)                 (unscaled)
Objective...............:   2.7085375634531395e-04    2.7085375634531395e-04
Dual infeasibility......:   7.0711083648004916e+01    7.0711083648004916e+01
Constraint violation....:   2.4579227554055727e-05    2.4579227554055727e-05
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   1.0000601504789006e-04    1.0000601504789006e-04
Overall NLP error.......:   7.0711083648004916e+01    7.0711083648004916e+01


Number of objective function evaluations             = 136
Number of objective gradient evaluations             = 101
Number of equality constraint evaluations            = 136
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                               = 486.712

EXIT: Maximum Number of Iterations Exceeded.
0.9999995364706331

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)
Example block output

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

min_time_prob = UnitaryMinimumTimeProblem(prob, U_goal; final_fidelity=.995)
solve!(min_time_prob; max_iter=300)
fid_final_min_time = unitary_rollout_fidelity(min_time_prob.trajectory, sys)
println(fid_final_min_time)
@assert fid_final_min_time > 0.99
    constructing UnitaryMinimumTimeProblem...
	final fidelity: 0.995
    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
        applying constraint: bounds on Ũ⃗
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:     4460
                     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.7687911e+04 9.71e-03 1.00e+02   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  3.7671610e+04 9.71e-03 1.97e+04   1.7 7.67e+01    -  3.16e-02 3.10e-05f  2
   2  2.5655617e+04 9.61e-03 3.09e+04  -0.4 4.34e+01    -  4.41e-02 2.80e-02f  1
   3  2.3575411e+04 1.03e-02 3.99e+05   1.4 1.04e+01    -  1.00e+00 2.03e-02f  1
   4  2.4161807e+04 8.04e-03 1.17e+05   1.5 3.00e-01    -  1.00e+00 6.88e-01h  1
   5  2.7345348e+04 5.75e-03 1.37e+05   1.8 5.21e-01    -  4.62e-01 6.38e-01f  1
   6  2.8795938e+04 2.97e-03 6.92e+04   1.7 3.24e-01   2.0 8.34e-01 6.87e-01h  1
   7  3.1117249e+04 2.34e-03 2.45e+05   1.9 4.69e-01   1.5 1.00e+00 5.00e-01h  2
   8  3.1411624e+04 2.08e-03 2.58e+05   1.9 3.41e-01    -  1.00e+00 2.50e-01h  3
   9  3.1790896e+04 1.87e-03 2.01e+05   1.7 2.93e-01    -  1.00e+00 2.50e-01h  3
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  3.2682690e+04 1.94e-03 2.88e+05   1.3 2.01e-01   1.9 1.00e+00 5.00e-01h  2
  11  3.4102866e+04 1.47e-03 1.02e+05   0.6 1.83e-01   2.4 1.00e+00 7.84e-01h  1
  12  3.5191966e+04 2.74e-04 8.80e+04   0.2 1.10e-01   2.8 1.00e+00 1.00e+00h  1
  13  3.5494636e+04 4.68e-05 1.61e+04  -0.8 3.62e-02   3.2 1.00e+00 8.44e-01h  1
  14  3.5582921e+04 6.28e-05 2.01e+04  -1.2 1.21e-02   2.7 1.00e+00 1.00e+00h  1
  15  3.5568469e+04 3.64e-04 7.49e+03  -1.3 2.77e-02   2.3 1.00e+00 9.32e-01f  1
  16  3.5560176e+04 5.39e-04 4.12e+02  -1.4 3.76e-02   1.8 9.71e-01 1.00e+00f  1
  17  3.5557031e+04 4.57e-05 9.02e+01  -1.4 9.75e-03   2.2 1.00e+00 9.80e-01f  1
  18  3.5552158e+04 1.62e-04 2.07e+02  -1.9 1.96e-02   1.7 1.00e+00 1.00e+00f  1
  19  3.5550763e+04 1.35e-04 1.82e+02  -2.0 1.81e-02   1.3 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  3.5551007e+04 1.14e-04 1.50e+02  -2.0 3.39e-02   0.8 8.96e-01 5.00e-01h  2
  21  3.5549864e+04 6.96e-05 7.05e+01  -2.7 1.09e-02   1.2 1.00e+00 9.78e-01f  1
  22  3.5549952e+04 4.89e-04 2.25e+02  -2.2 2.96e-02   0.7 1.00e+00 1.00e+00f  1
  23  3.5549517e+04 3.01e-06 5.07e+00  -2.3 1.78e-03   2.1 1.00e+00 1.00e+00f  1
  24  3.5549389e+04 7.80e-06 9.95e+00  -3.1 3.44e-03   1.6 1.00e+00 1.00e+00f  1
  25  3.5549281e+04 4.07e-05 2.88e+01  -3.8 6.18e-03   1.1 1.00e+00 1.00e+00f  1
  26  3.5549225e+04 6.20e-05 2.94e+01  -3.9 9.64e-03   0.6 1.00e+00 1.00e+00h  1
  27  3.5549212e+04 7.16e-05 4.95e+01  -4.0 1.80e-02   0.2 1.80e-01 4.62e-01h  1
  28  3.5549214e+04 3.51e-05 3.21e+01  -4.0 1.22e-02   0.6 1.98e-01 5.07e-01h  1
  29  3.5549198e+04 2.15e-05 1.67e+01  -4.0 6.27e-03   1.0 4.99e-01 3.91e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  3.5549194e+04 1.48e-04 2.75e+01  -3.2 2.25e-02   0.5 1.00e+00 5.06e-01f  1
  31  3.5549172e+04 8.87e-06 3.56e+01  -4.0 4.30e-03   1.0 3.06e-01 1.00e+00h  1
  32  3.5549136e+04 2.57e-05 3.35e+01  -3.6 6.30e-03   0.5 1.00e+00 1.00e+00h  1
  33  3.5549132e+04 3.91e-05 2.06e+01  -4.0 1.26e-02   0.0 5.27e-01 6.57e-01h  1
  34  3.5549124e+04 1.09e-06 1.35e+00  -4.0 1.13e-03   1.3 1.00e+00 1.00e+00h  1
  35  3.5549120e+04 5.78e-06 3.31e+00  -4.0 2.61e-03   0.9 1.00e+00 1.00e+00h  1
  36  3.5549113e+04 1.16e-05 1.11e+01  -4.0 5.34e-03   0.4 1.00e+00 1.00e+00h  1
  37  3.5549109e+04 2.30e-05 1.79e+01  -4.0 6.75e-03  -0.1 1.00e+00 1.00e+00h  1
  38  3.5549106e+04 3.17e-05 1.19e+01  -4.0 5.71e-03   0.3 9.87e-01 9.67e-01h  1
  39  3.5549105e+04 4.58e-06 3.95e+00  -4.0 2.10e-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
  40  3.5549101e+04 8.35e-06 5.47e+00  -4.0 3.92e-03   0.3 1.00e+00 1.00e+00h  1
  41  3.5549099e+04 1.81e-05 1.37e+01  -4.0 6.05e-03  -0.2 1.00e+00 1.00e+00h  1
  42  3.5549088e+04 4.37e-05 1.63e+01  -4.0 6.68e-03   0.2 1.00e+00 1.00e+00h  1
  43  3.5549089e+04 3.97e-05 1.56e+01  -4.0 8.57e-03   0.7 2.60e-01 3.00e-02H  1
  44  3.5549097e+04 3.01e-07 2.14e-01  -4.0 5.96e-04   1.1 1.00e+00 1.00e+00h  1
  45  3.5549096e+04 1.43e-05 3.91e+00  -4.0 5.36e-03   0.6 5.32e-01 7.36e-01h  1
  46  3.5549095e+04 2.01e-05 7.09e+00  -4.0 8.02e-03   0.1 1.00e+00 5.94e-01h  1
  47  3.5549085e+04 1.05e-03 3.18e+02  -4.0 3.92e-02  -0.4 2.21e-01 1.00e+00h  1
  48  3.5549088e+04 1.07e-07 9.80e-01  -4.1 1.61e-03   2.8 1.00e+00 1.00e+00h  1
  49  3.5549094e+04 4.31e-08 4.83e-02  -4.0 1.97e-04   2.3 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  3.5549094e+04 2.39e-07 5.46e-02  -4.0 4.62e-04   1.8 1.00e+00 1.00e+00h  1
  51  3.5549094e+04 9.83e-07 1.96e-01  -4.1 9.52e-04   1.4 1.00e+00 1.00e+00h  1
  52  3.5549093e+04 3.12e-06 5.40e-01  -4.1 1.77e-03   0.9 1.00e+00 1.00e+00h  1
  53  3.5549092e+04 4.20e-06 2.07e+00  -4.1 2.27e-03   0.4 1.00e+00 1.00e+00h  1
  54  3.5549091e+04 8.56e-06 8.40e+00  -4.1 3.99e-03  -0.1 1.00e+00 1.00e+00h  1
  55  3.5549091e+04 1.35e-06 9.73e-01  -4.1 1.33e-03   0.3 1.00e+00 1.00e+00h  1
  56  3.5549090e+04 7.29e-06 4.39e+00  -4.1 4.12e-03  -0.1 1.00e+00 1.00e+00h  1
  57  3.5549090e+04 5.77e-06 4.42e+00  -4.1 8.18e-03  -0.6 1.00e+00 2.50e-01h  3
  58  3.5549089e+04 3.57e-06 4.06e+00  -4.1 2.81e-03  -0.2 1.00e+00 1.00e+00h  1
  59  3.5549087e+04 2.91e-04 8.14e+01  -4.1 1.88e-02  -0.7 7.35e-01 9.47e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60  3.5549076e+04 5.37e-06 6.37e+00  -4.0 2.74e-03   2.5 1.00e+00 1.00e+00f  1
  61  3.5549090e+04 2.38e-06 6.13e-01  -3.2 1.06e-03   2.0 9.99e-01 1.00e+00h  1
  62  3.5549090e+04 5.00e-07 2.21e-01  -3.3 7.70e-04   1.5 1.00e+00 1.00e+00h  1
  63  3.5549089e+04 1.18e-06 4.39e+00  -5.0 7.90e-04   1.0 8.94e-01 1.00e+00h  1
  64  3.5549087e+04 4.07e-06 1.08e+00  -5.0 1.41e-03   0.6 1.00e+00 1.00e+00h  1
  65  3.5549089e+04 8.47e-06 7.53e+00  -4.0 3.22e-03   0.1 1.00e+00 1.00e+00h  1
  66  3.5549089e+04 1.04e-06 2.70e-01  -4.1 8.42e-04   0.5 1.00e+00 1.00e+00h  1
  67  3.5549088e+04 1.62e-06 8.73e-01  -4.1 1.60e-03   0.0 1.00e+00 1.00e+00h  1
  68  3.5549087e+04 4.73e-06 5.01e+00  -4.1 3.62e-03  -0.4 1.00e+00 1.00e+00h  1
  69  3.5549087e+04 8.61e-07 6.19e-01  -4.1 1.24e-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
  70  3.5549087e+04 1.04e-05 7.41e+00  -4.0 4.35e-03  -0.5 1.00e+00 1.00e+00h  1
  71  3.5549088e+04 1.94e-06 7.78e-01  -4.1 1.82e-03  -0.1 1.00e+00 1.00e+00h  1
  72  3.5549086e+04 2.09e-05 5.14e+00  -4.1 5.67e-03  -0.5 1.00e+00 1.00e+00h  1
  73  3.5549086e+04 1.24e-07 2.67e-02  -4.1 3.42e-04   0.8 1.00e+00 1.00e+00h  1
  74  3.5549086e+04 4.73e-07 2.28e-01  -4.0 7.31e-04   0.3 1.00e+00 1.00e+00h  1
  75  3.5549086e+04 1.49e-06 1.07e+00  -4.0 1.67e-03  -0.2 1.00e+00 1.00e+00h  1
  76  3.5549086e+04 3.95e-06 3.50e+00  -4.1 3.18e-03  -0.6 1.00e+00 1.00e+00h  1
  77  3.5549086e+04 1.21e-06 6.34e-01  -4.1 1.36e-03  -0.2 1.00e+00 1.00e+00h  1
  78  3.5549086e+04 8.81e-06 6.63e+00  -4.0 4.02e-03  -0.7 1.00e+00 1.00e+00h  1
  79  3.5549088e+04 5.64e-06 3.23e+00  -4.1 2.17e-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
  80  3.5549086e+04 1.43e-06 2.76e-01  -4.1 1.08e-03   0.2 1.00e+00 1.00e+00h  1
  81  3.5549086e+04 3.15e-06 1.17e+00  -4.0 2.04e-03  -0.3 1.00e+00 1.00e+00h  1
  82  3.5549086e+04 1.10e-05 4.49e+00  -4.1 3.63e-03  -0.8 1.00e+00 1.00e+00h  1
  83  3.5549085e+04 1.21e-06 2.58e-01  -4.1 1.03e-03   0.5 1.00e+00 1.00e+00h  1
  84  3.5549085e+04 6.87e-07 2.11e-01  -4.0 7.30e-04   0.1 1.00e+00 1.00e+00h  1
  85  3.5549085e+04 1.77e-06 1.27e+00  -4.0 1.66e-03  -0.4 1.00e+00 1.00e+00h  1
  86  3.5549085e+04 3.43e-06 3.47e+00  -4.1 2.80e-03  -0.9 1.00e+00 1.00e+00h  1
  87  3.5549085e+04 2.20e-06 9.65e-01  -4.1 1.61e-03  -0.5 1.00e+00 1.00e+00h  1
  88  3.5549085e+04 1.93e-06 9.84e-01  -4.0 5.17e-03  -0.9 1.00e+00 1.25e-01h  4
  89  3.5549085e+04 1.87e-06 9.95e-01  -4.0 1.38e-02  -1.4 1.00e+00 3.12e-02h  6
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90  3.5549085e+04 6.87e-06 7.29e+00  -4.0 3.84e-03  -1.0 1.00e+00 1.00e+00h  1
  91  3.5549085e+04 1.94e-07 4.73e-02  -4.1 4.55e-04   0.3 1.00e+00 1.00e+00h  1
  92  3.5549085e+04 7.32e-07 2.10e-01  -4.0 8.94e-04  -0.1 1.00e+00 1.00e+00h  1
  93  3.5549085e+04 1.46e-06 1.53e+00  -4.0 1.79e-03  -0.6 1.00e+00 1.00e+00h  1
  94  3.5549085e+04 1.27e-06 1.30e+00  -4.1 3.88e-03  -1.1 1.00e+00 2.50e-01h  3
  95  3.5549084e+04 2.91e-05 3.63e+01  -4.1 7.88e-03  -1.6 1.00e+00 1.00e+00h  1
  96  3.5549085e+04 2.16e-08 3.68e-02  -4.1 1.60e-04   0.7 1.00e+00 1.00e+00h  1
  97  3.5549085e+04 1.86e-07 1.25e-01  -4.0 5.21e-04   0.2 1.00e+00 1.00e+00h  1
  98  3.5549085e+04 7.53e-07 5.90e-01  -4.0 1.12e-03  -0.3 1.00e+00 1.00e+00h  1
  99  3.5549085e+04 1.23e-06 1.47e+00  -4.1 1.68e-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
 100  3.5549085e+04 5.79e-06 6.06e+00  -4.1 3.52e-03  -1.3 1.00e+00 1.00e+00h  1
 101  3.5549085e+04 2.21e-07 6.30e-02  -4.1 4.81e-04   0.1 1.00e+00 1.00e+00h  1
 102  3.5549085e+04 9.91e-07 5.72e-01  -4.0 1.21e-03  -0.4 1.00e+00 1.00e+00h  1
 103  3.5549085e+04 5.86e-07 6.28e-01  -4.1 1.85e-03  -0.9 1.00e+00 5.00e-01h  2
 104  3.5549085e+04 6.03e-06 7.49e+00  -4.1 3.47e-03  -1.4 1.00e+00 1.00e+00h  1
 105  3.5549085e+04 6.28e-08 3.98e-02  -4.1 2.88e-04  -0.0 1.00e+00 1.00e+00h  1
 106  3.5549085e+04 9.55e-07 5.38e-01  -4.0 1.24e-03  -0.5 1.00e+00 1.00e+00h  1
 107  3.5549085e+04 5.36e-07 5.64e-01  -4.1 1.79e-03  -1.0 1.00e+00 5.00e-01h  2
 108  3.5549085e+04 5.39e-06 6.96e+00  -4.1 3.46e-03  -1.5 1.00e+00 1.00e+00h  1
 109  3.5549085e+04 6.48e-08 3.79e-02  -4.1 2.70e-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
 110  3.5549085e+04 1.13e-06 5.72e-01  -4.0 1.29e-03  -0.6 1.00e+00 1.00e+00h  1
 111  3.5549085e+04 5.57e-07 6.11e-01  -4.1 2.07e-03  -1.1 1.00e+00 5.00e-01h  2
 112  3.5549084e+04 6.62e-06 7.27e+00  -4.1 3.82e-03  -1.6 1.00e+00 1.00e+00h  1
 113  3.5549085e+04 1.29e-06 3.35e-01  -4.1 1.19e-03  -0.2 1.00e+00 1.00e+00h  1
 114  3.5549085e+04 3.40e-06 1.56e+00  -4.1 1.94e-03  -0.7 1.00e+00 1.00e+00h  1
 115  3.5549085e+04 5.01e-06 7.57e-01  -4.1 2.20e-03  -0.3 1.00e+00 1.00e+00h  1
 116  3.5549085e+04 5.63e-07 1.37e-01  -4.0 7.35e-04   0.1 1.00e+00 1.00e+00h  1
 117  3.5549085e+04 2.94e-07 1.38e-01  -4.1 5.73e-04  -0.3 1.00e+00 1.00e+00h  1
 118  3.5549085e+04 1.02e-06 7.70e-01  -4.0 1.43e-03  -0.8 1.00e+00 1.00e+00h  1
 119  3.5549085e+04 8.75e-07 6.89e-01  -4.1 8.30e-03  -1.3 1.00e+00 1.25e-01h  4
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 120  3.5549077e+04 9.73e-04 4.34e+02  -4.1 3.16e-02  -1.8 2.72e-04 1.97e-04H  1
 121  3.5549074e+04 7.86e-06 2.66e+01  -4.1 2.29e-03   2.3 1.00e+00 1.00e+00f  1
 122  3.5549087e+04 7.25e-07 2.71e-01  -4.0 6.02e-04   1.8 1.00e+00 1.00e+00h  1
 123  3.5549085e+04 1.91e-06 7.11e-01  -4.1 1.03e-03   1.3 1.00e+00 1.00e+00h  1
 124  3.5549085e+04 2.96e-06 9.10e-01  -4.1 1.48e-03   0.8 1.00e+00 1.00e+00h  1
 125  3.5549084e+04 3.37e-06 9.62e-01  -4.1 1.65e-03   0.4 1.00e+00 1.00e+00h  1
 126  3.5549085e+04 3.63e-06 1.23e+00  -4.0 2.13e-03  -0.1 1.00e+00 1.00e+00h  1
 127  3.5549084e+04 2.53e-06 1.64e+00  -4.1 1.98e-03  -0.6 1.00e+00 1.00e+00h  1
 128  3.5549085e+04 1.21e-06 4.14e-01  -4.1 1.25e-03  -0.2 1.00e+00 1.00e+00h  1
 129  3.5549085e+04 6.54e-06 2.56e+00  -4.0 3.15e-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
 130  3.5549085e+04 2.71e-08 8.34e-03  -4.1 1.84e-04   0.7 1.00e+00 1.00e+00h  1
 131  3.5549085e+04 2.47e-07 6.10e-02  -4.0 5.95e-04   0.2 1.00e+00 1.00e+00h  1
 132  3.5549084e+04 4.96e-07 2.17e-01  -4.1 9.60e-04  -0.3 1.00e+00 1.00e+00h  1
 133  3.5549085e+04 2.39e-06 1.67e+00  -4.0 2.44e-03  -0.7 1.00e+00 1.00e+00h  1
 134  3.5549085e+04 1.20e-07 1.18e-01  -4.1 5.49e-04  -0.3 1.00e+00 1.00e+00h  1
 135  3.5549084e+04 2.07e-06 1.01e+00  -4.1 2.11e-03  -0.8 1.00e+00 1.00e+00h  1
 136  3.5549084e+04 1.49e-07 1.22e-01  -4.1 5.42e-04  -0.4 1.00e+00 1.00e+00h  1
 137  3.5549085e+04 3.08e-06 1.35e+00  -4.0 2.72e-03  -0.8 1.00e+00 1.00e+00h  1
 138  3.5549085e+04 1.95e-07 1.31e-01  -4.1 7.09e-04  -0.4 1.00e+00 1.00e+00h  1
 139  3.5549084e+04 2.60e-06 1.13e+00  -4.1 2.39e-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
 140  3.5549084e+04 3.37e-07 1.43e-01  -4.1 8.75e-04  -0.5 1.00e+00 1.00e+00h  1
 141  3.5549084e+04 3.29e-06 1.45e+00  -4.1 2.66e-03  -1.0 1.00e+00 1.00e+00h  1
 142  3.5549084e+04 1.36e-06 6.28e-01  -4.1 2.43e-03  -0.5 1.00e+00 5.00e-01h  2
 143  3.5549085e+04 2.16e-06 7.11e-01  -4.1 1.87e-03  -1.0 1.00e+00 1.00e+00h  1
 144  3.5549084e+04 2.84e-06 7.30e-01  -4.1 2.05e-03  -0.6 1.00e+00 1.00e+00h  1
 145  3.5549084e+04 3.78e-07 9.28e-02  -4.0 6.88e-04  -0.1 1.00e+00 1.00e+00h  1
 146  3.5549084e+04 3.85e-07 1.64e-01  -4.1 9.17e-04  -0.6 1.00e+00 1.00e+00h  1
 147  3.5549085e+04 1.88e-06 1.59e+00  -4.0 2.40e-03  -1.1 1.00e+00 1.00e+00h  1
 148  3.5549084e+04 6.76e-07 3.32e-01  -4.1 9.77e-04  -0.7 1.00e+00 1.00e+00h  1
 149  3.5549084e+04 5.60e-06 2.01e+00  -4.0 3.26e-03  -1.2 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.5549084e+04 2.34e-07 4.60e-02  -4.1 5.36e-04   0.2 1.00e+00 1.00e+00h  1
 151  3.5549084e+04 1.74e-07 8.35e-02  -4.0 4.95e-04  -0.3 1.00e+00 1.00e+00h  1
 152  3.5549084e+04 2.65e-07 2.25e-01  -4.1 9.10e-04  -0.8 1.00e+00 1.00e+00h  1
 153  3.5549084e+04 2.77e-06 2.62e+00  -4.0 2.35e-03  -1.3 1.00e+00 1.00e+00h  1
 154  3.5549084e+04 3.28e-07 3.97e-01  -4.1 6.48e-04  -0.8 1.00e+00 1.00e+00h  1
 155  3.5549084e+04 3.87e-06 3.46e+00  -4.1 2.48e-03  -1.3 1.00e+00 1.00e+00h  1
 156  3.5549084e+04 1.93e-08 1.60e-02  -4.1 1.72e-04   0.0 1.00e+00 1.00e+00h  1
 157  3.5549084e+04 2.17e-07 1.02e-01  -4.0 5.68e-04  -0.5 1.00e+00 1.00e+00h  1
 158  3.5549084e+04 3.43e-07 3.43e-01  -4.1 1.02e-03  -0.9 1.00e+00 1.00e+00h  1
 159  3.5549084e+04 2.19e-06 2.52e+00  -4.1 1.89e-03  -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
 160  3.5549084e+04 5.59e-07 4.12e-01  -4.1 1.06e-03  -1.0 1.00e+00 1.00e+00h  1
 161  3.5549084e+04 3.77e-07 4.14e-01  -4.0 5.93e-03  -1.5 1.00e+00 1.25e-01h  4
 162  3.5549084e+04 3.67e-07 4.10e-01  -4.0 6.10e-03  -1.9 1.00e+00 1.56e-02h  7
 163  3.5549084e+04 3.60e-07 4.09e-01  -4.0 1.92e-02  -2.4 1.00e+00 7.81e-03h  8
 164  3.5549084e+04 3.51e-07 4.05e-01  -4.0 6.47e-03  -2.0 1.00e+00 1.56e-02h  7
 165  3.5549084e+04 3.44e-07 4.05e-01  -4.0 2.02e-02  -2.5 1.00e+00 7.81e-03h  8
 166  3.5549084e+04 3.36e-07 4.02e-01  -4.0 6.79e-03  -2.0 1.00e+00 1.56e-02h  7
 167  3.5549084e+04 3.30e-07 4.01e-01  -4.0 1.89e-02  -2.5 1.00e+00 7.81e-03h  8
 168  3.5549084e+04 3.21e-07 3.99e-01  -4.0 7.16e-03  -2.1 1.00e+00 1.56e-02h  7
 169  3.5549084e+04 3.17e-07 3.99e-01  -4.0 1.96e-02  -2.6 1.00e+00 7.81e-03h  8
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 170  3.5549084e+04 3.09e-07 3.97e-01  -4.0 7.53e-03  -2.1 1.00e+00 1.56e-02h  7
 171  3.5549084e+04 3.04e-07 3.95e-01  -4.1 1.44e-02  -2.6 1.00e+00 7.81e-03h  8
 172  3.5549084e+04 3.03e-07 3.93e-01  -4.0 8.42e-03  -2.2 1.00e+00 7.81e-03h  8
 173  3.5549084e+04 2.97e-07 3.87e-01  -4.0 4.45e-03  -1.8 1.00e+00 3.12e-02h  6
 174  3.5549084e+04 2.95e-07 3.85e-01  -4.0 8.30e-03  -2.2 1.00e+00 7.81e-03h  8
 175  3.5549084e+04 2.91e-07 3.80e-01  -4.0 4.78e-03  -1.8 1.00e+00 3.12e-02h  6
 176  3.5549084e+04 2.89e-07 3.78e-01  -4.0 8.67e-03  -2.3 1.00e+00 7.81e-03h  8
 177  3.5549084e+04 2.86e-07 3.74e-01  -4.0 5.10e-03  -1.9 1.00e+00 1.56e-02h  7
 178  3.5549084e+04 2.84e-07 3.73e-01  -4.0 9.14e-03  -2.3 1.00e+00 7.81e-03h  8
 179  3.5549084e+04 2.81e-07 3.70e-01  -4.0 5.47e-03  -1.9 1.00e+00 1.56e-02h  7
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 180  3.5549084e+04 2.79e-07 3.69e-01  -4.0 9.61e-03  -2.4 1.00e+00 7.81e-03h  8
 181  3.5549084e+04 2.77e-07 3.66e-01  -4.0 5.85e-03  -2.0 1.00e+00 1.56e-02h  7
 182  3.5549084e+04 2.75e-07 3.65e-01  -4.1 7.97e-03  -2.5 1.00e+00 7.81e-03h  8
 183  3.5549084e+04 2.72e-07 3.61e-01  -4.1 5.20e-03  -2.0 1.00e+00 1.56e-02h  7
 184  3.5549084e+04 2.72e-07 3.60e-01  -4.1 9.40e-03  -2.5 1.00e+00 7.81e-03h  8
 185  3.5549084e+04 2.70e-07 3.56e-01  -4.1 5.54e-03  -2.1 1.00e+00 1.56e-02h  7
 186  3.5549084e+04 2.70e-07 3.55e-01  -4.1 9.22e-03  -2.6 1.00e+00 7.81e-03h  8
 187  3.5549084e+04 2.69e-07 3.53e-01  -4.1 5.87e-03  -2.1 1.00e+00 1.56e-02h  7
 188  3.5549084e+04 5.26e-06 6.16e+00  -4.1 3.17e-03  -1.7 1.00e+00 1.00e+00h  1
 189  3.5549084e+04 5.71e-08 4.41e-02  -4.1 2.66e-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
 190  3.5549084e+04 5.47e-08 4.48e-01  -4.0 1.17e-03  -0.8 1.00e+00 6.25e-02h  5
 191  3.5549084e+04 2.24e-03 3.99e+03  -4.0 3.23e-01    -  7.31e-01 4.92e-01h  2
 192  3.5552053e+04 2.21e-05 1.79e+02  -4.1 2.14e-02   3.2 1.00e+00 1.00e+00h  1
 193  3.5548840e+04 4.44e-07 3.80e+01  -4.1 1.64e-03   2.7 1.00e+00 1.00e+00f  1
 194  3.5549051e+04 2.59e-07 5.86e+00  -4.0 7.19e-04   2.2 1.00e+00 1.00e+00h  1
 195  3.5549084e+04 2.57e-07 2.96e-01  -4.0 5.20e-04   1.8 1.00e+00 1.00e+00h  1
 196  3.5549085e+04 2.03e-07 2.01e-01  -4.1 9.47e-04   1.3 1.00e+00 1.00e+00H  1
 197  3.5549085e+04 1.61e-07 1.74e-01  -4.1 1.46e-03   0.8 1.00e+00 2.50e-01h  3
 198  3.5549084e+04 5.35e-06 1.07e+00  -4.1 2.30e-03   0.3 1.00e+00 1.00e+00h  1
 199  3.5549084e+04 6.06e-06 6.19e-01  -4.1 4.45e-03  -0.2 1.00e+00 5.00e-01h  2
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 200  3.5549084e+04 1.54e-06 2.60e-01  -4.1 1.21e-03   0.3 1.00e+00 1.00e+00h  1
 201  3.5549084e+04 1.30e-06 4.65e-01  -4.1 1.16e-03  -0.2 1.00e+00 1.00e+00h  1
 202  3.5549084e+04 1.81e-06 5.36e-01  -4.1 1.38e-03  -0.7 1.00e+00 1.00e+00h  1
 203  3.5549084e+04 3.07e-06 1.67e+00  -4.1 1.92e-03  -1.2 1.00e+00 1.00e+00h  1
 204  3.5549084e+04 8.91e-08 3.20e-02  -4.1 3.18e-04   0.2 1.00e+00 1.00e+00h  1
 205  3.5549084e+04 2.59e-07 1.80e-01  -4.0 5.23e-04  -0.3 1.00e+00 1.00e+00h  1
 206  3.5549084e+04 4.83e-07 3.11e-01  -4.1 7.86e-04  -0.8 1.00e+00 1.00e+00h  1
 207  3.5549084e+04 9.91e-07 1.26e+00  -4.1 1.43e-03  -1.3 1.00e+00 1.00e+00h  1
 208  3.5549084e+04 2.01e-07 1.58e-01  -4.1 5.32e-04  -0.8 1.00e+00 1.00e+00h  1
 209  3.5549084e+04 1.61e-06 2.11e+00  -4.0 1.95e-03  -1.3 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.5549084e+04 2.64e-07 9.35e-02  -4.1 4.41e-04  -0.9 1.00e+00 1.00e+00h  1
 211  3.5549084e+04 1.53e-06 2.03e+00  -4.0 1.98e-03  -1.4 1.00e+00 1.00e+00h  1
 212  3.5549084e+04 2.86e-07 1.26e-01  -4.1 4.79e-04  -0.9 1.00e+00 1.00e+00h  1
 213  3.5549084e+04 2.17e-07 1.60e-01  -4.1 1.69e-03  -1.4 1.00e+00 2.50e-01h  3
 214  3.5549084e+04 4.60e-06 6.15e+00  -4.1 3.18e-03  -1.9 1.00e+00 1.00e+00h  1
 215  3.5549084e+04 6.77e-08 3.53e-02  -4.1 2.60e-04  -0.6 1.00e+00 1.00e+00h  1
 216  3.5549084e+04 5.94e-08 4.25e-01  -4.0 6.98e-04  -1.0 1.00e+00 1.25e-01h  4
 217  3.5549083e+04 1.69e-03 2.76e+03  -3.4 1.13e+00    -  1.00e+00 1.31e-01f  2
 218  3.5549892e+04 5.79e-05 1.68e+02  -3.5 1.72e-02   2.1 1.00e+00 1.00e+00h  1
 219  3.5549094e+04 1.21e-07 3.48e+00  -3.5 6.00e-04   1.6 1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 220  3.5549084e+04 1.97e-07 4.12e-01  -3.5 5.65e-04   1.1 1.00e+00 1.00e+00f  1
 221  3.5549084e+04 5.54e-07 5.62e-01  -3.5 7.20e-04   0.7 1.00e+00 1.00e+00h  1
 222  3.5549084e+04 1.03e-06 4.82e-01  -3.5 8.43e-04   0.2 1.00e+00 1.00e+00h  1
 223  3.5549085e+04 9.47e-07 2.95e-01  -3.5 1.10e-03  -0.3 1.00e+00 1.00e+00h  1
 224  3.5549085e+04 5.81e-07 1.79e-01  -3.5 1.11e-03  -0.8 1.00e+00 5.00e-01h  2
 225  3.5549084e+04 6.94e-06 1.88e+00  -5.3 2.42e-03  -1.2 8.87e-01 1.00e+00h  1
 226  3.5549084e+04 7.46e-07 3.65e-01  -5.3 7.49e-04   0.1 1.00e+00 1.00e+00h  1
 227  3.5549084e+04 6.67e-07 3.31e-01  -5.3 1.28e-03  -0.4 1.00e+00 2.50e-01h  3
 228  3.5549084e+04 3.60e-06 1.81e+00  -4.0 5.81e-03  -0.9 1.00e+00 3.25e-01h  2
 229  3.5549084e+04 1.71e-06 1.91e-01  -4.1 1.29e-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
 230  3.5549084e+04 6.30e-07 1.81e-01  -4.1 8.97e-04  -0.9 1.00e+00 1.00e+00h  1
 231  3.5549084e+04 3.32e-07 1.39e-01  -4.1 1.16e-03  -1.4 1.00e+00 5.00e-01h  2
 232  3.5549084e+04 2.07e-06 2.37e+00  -4.1 2.47e-03  -1.9 1.00e+00 1.00e+00h  1
 233  3.5549084e+04 2.86e-08 1.92e-02  -4.1 1.64e-04  -0.5 1.00e+00 1.00e+00h  1
 234  3.5549084e+04 6.59e-04 6.11e+02  -4.0 7.07e-01    -  5.54e-01 1.14e-01h  4
 235  3.5550785e+04 4.00e-06 1.85e+01  -4.1 6.31e-03   1.7 1.00e+00 1.00e+00h  1
 236  3.5549084e+04 2.48e-08 8.29e-01  -4.1 1.75e-04   1.2 1.00e+00 1.00e+00f  1
 237  3.5549084e+04 3.19e-08 8.63e-02  -4.0 2.12e-04   0.7 1.00e+00 1.00e+00H  1
 238  3.5549084e+04 6.99e-08 7.33e-02  -4.0 2.46e-04   0.3 1.00e+00 1.00e+00h  1
 239  3.5549084e+04 3.41e-08 2.91e-02  -4.1 1.81e-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
 240  3.5549084e+04 9.78e-05 1.32e+02  -6.1 2.86e-02    -  8.44e-01 1.00e+00h  1
 241  3.5549063e+04 4.09e-08 1.31e-01  -6.1 9.18e-04   1.1 1.00e+00 1.00e+00h  1
 242  3.5549084e+04 3.50e-07 1.58e-01  -4.0 4.83e-04   0.6 1.00e+00 1.00e+00h  1
 243  3.5549084e+04 1.98e-07 5.93e-02  -4.1 3.91e-04   0.2 1.00e+00 1.00e+00h  1
 244  3.5549084e+04 4.00e-07 1.04e-01  -4.1 5.45e-04  -0.3 1.00e+00 1.00e+00h  1
 245  3.5549084e+04 3.21e-07 1.46e-01  -4.1 6.58e-04  -0.8 1.00e+00 1.00e+00h  1
 246  3.5549084e+04 3.91e-07 1.79e-01  -4.1 8.67e-04  -1.3 1.00e+00 1.00e+00h  1
 247  3.5549084e+04 2.88e-07 2.82e-01  -4.1 1.51e-03  -1.8 1.00e+00 5.00e-01h  2
 248  3.5549084e+04 2.29e-07 1.35e-01  -4.1 8.05e-04  -1.3 1.00e+00 1.00e+00h  1
 249  3.5549084e+04 1.73e-07 1.40e-01  -4.1 1.69e-03  -1.8 1.00e+00 2.50e-01h  3
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 250  3.5549084e+04 3.56e-06 3.88e+00  -4.1 3.88e-03  -2.3 1.00e+00 1.00e+00h  1
 251  3.5549084e+04 5.93e-09 3.81e-03  -4.1 9.14e-05  -0.0 1.00e+00 1.00e+00h  1
 252  3.5549084e+04 3.80e-09 7.79e-04  -4.0 3.70e-05   1.3 1.00e+00 1.00e+00h  1
 253  3.5549083e+04 2.24e-03 2.73e+03  -4.0 3.21e-01    -  1.00e+00 5.00e-01f  2
 254  3.5574792e+04 3.92e-05 7.51e+02  -4.1 2.35e-02   2.6 1.00e+00 1.00e+00h  1
 255  3.5549024e+04 4.47e-07 1.33e+02  -4.1 2.60e-03   2.1 1.00e+00 1.00e+00f  1
 256  3.5549083e+04 2.06e-07 1.37e+01  -4.0 6.66e-04   1.7 1.00e+00 1.00e+00h  1
 257  3.5549084e+04 1.92e-07 6.86e+00  -4.0 7.31e-04   1.2 1.00e+00 5.00e-01h  2
 258  3.5549084e+04 1.79e-07 6.00e+00  -4.1 1.17e-03   0.7 1.00e+00 1.25e-01h  4
 259  3.5549084e+04 1.98e-06 2.64e+00  -4.1 1.59e-03   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
 260  3.5549084e+04 8.65e-07 9.88e-01  -4.1 9.98e-04  -0.3 1.00e+00 1.00e+00h  1
 261  3.5549084e+04 5.39e-07 4.25e-01  -4.1 8.41e-04  -0.7 1.00e+00 1.00e+00h  1
 262  3.5549084e+04 2.72e-07 2.63e-01  -4.1 7.61e-04  -1.2 1.00e+00 5.00e-01h  2
 263  3.5549084e+04 2.06e-07 2.11e-01  -4.1 1.47e-03  -1.7 1.00e+00 2.50e-01h  3
 264  3.5549084e+04 1.95e-07 1.99e-01  -4.1 2.86e-03  -2.2 1.00e+00 6.25e-02h  5
 265  3.5549084e+04 1.90e-07 1.93e-01  -4.1 6.01e-03  -2.6 1.00e+00 3.12e-02h  6
 266  3.5549084e+04 1.89e-07 1.90e-01  -4.1 2.29e-02  -3.1 1.00e+00 1.56e-02h  7
 267  3.5549084e+04 1.81e-07 1.79e-01  -4.1 5.60e-03  -2.7 1.00e+00 6.25e-02h  5
 268  3.5549084e+04 7.63e-06 1.87e+01  -4.1 9.11e-03  -3.2 1.00e+00 1.00e+00h  1
 269  3.5549084e+04 7.99e-09 1.07e-02  -4.1 1.10e-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
 270  3.5549084e+04 1.47e-05 6.71e+00  -6.1 6.20e-03    -  9.02e-01 1.00e+00h  1
 271  3.5549084e+04 1.38e-07 2.55e-02  -6.1 2.50e-04   0.4 1.00e+00 1.00e+00h  1
 272  3.5549084e+04 4.21e-07 8.98e-02  -6.1 4.70e-04  -0.1 1.00e+00 1.00e+00h  1
 273  3.5549084e+04 8.71e-07 1.81e-01  -6.1 6.55e-04  -0.6 1.00e+00 1.00e+00h  1
 274  3.5549084e+04 5.81e-07 9.47e-02  -6.1 7.83e-04  -1.0 1.00e+00 1.00e+00h  1
 275  3.5549084e+04 1.45e-07 2.49e-02  -6.1 2.76e-04  -0.6 1.00e+00 1.00e+00h  1
 276  3.5549084e+04 4.68e-07 1.32e-01  -6.1 7.17e-04  -1.1 1.00e+00 1.00e+00h  1
 277  3.5549084e+04 2.94e-08 1.06e-02  -6.1 1.57e-04  -0.7 1.00e+00 1.00e+00h  1
 278  3.5549084e+04 2.19e-07 7.67e-02  -6.1 4.54e-04  -1.1 1.00e+00 1.00e+00h  1
 279  3.5549084e+04 1.59e-08 5.68e-03  -6.1 1.24e-04  -0.7 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.5549084e+04 1.29e-07 4.21e-02  -6.1 3.63e-04  -1.2 1.00e+00 1.00e+00h  1
 281  3.5549084e+04 1.02e-07 5.43e-02  -6.1 1.10e-03  -1.7 1.00e+00 2.50e-01h  3
 282  3.5549084e+04 7.11e-08 2.45e-02  -6.1 2.87e-04  -1.2 1.00e+00 1.00e+00h  1
 283  3.5549084e+04 6.17e-08 3.19e-02  -6.1 6.11e-04  -1.7 1.00e+00 2.50e-01h  3
 284  3.5549084e+04 1.00e-06 5.42e-01  -6.1 1.01e-03  -2.2 1.00e+00 1.00e+00h  1
 285  3.5549084e+04 3.15e-10 9.79e-05  -6.1 1.72e-05   0.0 1.00e+00 1.00e+00h  1
 286  3.5549084e+04 6.36e-06 3.25e+00  -4.0 2.44e-02  -0.4 1.00e+00 8.94e-02f  2
 287  3.5549083e+04 3.24e-05 5.63e+00  -4.1 5.32e-03  -0.9 1.00e+00 1.00e+00h  1
 288  3.5549084e+04 9.54e-09 2.16e-02  -4.1 1.15e-04   1.3 1.00e+00 1.00e+00h  1
 289  3.5549084e+04 1.39e-08 1.42e-02  -6.1 9.10e-05   0.8 9.94e-01 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 290  3.5549084e+04 9.10e-08 4.25e-02  -6.1 2.46e-04   0.4 1.00e+00 1.00e+00h  1
 291  3.5549084e+04 4.03e-07 1.62e-01  -6.1 5.07e-04  -0.1 1.00e+00 1.00e+00h  1
 292  3.5549084e+04 9.22e-07 2.24e-01  -6.1 6.74e-04  -0.6 1.00e+00 1.00e+00h  1
 293  3.5549084e+04 6.24e-07 1.46e-01  -6.1 9.06e-04  -1.1 1.00e+00 5.00e-01h  2
 294  3.5549084e+04 5.37e-07 1.20e-01  -6.1 1.40e-03  -1.5 1.00e+00 2.50e-01h  3
 295  3.5549084e+04 6.13e-07 8.44e-02  -6.1 6.40e-04  -1.1 1.00e+00 1.00e+00h  1
 296  3.5549084e+04 7.31e-06 7.28e-01  -6.1 2.29e-02  -1.6 2.59e-01 1.34e-01h  2
 297  3.5549084e+04 1.94e-09 5.46e-04  -6.1 4.20e-05   0.6 1.00e+00 1.00e+00h  1
 298  3.5549084e+04 5.11e-10 8.24e-04  -6.1 7.83e-05   0.2 1.00e+00 1.00e+00H  1
 299  3.5549084e+04 7.05e-10 7.99e-04  -6.1 2.03e-04  -0.3 1.00e+00 1.25e-01h  4
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 300  3.5549084e+04 1.42e-09 1.66e-03  -6.1 5.12e-04  -0.8 1.00e+00 6.25e-02h  5

Number of Iterations....: 300

                                   (scaled)                 (unscaled)
Objective...............:   3.5549082958155610e+04    3.5549083903698498e+04
Dual infeasibility......:   1.6582513012297750e-03    1.6582513453363341e-03
Constraint violation....:   1.4172073514728822e-09    1.4172073514728822e-09
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   8.6874925033843538e-07    8.6874927344563277e-07
Overall NLP error.......:   9.9397440889016929e-05    1.6582513453363341e-03


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

EXIT: Maximum Number of Iterations Exceeded.
0.994999990003653

And let's plot this solution

plot_unitary_populations(min_time_prob.trajectory)
Example block output

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)
376.8791029719334 - 355.48583699866776 = 21.393265973265613

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(bound_state=true),
)
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)
@assert fid_final > 0.999
    constructing UnitarySmoothPulseProblem...
	using integrator: typeof(UnitaryIntegrator)
	control derivative names: [:da, :dda]
	applying timesteps_all_equal constraint: Δt
0.12249963901581312
    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
        applying constraint: bounds on Ũ⃗
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:     4460
                     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.5551353e-03 3.93e-01 1.15e+01   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  3.9853177e-01 3.91e-01 6.25e+01  -2.2 1.11e+00    -  3.33e-03 6.19e-03f  1
   2  3.3701006e-01 3.90e-01 6.25e+01  -2.0 6.43e-01   2.0 1.39e-03 9.63e-04f  1
   3  1.2521287e-01 3.89e-01 6.23e+01  -1.7 8.11e-01   1.5 3.11e-03 2.31e-03f  1
   4  1.6534365e+00 3.87e-01 1.29e+01  -1.5 1.81e+00   1.0 4.52e-03 6.77e-03f  1
   5  9.6768927e-01 3.80e-01 1.65e+01  -1.6 8.61e-01   0.6 3.19e-02 1.65e-02f  1
   6  6.7886677e-01 3.77e-01 2.35e+02  -1.1 8.20e-01   1.0 6.22e-02 8.54e-03f  1
   7  1.6085080e+00 3.67e-01 1.97e+02  -0.8 1.36e+00    -  6.14e-02 2.51e-02f  1
   8  1.1676968e+01 3.45e-01 5.14e+02  -0.4 1.15e+00   0.5 1.71e-01 5.78e-02f  1
   9  5.5433840e+00 3.18e-01 4.92e+02  -0.5 9.89e-01   0.0 9.48e-02 7.43e-02f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  3.0213336e+00 2.95e-01 7.60e+02  -0.6 1.11e+00   0.5 1.74e-01 6.89e-02f  1
  11  2.4771969e+01 2.38e-01 9.53e+02  -0.0 1.43e+00    -  8.72e-02 1.59e-01f  1
  12  6.6330607e+01 1.32e-01 7.36e+02  -0.3 1.12e+00  -0.0 6.10e-01 4.19e-01f  1
  13  7.1570805e+01 1.13e-01 2.12e+04   0.3 7.55e-01   1.3 1.00e+00 1.56e-01h  1
  14  4.7741113e+01 9.96e-02 1.98e+04  -4.0 4.61e+00    -  8.63e-02 1.50e-01h  1
  15  3.9409563e+01 9.93e-02 1.92e+04  -4.0 1.21e+01    -  5.32e-02 3.82e-02f  1
  16  3.1762521e+00 7.41e-02 1.18e+04   0.3 1.06e+00    -  3.94e-01 4.12e-01h  1
  17  2.5010380e+01 6.17e-02 8.45e+04   1.0 1.27e+00   0.8 8.62e-01 1.72e-01f  1
  18  4.7940418e+01 3.94e-02 6.68e+04   1.2 8.60e-01    -  6.87e-01 4.17e-01f  1
  19  4.4864153e+01 3.82e-02 5.91e+03   0.8 5.15e-01    -  1.00e+00 8.32e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  4.6230998e+01 2.65e-03 1.69e+03   0.7 1.38e-01   1.3 1.00e+00 1.00e+00f  1
  21  3.9972204e+01 1.47e-03 9.56e+03   0.5 1.78e-01   0.8 1.00e+00 7.32e-01f  1
  22  3.1873298e+01 7.58e-04 3.66e+02  -0.4 8.18e-02   1.2 1.00e+00 1.00e+00f  1
  23  1.4873981e+01 4.52e-03 6.73e+01  -1.2 2.01e-01   0.7 1.00e+00 1.00e+00f  1
  24  6.3144129e+00 3.90e-03 2.38e+01  -1.0 1.77e-01   0.3 1.00e+00 1.00e+00f  1
  25  2.3993619e+00 3.54e-03 7.36e+01  -1.3 2.24e-01  -0.2 9.99e-01 1.00e+00f  1
  26  1.7540421e+00 7.08e-03 4.15e+02  -1.1 4.21e-01  -0.7 1.00e+00 4.45e-01f  2
  27  1.2344492e+00 2.78e-04 5.65e+01  -1.7 5.95e-02   0.6 1.00e+00 1.00e+00h  1
  28  5.8145050e-01 1.90e-04 1.82e+00  -2.7 4.05e-02   0.2 1.00e+00 1.00e+00f  1
  29  9.5786897e-02 2.35e-03 7.10e+01  -2.8 9.95e-02  -0.3 1.00e+00 9.47e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  5.3442397e-02 2.47e-03 7.08e+01  -1.8 3.16e-01  -0.8 3.93e-01 1.18e-01F  1
  31  8.4109374e-02 3.14e-04 7.00e+01  -2.8 3.94e-02  -0.4 1.00e+00 8.92e-01h  1
  32  1.0195568e-01 1.08e-03 1.91e+02  -2.6 4.93e-02  -0.8 1.00e+00 1.00e+00f  1
  33  1.1236283e-01 5.68e-06 1.68e+01  -2.7 5.89e-03   2.3 1.00e+00 1.00e+00h  1
  34  1.0986622e-01 5.80e-07 1.08e-01  -3.9 1.01e-03   1.8 1.00e+00 1.00e+00h  1
  35  1.0274369e-01 1.43e-06 3.54e-02  -4.0 1.64e-03   1.3 1.00e+00 1.00e+00f  1
  36  8.6059279e-02 5.58e-06 3.07e-02  -4.0 3.95e-03   0.9 1.00e+00 1.00e+00f  1
  37  5.3080859e-02 2.70e-05 3.32e-02  -4.0 8.36e-03   0.4 1.00e+00 1.00e+00f  1
  38  1.2417213e-02 4.81e-05 3.94e-02  -4.0 1.25e-02  -0.1 1.00e+00 1.00e+00h  1
  39  5.6492615e-03 3.93e-05 7.07e+01  -4.0 1.21e-02  -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
  40  8.7410342e-03 5.05e-05 7.07e+01  -4.0 9.61e-03  -1.1 1.00e+00 1.00e+00h  1
  41  1.0831104e-02 3.17e-08 7.67e-01  -4.0 2.02e-04   2.1 1.00e+00 1.00e+00h  1
  42  1.0566805e-02 9.95e-09 6.46e-03  -4.0 1.59e-04   1.6 1.00e+00 1.00e+00h  1
  43  9.8083976e-03 6.56e-08 6.13e-03  -4.0 4.54e-04   1.1 1.00e+00 1.00e+00h  1
  44  7.8873302e-03 3.74e-07 7.15e-03  -4.0 1.18e-03   0.7 1.00e+00 1.00e+00h  1
  45  4.2034678e-03 1.83e-06 1.10e-02  -4.0 2.57e-03   0.2 1.00e+00 1.00e+00h  1
  46  4.7320567e-04 3.42e-06 1.34e-02  -4.0 3.92e-03  -0.3 1.00e+00 1.00e+00h  1
  47  7.1430109e-04 4.58e-06 7.07e+01  -4.0 3.75e-03  -0.8 1.00e+00 1.00e+00h  1
  48  5.8162765e-04 8.30e-06 7.07e+01  -4.0 4.73e-03  -1.3 1.00e+00 1.00e+00h  1
  49  6.8081828e-04 3.84e-08 9.22e-01  -4.0 2.25e-04   1.9 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  6.6993582e-04 4.70e-09 2.31e-03  -4.0 9.12e-05   1.4 1.00e+00 1.00e+00h  1
  51  6.2323350e-04 5.39e-09 1.35e-03  -4.0 1.28e-04   0.9 1.00e+00 1.00e+00h  1
  52  5.1175086e-04 2.37e-08 1.89e-03  -4.0 3.26e-04   0.4 1.00e+00 1.00e+00h  1
  53  3.3461159e-04 7.76e-08 2.59e-03  -4.0 6.46e-04  -0.0 1.00e+00 1.00e+00h  1
  54  2.4159990e-04 2.06e-07 7.07e+01  -4.0 9.21e-04  -0.5 1.00e+00 1.00e+00h  1
  55  3.4302308e-04 7.76e-08 7.07e+01  -4.0 2.16e-03  -1.0 1.00e+00 1.00e+00H  1
  56  3.4015794e-04 2.22e-09 2.01e-01  -4.0 5.36e-05   2.2 1.00e+00 1.00e+00h  1
  57  3.3782137e-04 5.08e-10 1.37e-03  -4.0 2.90e-05   1.7 1.00e+00 1.00e+00h  1
  58  3.3140272e-04 8.24e-10 6.16e-04  -4.0 3.90e-05   1.2 1.00e+00 1.00e+00h  1
  59  3.1517172e-04 4.27e-09 6.89e-04  -4.0 9.23e-05   0.7 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60  2.8167888e-04 1.21e-08 9.73e-04  -4.0 2.12e-04   0.2 1.00e+00 1.00e+00h  1
  61  2.4154664e-04 4.61e-08 1.21e-03  -4.0 3.95e-04  -0.2 1.00e+00 1.00e+00h  1
  62  2.3172028e-04 1.73e-07 7.07e+01  -4.0 8.06e-04  -0.7 1.00e+00 1.00e+00h  1
  63  2.4446761e-04 7.87e-07 7.07e+01  -4.1 1.63e-03  -1.2 1.00e+00 1.00e+00h  1
  64  2.4855264e-04 8.12e-09 3.49e-01  -4.1 9.77e-05   1.9 1.00e+00 1.00e+00h  1
  65  2.4924212e-04 2.84e-10 6.88e-04  -4.0 2.33e-05   1.5 1.00e+00 1.00e+00h  1
  66  2.4762177e-04 4.20e-10 2.53e-04  -4.0 2.54e-05   1.0 1.00e+00 1.00e+00h  1
  67  2.4359272e-04 1.50e-09 3.08e-04  -4.0 6.61e-05   0.5 1.00e+00 1.00e+00h  1
  68  2.3686751e-04 6.74e-09 3.92e-04  -4.0 1.46e-04   0.0 1.00e+00 1.00e+00h  1
  69  2.3135323e-04 3.62e-08 3.99e-04  -4.0 3.47e-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
  70  2.3016062e-04 2.10e-07 2.33e-04  -4.0 8.56e-04  -0.9 1.00e+00 1.00e+00h  1
  71  2.2989818e-04 1.30e-06 1.04e-03  -4.0 2.27e-03  -1.4 1.00e+00 1.00e+00h  1
  72  2.3019328e-04 6.58e-06 6.29e-03  -4.0 5.57e-03  -1.9 1.00e+00 1.00e+00h  1
  73  2.4810546e-04 2.25e-05 1.75e-02  -4.1 1.03e-02  -2.3 1.00e+00 1.00e+00h  1
  74  3.6370441e-04 9.41e-05 6.20e-02  -4.1 2.80e-02  -2.8 1.00e+00 1.00e+00h  1
  75  6.9443899e-04 1.72e-04 1.30e-01  -4.1 4.98e-02  -3.3 1.00e+00 1.00e+00h  1
  76  2.3870604e-04 9.60e-05 3.48e-02  -4.1 2.18e-02  -2.9 1.00e+00 1.00e+00h  1
  77  6.5182554e-04 7.10e-05 1.05e-01  -4.1 9.96e-02  -3.4 1.00e+00 1.25e-01h  4
  78  9.0430436e-04 6.47e-05 2.12e-01  -4.1 1.59e-01  -3.8 1.00e+00 6.25e-02h  5
  79  1.1327546e-03 5.48e-05 2.15e-01  -4.1 1.68e-01  -4.3 1.00e+00 6.25e-02h  5
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  80  1.2038145e-03 5.17e-05 1.23e-01  -4.1 8.08e-02  -3.9 1.00e+00 6.25e-02h  5
  81  1.2784639e-03 4.80e-05 2.03e-01  -4.1 1.12e-01  -4.4 1.00e+00 6.25e-02h  5
  82  1.3133777e-03 4.55e-05 1.21e-01  -4.1 7.68e-02  -3.9 1.00e+00 6.25e-02h  5
  83  1.3467428e-03 4.27e-05 1.93e-01  -4.1 1.00e-01  -4.4 1.00e+00 6.25e-02h  5
  84  1.3771788e-03 4.03e-05 1.12e-01  -4.1 7.40e-02  -4.0 1.00e+00 1.25e-01h  4
  85  6.3489636e-04 7.34e-04 6.05e-01  -4.1 9.10e-02  -4.5 1.00e+00 1.00e+00h  1
  86  1.6996670e-03 3.26e-05 7.07e+01  -4.1 1.02e-02  -2.2 1.00e+00 1.00e+00h  1
  87  4.7484927e-04 1.39e-04 7.00e+01  -4.1 4.18e+00    -  1.40e-01 9.75e-03h  5
  88  4.1954639e-04 1.38e-04 1.53e+00  -4.1 2.23e-01  -1.8 3.50e-01 7.17e-03h  7
  89  2.3804131e-04 1.37e-04 6.95e+01  -4.1 3.65e+00  -2.3 2.24e-02 1.15e-03h  4
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90  5.6243076e-04 1.37e-04 1.53e+00  -4.1 2.88e-01  -1.9 3.75e-01 4.85e-03h  6
  91  7.9913172e-04 2.06e-06 7.07e+01  -4.1 2.37e-03  -1.4 1.00e+00 1.00e+00h  1
  92  2.1573373e-04 3.99e-06 7.07e+01  -4.1 3.69e-03  -1.9 1.00e+00 1.00e+00h  1
  93  2.0240183e-04 8.21e-11 4.68e-02  -4.0 1.84e-05   2.1 1.00e+00 1.00e+00h  1
  94  2.0238466e-04 8.38e-12 1.57e-04  -4.0 3.45e-06   1.7 1.00e+00 1.00e+00h  1
  95  2.0234024e-04 2.54e-11 1.07e-04  -4.0 7.08e-06   1.2 1.00e+00 1.00e+00h  1
  96  2.0326731e-04 1.52e-04 3.25e-01  -4.0 6.51e+01    -  4.30e-03 6.14e-04f  4
  97  2.2294164e-04 2.49e-07 1.24e-02  -4.1 1.38e-03   0.7 1.00e+00 1.00e+00h  1
  98  2.0884845e-04 2.01e-09 6.24e-04  -4.1 7.07e-05   0.2 1.00e+00 1.00e+00h  1
  99  2.0529230e-04 4.50e-09 4.00e-04  -6.1 1.34e-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
 100  2.0258741e-04 1.03e-08 4.58e-04  -6.1 2.05e-04  -0.7 1.00e+00 1.00e+00h  1

Number of Iterations....: 100

                                   (scaled)                 (unscaled)
Objective...............:   2.0258740825686823e-04    2.0258740825686823e-04
Dual infeasibility......:   4.5845084330733792e-04    4.5845084330733792e-04
Constraint violation....:   1.0251083537582417e-08    1.0251083537582417e-08
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   7.1665900387821498e-07    7.1665900387821498e-07
Overall NLP error.......:   4.5845084330733792e-04    4.5845084330733792e-04


Number of objective function evaluations             = 174
Number of objective gradient evaluations             = 101
Number of equality constraint evaluations            = 174
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                               = 470.124

EXIT: Maximum Number of Iterations Exceeded.
0.9999999910296882

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)
Example block output

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

min_time_prob = UnitaryMinimumTimeProblem(prob, U_goal; final_fidelity=.9995)
solve!(min_time_prob; max_iter=300)
fid_final_min_time = unitary_rollout_fidelity(min_time_prob.trajectory, sys)
println(fid_final_min_time)
@assert fid_final_min_time > 0.999
    constructing UnitaryMinimumTimeProblem...
	final fidelity: 0.9995
    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
        applying constraint: bounds on Ũ⃗
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:     4460
                     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.0353338e+04 9.81e-03 9.29e+01   0.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  3.0237292e+04 9.69e-03 2.51e+04   0.1 9.04e-01   2.0 1.00e+00 1.30e-02f  1
   2  2.5199222e+04 7.75e-03 1.27e+05   0.4 2.56e+00   1.5 1.00e+00 1.99e-01f  1
   3  2.1022774e+04 7.46e-03 8.33e+05   1.4 7.69e+00    -  1.00e+00 5.49e-02f  1
   4  1.8463284e+04 5.37e-03 8.44e+04   1.3 2.77e-01    -  1.00e+00 9.86e-01f  1
   5  1.7116100e+04 3.32e-03 1.99e+05   0.9 2.96e-01   1.9 1.00e+00 4.60e-01f  1
   6  1.5313319e+04 1.19e-03 2.59e+04   0.4 1.82e-01   2.4 1.00e+00 1.00e+00f  1
   7  1.4261876e+04 2.90e-03 3.79e+05   1.3 6.01e-01   1.9 1.00e+00 2.62e-01f  1
   8  1.4295571e+04 2.92e-03 1.23e+06   1.9 1.33e+00    -  1.00e+00 3.53e-01F  1
   9  1.3148942e+04 1.15e-03 3.04e+04   1.5 1.22e-01    -  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.2452916e+04 1.74e-04 4.81e+04   0.5 7.03e-02   2.3 1.00e+00 1.00e+00f  1
  11  1.2373382e+04 7.09e-05 7.06e+04  -0.2 1.34e-02   3.7 1.00e+00 5.98e-01f  1
  12  1.2087646e+04 1.23e-04 1.57e+04  -0.6 3.55e-02   3.2 1.00e+00 8.12e-01f  1
  13  1.2068620e+04 1.01e-04 2.97e+04   0.2 2.80e-02   2.7 1.00e+00 9.03e-01f  1
  14  1.1998575e+04 1.13e-04 1.51e+04  -0.1 3.71e-02   2.2 1.00e+00 1.00e+00f  1
  15  1.2040931e+04 7.68e-05 2.69e+04  -0.4 3.69e-02   1.7 1.00e+00 5.00e-01h  2
  16  1.2059835e+04 6.41e-05 3.73e+04  -0.1 5.57e-02   1.3 1.00e+00 2.81e-01h  1
  17  1.2066513e+04 6.25e-05 3.75e+04  -0.4 1.23e-01    -  1.00e+00 1.25e-01h  4
  18  1.2080802e+04 5.84e-05 5.48e+04  -1.1 3.03e-02   0.8 5.29e-01 1.22e-01H  1
  19  1.2128607e+04 3.56e-05 8.75e+03  -1.2 1.73e-02   1.2 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20  1.2124540e+04 3.68e-04 7.67e+03  -0.9 6.36e-02   0.7 1.53e-01 1.16e-01H  1
  21  1.2132781e+04 8.35e-05 1.34e+03  -1.2 2.07e-02   1.2 1.00e+00 1.00e+00h  1
  22  1.2133090e+04 7.93e-05 2.11e+03  -1.2 3.98e+00    -  3.59e-02 3.20e-03h  5
  23  1.2133942e+04 6.78e-05 5.96e+03  -1.2 1.40e-01    -  1.00e+00 1.25e-01h  4
  24  1.2135623e+04 6.00e-05 1.22e+04  -1.2 9.62e-02    -  1.00e+00 1.25e-01h  4
  25  1.2137354e+04 4.78e-05 4.23e+03  -1.2 8.25e-02    -  1.00e+00 2.50e-01h  3
  26  1.2138037e+04 4.75e-05 1.06e+04  -1.2 3.34e-01    -  4.96e-01 4.14e-02h  5
  27  1.2140391e+04 4.58e-05 6.47e+03  -1.2 5.87e-02    -  1.00e+00 2.50e-01h  3
  28  1.2141797e+04 3.66e-05 2.98e+03  -1.2 6.12e-02    -  1.00e+00 2.50e-01h  3
  29  1.2143195e+04 1.63e-05 2.55e+02  -2.3 1.53e-02    -  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.2144134e+04 2.80e-08 2.58e+00  -3.9 3.28e-04   0.7 1.00e+00 1.00e+00h  1
  31  1.2144134e+04 2.81e-08 5.73e+00  -4.0 8.01e-02    -  1.00e+00 4.88e-04h 12
  32  1.2144134e+04 2.81e-08 9.91e+00  -4.1 1.68e-01    -  1.00e+00 1.22e-04h 14
  33r 1.2144134e+04 2.81e-08 1.00e+03  -4.1 0.00e+00    -  0.00e+00 3.34e-07R 21
  34r 1.2144182e+04 1.34e-05 1.15e+01  -4.0 1.03e-02    -  9.88e-01 1.00e+00f  1
  35r 1.2150639e+04 9.94e-06 2.04e-01  -4.1 4.92e-03   0.0 1.00e+00 1.00e+00h  1
  36r 1.2221750e+04 7.68e-06 7.40e-01  -4.0 7.18e-03    -  7.60e-01 1.00e+00f  1
  37r 1.2232040e+04 4.87e-06 8.68e-02  -4.1 3.83e-03  -0.5 1.00e+00 1.00e+00h  1
  38r 1.2336508e+04 9.65e-06 4.28e-01  -4.0 1.06e-02    -  7.74e-01 1.00e+00f  1
  39r 1.2342397e+04 6.73e-08 3.53e-03  -4.1 5.95e-04  -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
  40r 1.2499498e+04 5.42e-06 5.87e-03  -4.0 1.59e-02    -  1.00e+00 1.00e+00f  1
  41r 1.2413984e+04 1.61e-06 3.13e-03  -4.1 8.64e-03    -  1.00e+00 1.00e+00h  1
  42r 1.2438839e+04 1.27e-07 3.52e-05  -4.1 2.51e-03    -  1.00e+00 1.00e+00h  1
  43r 1.2201433e+04 1.24e-05 1.10e-01  -6.1 2.40e-02    -  9.68e-01 1.00e+00f  1
  44r 1.4692124e+04 2.54e-03 4.03e+00  -4.0 2.52e-01    -  1.25e-01 1.00e+00f  1
  45r 1.4676944e+04 2.03e-03 2.83e+00  -4.3 2.68e-02  -0.5 1.00e+00 2.01e-01h  1
  46r 1.4639920e+04 1.69e-03 2.39e+00  -4.3 8.02e-02  -1.0 3.26e-01 1.69e-01h  1
  47r 1.4379092e+04 8.32e-04 1.11e+00  -4.3 4.97e-02  -1.5 1.00e+00 5.30e-01h  1
  48r 1.3175500e+04 9.71e-04 4.32e-01  -4.3 1.22e-01    -  6.74e-01 1.00e+00h  1
  49r 1.3159746e+04 7.72e-04 7.16e-01  -4.3 8.76e-03  -1.1 1.00e+00 2.05e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50r 1.3007514e+04 2.09e-05 2.45e-02  -4.3 1.54e-02  -1.5 1.00e+00 1.00e+00f  1
  51r 1.2580785e+04 1.35e-04 4.03e-01  -4.3 4.31e-02    -  2.38e-01 1.00e+00h  1
  52r 1.2565594e+04 7.50e-06 2.92e-02  -4.3 5.81e-03  -1.1 1.00e+00 1.00e+00h  1
  53r 1.2586111e+04 3.66e-05 2.32e-02  -4.0 1.31e-02    -  1.00e+00 1.00e+00f  1
  54r 1.2420107e+04 1.53e-05 5.47e-03  -4.1 1.68e-02    -  1.00e+00 1.00e+00h  1
  55r 1.2438684e+04 3.91e-07 1.30e-04  -4.1 1.88e-03    -  1.00e+00 1.00e+00h  1
  56r 1.2200683e+04 1.24e-05 1.10e-01  -6.1 2.40e-02    -  9.68e-01 1.00e+00f  1
  57r 1.2217616e+04 2.83e-07 1.69e-04  -6.1 1.71e-03    -  1.00e+00 1.00e+00h  1
  58r 1.3547283e+04 9.11e-04 1.60e+00  -4.0 3.13e-01    -  1.01e-01 4.29e-01f  1
  59r 1.3345503e+04 3.64e-04 4.57e-01  -4.7 3.17e-02  -1.6 1.00e+00 6.42e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60r 1.2318014e+04 4.39e-04 1.49e-01  -4.7 1.04e-01    -  1.14e-01 1.00e+00f  1
  61r 1.2312147e+04 2.90e-04 1.13e-01  -4.7 1.17e-01    -  6.46e-01 3.40e-01h  1
  62r 1.2290455e+04 1.29e-04 2.76e-02  -4.7 3.33e-02    -  8.99e-01 1.00e+00h  1
  63r 1.2296258e+04 8.17e-05 1.27e-01  -4.7 1.82e-02    -  1.00e+00 3.74e-01h  1
  64r 1.2306038e+04 1.36e-05 1.06e-02  -4.7 1.05e-02    -  7.84e-01 1.00e+00f  1
  65r 1.2309482e+04 1.74e-05 1.65e-03  -4.7 7.19e-03    -  1.00e+00 1.00e+00h  1
  66r 1.2312781e+04 8.28e-07 3.33e-04  -4.7 2.41e-03    -  1.00e+00 1.00e+00h  1
  67r 1.2846840e+04 7.33e-05 8.18e-02  -4.0 5.39e-02    -  1.00e+00 1.00e+00f  1
  68r 1.2436655e+04 4.18e-05 1.50e-02  -4.1 4.14e-02    -  1.00e+00 1.00e+00h  1
  69r 1.2436623e+04 6.73e-07 1.11e-03  -4.1 2.34e-03    -  1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  70r 1.2192352e+04 1.30e-05 1.14e-01  -6.1 2.47e-02    -  9.68e-01 1.00e+00f  1
  71r 1.2211464e+04 3.17e-07 1.55e-04  -6.1 1.93e-03    -  1.00e+00 1.00e+00h  1
  72r 1.2194798e+04 1.95e-07 4.90e-05  -6.1 1.68e-03    -  1.00e+00 1.00e+00h  1
  73r 1.3452915e+04 8.55e-04 3.30e+00  -4.0 4.18e-01    -  1.00e+00 3.04e-01f  1
  74r 1.2414281e+04 4.51e-04 3.46e-01  -4.3 1.05e-01    -  8.14e-01 1.00e+00f  1
  75r 1.2388067e+04 2.94e-05 7.22e-03  -4.3 1.46e-02    -  1.00e+00 1.00e+00h  1
  76r 1.2387857e+04 1.63e-06 1.56e-03  -4.3 3.78e-03    -  1.00e+00 1.00e+00h  1
  77r 1.2174754e+04 1.21e-05 7.27e-02  -6.4 2.15e-02    -  9.70e-01 1.00e+00f  1
  78r 1.5502507e+04 4.85e-03 3.51e+00  -4.0 3.98e-01    -  9.09e-02 8.44e-01f  1
  79r 1.5490449e+04 4.06e-03 2.93e+00  -4.4 4.77e-02  -0.3 1.00e+00 1.64e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  80r 1.5469392e+04 3.68e-03 2.69e+00  -4.4 1.06e-01  -0.7 1.87e-01 9.30e-02h  1
  81r 1.5362017e+04 2.81e-03 2.02e+00  -4.4 7.13e-02  -1.2 4.41e-01 2.40e-01h  1
  82r 1.4784669e+04 1.26e-03 7.22e-01  -4.4 9.61e-02  -1.7 8.65e-01 6.07e-01h  1
  83r 1.3190823e+04 1.75e-03 5.07e-01  -4.4 1.61e-01    -  8.86e-01 1.00e+00h  1
  84r 1.2642169e+04 2.90e-04 5.96e-01  -4.4 5.54e-02    -  1.74e-01 1.00e+00h  1
  85r 1.2641429e+04 2.21e-04 4.85e-01  -4.4 4.06e-03  -0.4 1.00e+00 2.37e-01h  1
  86r 1.2635826e+04 1.18e-04 4.34e-01  -4.4 1.94e-02  -0.8 1.00e+00 4.66e-01f  1
  87r 1.2353115e+04 1.59e-04 7.99e-02  -4.4 3.27e-02    -  8.23e-01 1.00e+00f  1
  88r 1.2361333e+04 3.35e-04 6.76e-02  -4.4 5.54e-02    -  1.00e+00 8.03e-01h  1
  89r 1.2346654e+04 1.41e-04 5.51e-03  -4.4 2.97e-02    -  1.00e+00 1.00e+00f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90r 1.2348463e+04 2.41e-05 8.18e-04  -4.4 9.37e-03    -  1.00e+00 1.00e+00h  1
  91r 1.2165334e+04 1.07e-05 5.02e-02  -6.6 1.85e-02    -  9.70e-01 1.00e+00f  1
  92r 1.4648057e+04 3.23e-03 2.15e+00  -4.0 4.98e-01    -  5.19e-02 5.04e-01f  1
  93r 1.4637167e+04 2.66e-03 1.63e+00  -4.7 2.77e-02  -0.4 1.00e+00 1.77e-01h  1
  94r 1.4632450e+04 2.50e-03 1.44e+00  -4.7 2.11e-02  -0.9 9.34e-01 5.81e-02h  1
  95r 1.4556470e+04 1.85e-03 1.12e+00  -4.7 5.60e-02  -1.4 1.00e+00 2.65e-01h  1
  96r 1.3905072e+04 3.10e-04 1.28e-01  -4.7 6.58e-02  -1.8 1.00e+00 1.00e+00h  1
  97r 1.3145187e+04 5.82e-04 4.22e-01  -4.7 7.68e-02    -  5.66e-01 1.00e+00h  1
  98r 1.3049483e+04 3.99e-05 7.94e-02  -4.7 1.29e-02  -1.4 7.67e-01 1.00e+00h  1
  99r 1.2711309e+04 1.26e-04 4.89e-01  -4.7 3.42e-02    -  1.70e-01 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 100r 1.2699328e+04 6.77e-05 1.01e-01  -4.7 1.63e-02  -1.0 3.13e-01 7.58e-01h  1
 101r 1.2657796e+04 1.98e-05 8.24e-03  -4.7 6.02e-03  -1.5 1.00e+00 1.00e+00f  1
 102r 1.2311911e+04 7.92e-05 1.62e-03  -4.7 3.49e-02    -  1.00e+00 1.00e+00h  1
 103r 1.2311029e+04 3.14e-07 3.15e-04  -4.7 1.46e-03    -  1.00e+00 1.00e+00h  1
 104r 1.2854935e+04 7.56e-05 8.20e-02  -4.0 5.49e-02    -  1.00e+00 1.00e+00f  1
 105r 1.2445073e+04 4.04e-05 1.51e-02  -4.1 4.14e-02    -  1.00e+00 1.00e+00h  1
 106r 1.2436485e+04 5.82e-07 9.67e-04  -4.1 2.11e-03    -  1.00e+00 1.00e+00h  1
 107r 1.2192713e+04 1.30e-05 1.13e-01  -6.1 2.46e-02    -  9.68e-01 1.00e+00f  1
 108r 1.2211599e+04 3.16e-07 1.53e-04  -6.1 1.91e-03    -  1.00e+00 1.00e+00h  1
 109r 1.2194847e+04 1.96e-07 4.92e-05  -6.1 1.69e-03    -  1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 110r 1.2189361e+04 6.86e-09 5.86e-07  -6.1 5.54e-04    -  1.00e+00 1.00e+00h  1
 111  1.1746695e+04 2.54e-03 1.00e+02  -4.1 4.07e+03    -  2.41e-04 5.15e-05f  1
 112  1.1015886e+04 2.48e-03 1.00e+02  -2.1 4.19e+03    -  7.20e-05 4.93e-05f  1
 113  1.0885346e+04 2.48e-03 5.71e+02  -2.1 3.76e+01   0.2 4.14e-02 3.51e-04f  1
 114  1.0526182e+04 2.46e-03 5.76e+02  -1.4 7.37e+02    -  1.02e-04 4.93e-05f  1
 115  1.0494464e+04 2.46e-03 5.83e+02  -1.4 6.75e+02    -  8.91e-05 4.75e-06f  1
 116  9.9763612e+03 2.43e-03 5.95e+02  -1.4 6.32e+02    -  2.16e-04 8.28e-05f  1
 117  9.1075653e+03 2.57e-03 6.00e+02  -1.3 5.60e+02    -  2.01e-04 1.57e-04f  1
 118  8.5937241e+03 2.70e-03 6.03e+02  -1.3 4.71e+02    -  1.57e-04 1.10e-04f  1
 119  8.1889124e+03 2.79e-03 6.06e+02  -1.3 4.11e+02    -  1.49e-04 9.95e-05f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 120  7.8301715e+03 2.88e-03 6.07e+02  -1.3 3.60e+02    -  1.37e-04 1.01e-04f  1
 121  7.5531146e+03 2.93e-03 6.10e+02  -1.3 3.19e+02    -  1.35e-04 9.17e-05f  1
 122  7.2890847e+03 2.99e-03 6.12e+02  -1.3 2.82e+02    -  1.46e-04 1.03e-04f  1
 123  7.1833107e+03 2.99e-03 6.30e+02  -1.3 4.92e+01  -0.3 4.01e-04 2.17e-04f  1
 124  7.0557825e+03 3.00e-03 6.39e+02  -1.3 7.94e+01  -0.7 2.47e-04 1.62e-04f  1
 125  6.9438109e+03 3.01e-03 6.44e+02  -1.3 1.28e+02  -1.2 1.56e-04 1.08e-04f  1
 126  6.8517031e+03 3.02e-03 6.50e+02  -1.3 7.74e+01  -0.8 2.01e-04 1.45e-04f  1
 127  6.7561679e+03 3.03e-03 6.53e+02  -1.3 1.07e+02  -1.3 1.63e-04 1.29e-04f  1
 128  6.6786721e+03 3.04e-03 6.59e+02  -1.2 6.46e+01  -0.8 2.26e-04 1.71e-04f  1
 129  6.6147916e+03 3.04e-03 6.70e+02  -1.2 3.40e+01  -0.4 3.54e-04 2.59e-04f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 130  6.5535990e+03 3.04e-03 6.79e+02  -1.2 3.74e+01  -0.9 3.53e-04 2.66e-04f  1
 131  6.5069046e+03 3.05e-03 6.94e+02  -1.2 1.72e+01  -0.5 5.63e-04 4.18e-04f  1
 132  6.4644278e+03 3.05e-03 7.01e+02  -1.2 7.01e+00  -0.0 9.12e-04 8.46e-04f  1
 133  6.4231574e+03 3.04e-03 6.62e+02  -1.1 2.22e+00   0.4 1.76e-03 2.17e-03f  1
 134  6.4198591e+03 3.04e-03 6.67e+02  -1.1 9.65e+01  -0.1 3.36e-04 2.59e-04f  1
 135  6.4065241e+03 3.04e-03 1.25e+03  -4.0 3.62e+00   0.3 9.77e-03 1.43e-03f  1
 136  6.3748365e+03 3.00e-03 7.08e+04  -1.1 1.13e+00   0.8 1.00e+00 1.36e-02f  1
 137  6.2329958e+03 2.79e-03 1.28e+05   0.0 9.87e-01   0.3 1.00e+00 9.91e-02f  1
 138  6.1654245e+03 2.24e-03 9.66e+04  -0.3 6.44e-01   0.7 2.41e-01 2.53e-01f  1
 139  6.4797081e+03 2.32e-03 1.02e+05   0.8 6.04e-01    -  2.92e-01 2.45e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 140  6.5076341e+03 2.12e-03 5.91e+04  -4.0 7.75e-01   1.1 2.85e-01 2.23e-01h  1
 141  6.7657700e+03 2.04e-03 6.00e+04   0.6 1.97e+00    -  2.46e-01 1.68e-01f  1
 142  6.7803141e+03 2.01e-03 5.81e+04   0.2 9.98e-01   1.6 2.07e-02 1.24e-02h  1
 143  7.0684736e+03 1.50e-03 4.71e+04   0.2 4.62e-01   2.0 3.09e-01 4.64e-01h  1
 144  7.0694211e+03 1.49e-03 4.63e+04  -4.0 3.23e+00    -  1.48e-02 1.40e-02h  2
 145  7.1157402e+03 1.52e-03 3.89e+04   0.0 1.68e+00    -  1.03e-01 7.49e-02h  2
 146  7.2256942e+03 1.40e-03 5.08e+04  -4.0 5.47e-01   2.4 3.47e-02 9.49e-02h  1
 147  7.3461143e+03 1.35e-03 8.24e+04   1.3 2.77e-01   2.8 6.80e-02 4.40e-02f  1
 148  7.5180865e+03 1.30e-03 3.71e+05   1.4 3.49e-01    -  2.37e-01 5.29e-02f  1
 149  7.5203124e+03 1.30e-03 2.13e+05  -0.6 2.15e-01    -  2.10e-01 3.22e-03h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 150  1.0015940e+04 4.65e-03 2.53e+04   1.0 2.52e-01    -  1.00e+00 1.00e+00f  1
 151  9.9374172e+03 4.66e-04 1.75e+03   0.9 4.47e-02   2.4 1.00e+00 1.00e+00f  1
 152  1.0883791e+04 1.86e-04 6.72e+03   0.8 1.00e-01    -  7.29e-01 7.08e-01H  1
 153  1.1535439e+04 1.47e-04 1.55e+04   0.7 6.58e-02   2.8 1.00e+00 1.00e+00h  1
 154  1.1755673e+04 3.59e-05 3.23e+04  -0.0 2.94e-02   2.3 1.00e+00 7.58e-01h  1
 155  1.1983545e+04 6.48e-05 2.05e+04  -0.2 2.87e-02   2.7 1.00e+00 8.03e-01h  1
 156  1.1990878e+04 5.67e-05 2.14e+04  -0.6 1.35e-01    -  1.00e+00 1.25e-01h  4
 157  1.2098872e+04 9.15e-06 8.43e+03  -4.0 1.30e-02   2.3 5.96e-01 8.41e-01h  1
 158  1.2139045e+04 1.47e-06 4.12e+03  -3.1 4.28e-03   1.8 8.73e-01 9.49e-01h  1
 159  1.2139597e+04 1.29e-06 6.70e+03  -2.8 2.40e-02    -  1.00e+00 1.25e-01h  4
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 160  1.2144100e+04 8.53e-07 1.01e+02  -3.1 1.75e-03   1.3 1.00e+00 1.00e+00h  1
 161  1.2143959e+04 5.18e-03 8.65e+03  -3.7 1.26e-02    -  2.52e-01 7.47e-01H  1
 162  1.2143506e+04 3.65e-03 6.15e+03  -3.3 7.31e-02   2.6 1.00e+00 2.95e-01h  1
 163  1.2141907e+04 6.35e-05 6.48e+02  -3.3 5.24e-02   3.1 1.00e+00 1.00e+00f  1
 164  1.2143363e+04 4.86e-06 2.06e+02  -3.3 5.38e-03    -  1.00e+00 1.00e+00h  1
 165  1.2144135e+04 6.23e-09 4.72e-01  -3.3 7.80e-05   2.6 1.00e+00 1.00e+00h  1
 166  1.2144136e+04 4.78e-10 4.63e-02  -4.0 3.49e-05   2.1 1.00e+00 1.00e+00h  1
 167  1.2144136e+04 1.31e-09 2.27e-03  -4.0 5.39e-05   1.6 1.00e+00 1.00e+00h  1
 168  1.2144136e+04 4.17e-09 1.37e-03  -4.0 9.70e-05   1.1 1.00e+00 1.00e+00h  1
 169  1.2144136e+04 1.10e-08 1.92e-03  -4.1 1.66e-04   0.7 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 170  1.2144136e+04 4.53e-12 4.61e-05  -6.1 3.52e-06   0.2 1.00e+00 1.00e+00h  1
 171  1.2144136e+04 1.58e-06 2.79e-01  -4.0 1.96e-03  -0.3 1.00e+00 1.00e+00f  1
 172  1.2144136e+04 8.92e-07 1.57e-01  -4.1 1.90e-03  -0.8 1.00e+00 1.00e+00h  1
 173  1.2144136e+04 1.27e-06 2.23e-01  -4.1 2.69e-03  -1.2 1.00e+00 1.00e+00h  1
 174  1.2144136e+04 4.13e-07 7.26e-02  -4.1 1.33e-03  -0.8 1.00e+00 1.00e+00h  1
 175  1.2144136e+04 1.28e-10 4.31e-04  -6.1 3.06e-05  -1.3 1.00e+00 1.00e+00h  1
 176  1.2144136e+04 4.58e-05 8.04e+00  -4.0 1.53e-02  -1.8 1.00e+00 1.00e+00f  1
 177  1.2144136e+04 5.91e-08 2.15e-01  -4.1 2.65e-04   1.4 1.00e+00 1.00e+00h  1
 178  1.2144136e+04 5.85e-04 3.50e+02  -4.1 2.29e-01    -  1.00e+00 5.00e-01h  2
 179  1.2144054e+04 1.19e-06 8.71e+00  -4.1 1.19e-02   1.8 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 180  1.2144064e+04 1.04e-06 5.21e+01  -4.0 9.36e-03    -  1.00e+00 1.25e-01h  4
 181  1.2144082e+04 7.94e-07 3.91e+01  -4.0 5.97e-03    -  1.00e+00 2.50e-01h  3
 182  1.2144095e+04 6.16e-07 2.95e+01  -4.0 4.61e-03    -  1.00e+00 2.50e-01h  3
 183  1.2144105e+04 5.32e-07 2.22e+01  -4.0 4.72e-03    -  1.00e+00 2.50e-01h  3
 184  1.2144113e+04 4.44e-07 1.70e+01  -4.1 4.06e-03    -  1.00e+00 2.50e-01h  3
 185  1.2144136e+04 3.41e-10 3.28e-03  -4.1 2.05e-05   1.3 1.00e+00 1.00e+00h  1
 186  1.2144136e+04 3.91e-06 6.87e-01  -6.1 1.10e-02    -  9.74e-01 1.00e+00h  1
 187  1.2144136e+04 2.34e-11 5.62e-04  -6.1 8.12e-05   0.8 1.00e+00 1.00e+00h  1
 188  1.2144136e+04 3.73e-08 6.57e-03  -4.0 2.16e-04   0.4 1.00e+00 1.00e+00f  1
 189  1.2144135e+04 5.95e-09 1.78e-03  -4.1 3.59e-05   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
 190  1.2144136e+04 9.12e-14 4.69e-06  -6.1 2.74e-07   1.2 1.00e+00 1.00e+00h  1
 191  1.2144136e+04 4.79e-08 8.45e-03  -4.0 1.98e-04   0.7 1.00e+00 1.00e+00f  1
 192  1.2144136e+04 2.04e-08 3.59e-03  -4.1 1.49e-04   0.3 1.00e+00 1.00e+00h  1
 193  1.2144136e+04 1.88e-12 2.60e-05  -6.1 2.24e-06  -0.2 1.00e+00 1.00e+00h  1
 194  1.2144136e+04 1.68e-12 4.78e-07  -9.0 2.39e-06  -0.7 1.00e+00 1.00e+00h  1
 195  1.2144136e+04 3.64e-09 3.36e+00  -4.0 1.12e-01  -1.2 1.00e+00 1.50e-03f  2
 196  1.2144136e+04 4.79e-04 2.35e+02  -4.1 8.51e-02    -  1.00e+00 1.00e+00f  1
 197  1.2144087e+04 3.97e-07 3.86e+00  -4.1 7.02e-03   2.0 1.00e+00 1.00e+00h  1
 198  1.2144135e+04 1.32e-07 3.58e-01  -4.0 7.86e-04    -  1.00e+00 1.00e+00h  1
 199  1.2144136e+04 5.03e-12 1.03e-04  -4.1 3.36e-06   1.5 1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 200  1.2144136e+04 1.79e-05 3.14e+00  -6.1 2.28e-02    -  9.33e-01 1.00e+00f  1
 201  1.2144136e+04 1.67e-10 3.61e-03  -6.1 3.53e-04   1.0 1.00e+00 1.00e+00h  1
 202  1.2144136e+04 6.86e-10 5.47e-04  -4.0 3.83e-05   0.5 1.00e+00 1.00e+00f  1
 203  1.2144135e+04 9.14e-10 1.17e-03  -4.1 1.60e-05   1.9 1.00e+00 1.00e+00h  1
 204  1.2144136e+04 9.61e-10 1.13e-03  -4.0 5.82e-06   2.3 1.00e+00 1.00e+00h  1
 205  1.2144136e+04 1.94e-12 1.16e-04  -4.1 1.79e-06   1.8 1.00e+00 1.00e+00h  1
 206  1.2144135e+04 9.81e-05 1.99e+01  -6.1 5.24e-02    -  8.52e-01 1.00e+00f  1
 207  1.2144135e+04 9.88e-09 7.79e-02  -6.1 1.95e-03   1.3 1.00e+00 1.00e+00h  1
 208  1.2144135e+04 4.95e-09 1.67e+00  -4.0 2.01e-05   0.9 1.00e+00 5.00e-01f  2
 209  1.2144135e+04 4.94e-09 9.97e-01  -4.1 8.98e-03    -  1.00e+00 9.77e-04h 11
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 210  1.2144135e+04 4.94e-09 9.96e-01  -4.1 9.71e-03    -  1.00e+00 9.77e-04h 11
 211  1.2144135e+04 4.94e-09 9.95e-01  -4.1 9.69e-03    -  1.00e+00 9.77e-04h 11
 212  1.2144135e+04 4.94e-09 9.94e-01  -4.1 9.69e-03    -  1.00e+00 9.77e-04h 11
 213  1.2144135e+04 4.94e-09 9.93e-01  -4.1 9.70e-03    -  1.00e+00 9.77e-04h 11
 214  1.2144135e+04 4.94e-09 9.92e-01  -4.1 9.70e-03    -  1.00e+00 9.77e-04h 11
 215  1.2144135e+04 4.93e-09 9.91e-01  -4.1 9.71e-03    -  1.00e+00 9.77e-04h 11
 216  1.2144135e+04 4.93e-09 9.90e-01  -4.1 9.71e-03    -  1.00e+00 9.77e-04h 11
 217  1.2144135e+04 4.93e-09 9.89e-01  -4.1 9.71e-03    -  1.00e+00 9.77e-04h 11
 218  1.2144135e+04 4.93e-09 9.88e-01  -4.1 9.72e-03    -  1.00e+00 9.77e-04h 11
 219  1.2144135e+04 4.93e-09 9.87e-01  -4.1 9.72e-03    -  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.2144135e+04 4.93e-09 9.86e-01  -4.1 9.73e-03    -  1.00e+00 4.88e-04h 12
 221  1.2144135e+04 4.92e-09 9.86e-01  -4.1 9.73e-03    -  1.00e+00 4.88e-04h 12
 222  1.2144135e+04 4.92e-09 9.85e-01  -4.1 9.73e-03    -  1.00e+00 4.88e-04h 12
 223  1.2144135e+04 4.92e-09 9.85e-01  -4.1 9.73e-03    -  1.00e+00 4.88e-04h 12
 224  1.2144135e+04 4.92e-09 9.84e-01  -4.1 9.74e-03    -  1.00e+00 4.88e-04h 12
 225  1.2144135e+04 4.92e-09 9.84e-01  -4.1 9.74e-03    -  1.00e+00 4.88e-04h 12
 226  1.2144135e+04 4.92e-09 9.83e-01  -4.1 9.74e-03    -  1.00e+00 4.88e-04h 12
 227  1.2144135e+04 4.91e-09 9.83e-01  -4.1 9.74e-03    -  1.00e+00 4.88e-04h 12
 228  1.2144135e+04 4.91e-09 9.82e-01  -4.1 9.74e-03    -  1.00e+00 4.88e-04h 12
 229  1.2144135e+04 4.91e-09 9.82e-01  -4.1 9.75e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 230  1.2144135e+04 4.91e-09 9.82e-01  -4.1 9.75e-03    -  1.00e+00 4.88e-04h 12
 231  1.2144135e+04 4.91e-09 9.81e-01  -4.1 9.75e-03    -  1.00e+00 4.88e-04h 12
 232  1.2144135e+04 4.91e-09 9.81e-01  -4.1 9.75e-03    -  1.00e+00 4.88e-04h 12
 233  1.2144135e+04 4.90e-09 9.80e-01  -4.1 9.75e-03    -  1.00e+00 4.88e-04h 12
 234  1.2144135e+04 4.90e-09 9.80e-01  -4.1 9.76e-03    -  1.00e+00 4.88e-04h 12
 235  1.2144135e+04 4.90e-09 9.79e-01  -4.1 9.76e-03    -  1.00e+00 4.88e-04h 12
 236  1.2144135e+04 4.90e-09 9.79e-01  -4.1 9.76e-03    -  1.00e+00 4.88e-04h 12
 237  1.2144135e+04 4.90e-09 9.78e-01  -4.1 9.76e-03    -  1.00e+00 4.88e-04h 12
 238  1.2144135e+04 4.90e-09 9.78e-01  -4.1 9.77e-03    -  1.00e+00 4.88e-04h 12
 239  1.2144135e+04 4.90e-09 9.77e-01  -4.1 9.77e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 240  1.2144135e+04 4.89e-09 9.77e-01  -4.1 9.77e-03    -  1.00e+00 4.88e-04h 12
 241  1.2144135e+04 4.89e-09 9.76e-01  -4.1 9.77e-03    -  1.00e+00 4.88e-04h 12
 242  1.2144135e+04 4.89e-09 9.76e-01  -4.1 9.77e-03    -  1.00e+00 4.88e-04h 12
 243  1.2144135e+04 4.89e-09 9.75e-01  -4.1 9.78e-03    -  1.00e+00 4.88e-04h 12
 244  1.2144135e+04 4.89e-09 9.75e-01  -4.1 9.78e-03    -  1.00e+00 4.88e-04h 12
 245  1.2144135e+04 4.89e-09 9.74e-01  -4.1 9.78e-03    -  1.00e+00 4.88e-04h 12
 246  1.2144135e+04 4.88e-09 9.74e-01  -4.1 9.78e-03    -  1.00e+00 4.88e-04h 12
 247  1.2144135e+04 4.88e-09 9.73e-01  -4.1 9.79e-03    -  1.00e+00 4.88e-04h 12
 248  1.2144135e+04 4.88e-09 9.73e-01  -4.1 9.79e-03    -  1.00e+00 4.88e-04h 12
 249  1.2144135e+04 4.88e-09 9.72e-01  -4.1 9.79e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 250  1.2144135e+04 4.88e-09 9.72e-01  -4.1 9.79e-03    -  1.00e+00 4.88e-04h 12
 251  1.2144135e+04 4.88e-09 9.72e-01  -4.1 9.79e-03    -  1.00e+00 4.88e-04h 12
 252  1.2144135e+04 4.87e-09 9.71e-01  -4.1 9.80e-03    -  1.00e+00 4.88e-04h 12
 253  1.2144135e+04 4.87e-09 9.71e-01  -4.1 9.80e-03    -  1.00e+00 4.88e-04h 12
 254  1.2144135e+04 4.87e-09 9.70e-01  -4.1 9.80e-03    -  1.00e+00 4.88e-04h 12
 255  1.2144135e+04 4.87e-09 9.70e-01  -4.1 9.80e-03    -  1.00e+00 4.88e-04h 12
 256  1.2144135e+04 4.87e-09 9.69e-01  -4.1 9.81e-03    -  1.00e+00 4.88e-04h 12
 257  1.2144135e+04 4.87e-09 9.69e-01  -4.1 9.81e-03    -  1.00e+00 4.88e-04h 12
 258  1.2144135e+04 4.87e-09 9.68e-01  -4.1 9.81e-03    -  1.00e+00 4.88e-04h 12
 259  1.2144135e+04 4.86e-09 9.68e-01  -4.1 9.81e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 260  1.2144135e+04 4.86e-09 9.67e-01  -4.1 9.81e-03    -  1.00e+00 4.88e-04h 12
 261  1.2144135e+04 4.86e-09 9.67e-01  -4.1 9.82e-03    -  1.00e+00 4.88e-04h 12
 262  1.2144135e+04 4.86e-09 9.66e-01  -4.1 9.82e-03    -  1.00e+00 4.88e-04h 12
 263  1.2144135e+04 4.86e-09 9.66e-01  -4.1 9.82e-03    -  1.00e+00 4.88e-04h 12
 264  1.2144135e+04 4.86e-09 9.65e-01  -4.1 9.82e-03    -  1.00e+00 4.88e-04h 12
 265  1.2144135e+04 4.85e-09 9.65e-01  -4.1 9.83e-03    -  1.00e+00 4.88e-04h 12
 266  1.2144135e+04 4.85e-09 9.64e-01  -4.1 9.83e-03    -  1.00e+00 4.88e-04h 12
 267  1.2144135e+04 4.85e-09 9.64e-01  -4.1 9.83e-03    -  1.00e+00 4.88e-04h 12
 268  1.2144135e+04 4.85e-09 9.63e-01  -4.1 9.83e-03    -  1.00e+00 4.88e-04h 12
 269  1.2144135e+04 4.85e-09 9.63e-01  -4.1 9.83e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 270  1.2144135e+04 4.85e-09 9.63e-01  -4.1 9.84e-03    -  1.00e+00 4.88e-04h 12
 271  1.2144135e+04 4.84e-09 9.62e-01  -4.1 9.84e-03    -  1.00e+00 4.88e-04h 12
 272  1.2144135e+04 4.84e-09 9.62e-01  -4.1 9.84e-03    -  1.00e+00 4.88e-04h 12
 273  1.2144135e+04 4.84e-09 9.61e-01  -4.1 9.84e-03    -  1.00e+00 4.88e-04h 12
 274  1.2144135e+04 4.84e-09 9.61e-01  -4.1 9.85e-03    -  1.00e+00 4.88e-04h 12
 275  1.2144135e+04 4.84e-09 9.60e-01  -4.1 9.85e-03    -  1.00e+00 4.88e-04h 12
 276  1.2144135e+04 4.84e-09 9.60e-01  -4.1 9.85e-03    -  1.00e+00 4.88e-04h 12
 277  1.2144135e+04 4.84e-09 9.59e-01  -4.1 9.85e-03    -  1.00e+00 4.88e-04h 12
 278  1.2144135e+04 4.83e-09 9.59e-01  -4.1 9.85e-03    -  1.00e+00 4.88e-04h 12
 279  1.2144135e+04 4.83e-09 9.58e-01  -4.1 9.86e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 280  1.2144135e+04 4.83e-09 9.58e-01  -4.1 9.86e-03    -  1.00e+00 4.88e-04h 12
 281  1.2144135e+04 4.83e-09 9.57e-01  -4.1 9.86e-03    -  1.00e+00 4.88e-04h 12
 282  1.2144135e+04 4.83e-09 9.57e-01  -4.1 9.86e-03    -  1.00e+00 4.88e-04h 12
 283  1.2144135e+04 4.83e-09 9.56e-01  -4.1 9.87e-03    -  1.00e+00 4.88e-04h 12
 284  1.2144135e+04 4.82e-09 9.56e-01  -4.1 9.87e-03    -  1.00e+00 4.88e-04h 12
 285  1.2144135e+04 4.82e-09 9.56e-01  -4.1 9.87e-03    -  1.00e+00 4.88e-04h 12
 286  1.2144135e+04 4.82e-09 9.55e-01  -4.1 9.87e-03    -  1.00e+00 4.88e-04h 12
 287  1.2144135e+04 4.82e-09 9.55e-01  -4.1 9.87e-03    -  1.00e+00 4.88e-04h 12
 288  1.2144135e+04 4.82e-09 9.54e-01  -4.1 9.88e-03    -  1.00e+00 4.88e-04h 12
 289  1.2144135e+04 4.82e-09 9.54e-01  -4.1 9.88e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 290  1.2144135e+04 4.82e-09 9.53e-01  -4.1 9.88e-03    -  1.00e+00 4.88e-04h 12
 291  1.2144135e+04 4.81e-09 9.53e-01  -4.1 9.88e-03    -  1.00e+00 4.88e-04h 12
 292  1.2144135e+04 4.81e-09 9.52e-01  -4.1 9.89e-03    -  1.00e+00 4.88e-04h 12
 293  1.2144135e+04 4.81e-09 9.52e-01  -4.1 9.89e-03    -  1.00e+00 4.88e-04h 12
 294  1.2144135e+04 4.81e-09 9.51e-01  -4.1 9.89e-03    -  1.00e+00 4.88e-04h 12
 295  1.2144135e+04 4.81e-09 9.51e-01  -4.1 9.89e-03    -  1.00e+00 4.88e-04h 12
 296  1.2144135e+04 4.81e-09 9.50e-01  -4.1 9.89e-03    -  1.00e+00 4.88e-04h 12
 297  1.2144135e+04 4.80e-09 9.50e-01  -4.1 9.90e-03    -  1.00e+00 4.88e-04h 12
 298  1.2144135e+04 4.80e-09 9.49e-01  -4.1 9.90e-03    -  1.00e+00 4.88e-04h 12
 299  1.2144135e+04 4.80e-09 9.49e-01  -4.1 9.90e-03    -  1.00e+00 4.88e-04h 12
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 300  1.2144135e+04 4.80e-09 9.49e-01  -4.1 9.90e-03    -  1.00e+00 4.88e-04h 12

Number of Iterations....: 300

                                   (scaled)                 (unscaled)
Objective...............:   1.2144134922416484e+04    1.2144135231462720e+04
Dual infeasibility......:   9.4854465918564723e-01    9.4854468332439068e-01
Constraint violation....:   4.7996074198364269e-09    4.7996074198364269e-09
Variable bound violation:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   9.0327691330231130e-05    9.0327693628907259e-05
Overall NLP error.......:   8.9922045538981081e-03    9.4854468332439068e-01


Number of objective function evaluations             = 1522
Number of objective gradient evaluations             = 225
Number of equality constraint evaluations            = 1522
Number of inequality constraint evaluations          = 1522
Number of equality constraint Jacobian evaluations   = 302
Number of inequality constraint Jacobian evaluations = 302
Number of Lagrangian Hessian evaluations             = 300
Total seconds in IPOPT                               = 1140.993

EXIT: Maximum Number of Iterations Exceeded.
0.9994999891424442

And let's plot this solution

plot_unitary_populations(min_time_prob.trajectory)
Example block output

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)
303.5333816974719 - 121.44085199897336 = 182.09252969849854

This page was generated using Literate.jl.