qutip / qutip-qoc

Quantum Optimal Control
BSD 3-Clause "New" or "Revised" License
4 stars 4 forks source link

Have a (private?) function for each method and check the input values #29

Open BoxiLi opened 1 week ago

BoxiLi commented 1 week ago

The optimize_pulses method now is very general, similar to the scipy.optimize.minimize. Unfortunately, different control methods have very different input formats, e.g. GRAPE takes no initial pulse guess, CRAB's pulse guess is the full pulse amplitude array, GOAT and JOPT need initial parameters for the analytical pulse function. There is no way to unify them. The input value is not sufficiently checked right now for optimize_pulse, input values get ignored and not passed to the algorithm. It is better to check those in each individual control function.