Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quandary seems to be ignoring input prof data #12

Open
joshjob42 opened this issue Jun 30, 2022 · 1 comment
Open

Quandary seems to be ignoring input prof data #12

joshjob42 opened this issue Jun 30, 2022 · 1 comment

Comments

@joshjob42
Copy link

Given the following .cfg and pcof description (just an example of seemingly a general feature) quandary seems to be eliminating or setting to zero a set of the parameters. Seemingly no matter what settings I use, some of the parameters are ignored. I'm trying to translate some pulses from Juqbox to quandary as in #8 , but keep running into this odd behavior.

nlevels = 5,5
ntime = 65536
dt = 0.00213623
nspline = 10
runtype = simulation
nessential = 4,4
initialcondition = pure,0.0,0.0
np_init = 1
transfreq = 30.159289474462014,0.0
rotfreq = 30.159289474462014,0.0
selfkerr = 1.382300767579509,0.0
collapse_type = none
decay_time = 0.0,0.0
dephase_time = 0.0,0.0
carrier_frequency0 = -0.0,-1.382300767579509,-2.764601535159018
carrier_frequency1 = 0.0,0.0,0.0
apply_pipulse = none
crosskerr = 0.0
Jkl = 0.0
usematfree = 1
datadir = ./data/data_out3
optim_monitor_frequency = 10
output_frequency = 1
output0 = fullstate
linearsolver_type = gmres
linearsolver_maxiter = 20
gate_rot_freq = 30.159289474462014,0.0
optim_regul = 1e-05
optim_atol = 0.0001
optim_rtol = 0.0001
optim_maxiter = 200
optim_init = ./params.dat
optim_init_ampl = 0.05654866776461627,0.05654866776461627
optim_target = pure,3.0,0.0
optim_objective = Jmeasure
optim_weights = 1.0
optim_penalty = 0.01
optim_penalty_param = 0.5
optim_bounds = 0.28274333882308134,0.28274333882308134,0.0,0.0

params.dat:

0.006273048571518148
-0.002671988436886911
0.015305319012587928
-0.003864006886849269
0.004472783549475124
0.001872177951755414
0.0
0.0
0.0
0.0
0.0
0.0
-0.002783689893355962
0.0027456264881874403
-0.017671109902235055
-0.014423247782547458
-0.0011719053410253787
0.004649179451431896
0.0
0.0
0.0
0.0
0.0
0.0
-0.0007134922883191623
-0.0036135590922451613
-0.020209842593556546
-0.011566663788919051
0.012623560831109215
-0.004027644231579048
0.0
0.0
0.0
0.0
0.0
0.0
-0.012485082724985528
0.0073926273963019614
-0.014507184821150154
-0.022172804288916877
-0.014144544605747041
0.0011557469818039455
0.0
0.0
0.0
0.0
0.0
0.0
0.0014475401121371476
-0.008758227853572243
-0.009520317893210433
-0.022200244575830672
-0.015869036842510457
0.000989319618420927
0.0
0.0
0.0
0.0
0.0
0.0
-0.001983597207982895
0.01591726249561899
0.001283756932631295
-0.02561063013422594
-0.028553463768026
0.003198850589086286
0.0
0.0
0.0
0.0
0.0
0.0
-0.00853008711675194
-0.00623078515932393
0.010653702386718217
-0.017770107958376063
-0.018860292382441215
-0.0005564038906752833
0.0
0.0
0.0
0.0
0.0
0.0
-0.01135098552375518
0.0003486621630196009
0.02377266104044435
-0.019390514890622663
-0.0034954865992576365
0.0034566892125143535
0.0
0.0
0.0
0.0
0.0
0.0
8.577253199317275e-5
0.003467204928616855
0.0224248349197595
-0.02926161608534821
0.007985958950111375
0.006388324394239617
0.0
0.0
0.0
0.0
0.0
0.0
0.001075349176437903
-0.00464038144171446
-0.002251673682440214
-0.000713925598675713
0.0056268573293378225
-0.0020663005409689962
0.0
0.0
0.0
0.0
0.0
0.0

The params.dat in the output data folder:

0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
-2.78368989335596e-03
2.74562648818744e-03
-1.76711099022351e-02
-1.44232477825475e-02
-1.17190534102538e-03
4.64917945143190e-03
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
-7.13492288319162e-04
-3.61355909224516e-03
-2.02098425935565e-02
-1.15666637889191e-02
1.26235608311092e-02
-4.02764423157905e-03
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
-1.24850827249855e-02
7.39262739630196e-03
-1.45071848211502e-02
-2.21728042889169e-02
-1.41445446057470e-02
1.15574698180395e-03
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
-8.53008711675194e-03
-6.23078515932393e-03
1.06537023867182e-02
-1.77701079583761e-02
-1.88602923824412e-02
-5.56403890675283e-04
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
-1.13509855237552e-02
3.48662163019601e-04
2.37726610404443e-02
-1.93905148906227e-02
-3.49548659925764e-03
3.45668921251435e-03
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
8.57725319931727e-05
3.46720492861686e-03
2.24248349197595e-02
-2.92616160853482e-02
7.98595895011137e-03
6.38832439423962e-03
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00
0.00000000000000e+00

In general it looks quandary for this system is doing something like setting blocks of 12 coefficients to 0 or including/importing them as is with the pattern [0,1,1,1,0,0,1,1,1,0] (derived from other tests with full parameter vectors). I've tried many different permutations of potential maps from Juqbox to quandary, and varied things like maximum amplitudes, etc., but this problem repeats.

Any help or insight here would be hugely appreciated.

@steffi7574
Copy link
Member

Quandary always sets the first and last two B-spline coefficients to zero, such that the resulting control pulses always start and end at zero at time t=0 and final time t=T.

The ordering of the coefficients for the Bspline amplitudes in Quandary is the following: For each oscillator, iterate over splines first, then each iterates over carrier waves, then each contains two elements (real and imaginary part). Therefore, in your case where you have two oscillators (row 1-60 and 61-120 respectively), each with 10 splines and 3 carrier waves, Quandary will set the first and last 12 parameters to zero for each oscillators: row 1-12, 48-60 (for oscillators 1) as well as 61-72, 108-120 (for oscillators 2) will be set to zero. The number 12 corresponds to 2 splines each with 3 carrier waves and each with a real and imaginary part (12=2splines3carrier2).

As far as I know, Juqbox also does set the first and last two spline coefficients to zero, for the same reason. So I suspect that the reordering you did is not entirely correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants