NVOptContr

所属分类:自动驾驶
开发工具:C++
文件大小:47KB
下载次数:0
上传日期:2022-04-04 14:50:56
上 传 者sh-1993
说明:  金刚石中NV中心最优控制问题的模拟退火调度。
(Simulated annealing schedule for the optimal control problem of NV centers in diamond.)

文件列表:
Analysis (0, 2022-04-04)
Analysis\.placeholder (0, 2022-04-04)
Analysis_bad (0, 2022-04-04)
Analysis_bad\.placeholder (0, 2022-04-04)
Configurations (0, 2022-04-04)
Configurations\.placeholder (0, 2022-04-04)
Init (0, 2022-04-04)
Init\.placeholder (0, 2022-04-04)
J_experiment.cpp (3492, 2022-04-04)
J_larger.cpp (3580, 2022-04-04)
Plots (0, 2022-04-04)
Plots\average_gain.py (2131, 2022-04-04)
Plots\eta_vs_pulses.py (2471, 2022-04-04)
Results (0, 2022-04-04)
Results\.placeholder (0, 2022-04-04)
SA.cpp (9950, 2022-04-04)
SA_GCP.cpp (11029, 2022-04-04)
SA_spherical.cpp (11009, 2022-04-04)
Trials (0, 2022-04-04)
Trials\.placeholder (0, 2022-04-04)
Trials\histo_eta.py (1614, 2022-04-04)
Trials\plot_conf.py (2240, 2022-04-04)
Trials\plot_conf2.py (2583, 2022-04-04)
Trials\scatter.py (1060, 2022-04-04)
Trials\spherical_FFT.py (5021, 2022-04-04)
Trials\time.sh (967, 2022-04-04)
Trials\toeplitz.py (1061, 2022-04-04)
Trials\toeplitz2.py (1939, 2022-04-04)
anneal.sh (1627, 2022-04-04)
exact+anneal.sh (1223, 2022-04-04)
h_experiment.cpp (3824, 2022-04-04)
h_random.cpp (3962, 2022-04-04)
h_random_load.cpp (4465, 2022-04-04)
histo_phi.py (2713, 2022-04-04)
histo_phi_vanilla.py (2045, 2022-04-04)
moreLambdas.sh (960, 2022-04-04)
multi.sh (2209, 2022-04-04)
... ...

# NVOptContr Simulated annealing schedule for the optimal control problem of NV centers in diamond. ## anneal.sh This shell runs the codes to - compute the vectors `h[i]` and `J[i,j]` (for the experimental setup) - perform many annealing cycles with `SA.cpp`, starting at high temperature from a random state. By default, it uses several values of K (the ferromagnetic coupling) parallelizing to different CPUs. ## exact+anneal.sh This shell runs the codes to - compute the vectors `h[i]` and `J[i,j]` (for the experimental setup) - compute the exact solution with `spherical_FFT.py` - perform some annealing cycles with `SA_from_spherical.cpp`, starting at low temperature from the exact solution. ## h\_experiment.cpp The program computes the field h for the spin glass Hamiltonian. The field represents the signal to be detected. Currently, the supported options are monochromatic and trichromatic signal (as in the experiments). ## h\_random.cpp The program computes the field h for the spin glass Hamiltonian. The field represents the signal to be detected. The signal is composed of `tone` random frequencies in [0,1] MHz, random phases and random amplitudes (that sum to 1). ## h\_random\_load.cpp The program computes the field h for the spin glass Hamiltonian. The field represents the signal to be detected. The signal is composed of `tone` random frequencies in [0,1] MHz, random phases and random amplitudes (that sum to 1). Such numbers are loaded from Init/hData\_{...} ## histo\_phi.py The program saves to Analysis/phi{...} the histogram of `phi = eta\_bound / eta`, from the SA optimization of the gCP and spherical model sequences. It also saves to Analysis/finalT\_{...} the averages as a function of the total sensing time. ## histo\_phi\_vanilla.py The program saves to Analysis/phi{...} the histogram of `phi = eta\_bound / eta`, from the SA optimization starting at infinite temperature. It also saves to Analysis/finalT\_{...} the averages as a function of the total sensing time. ## J\_experiment.cpp The program computes the couplings J for the spin glass Hamiltonian. The couplings represent the noise to be filtered out. ## J\_larger.cpp The program computes the couplings J for the spin glass Hamiltonian. The couplings represent the noise to be filtered out. The noise spectral density is similar to the experiment, but with a larger spread. ## multi.sh This shell runs the codes to - compute the vectors `h[i]` and `J[i,j]` (for the random setup with larger noise) - compute the exact solution with `spherical_diag.py` - perform some annealing cycles with `SA_spherical.cpp` and `SA_GCP.cpp`. - perform annealing cycles with `SA.cpp` using various values of K. - save the resulting data with the histo\_{...} files. ## plot\_{...} Just to plot the results. ## SA.cpp The program anneals a random configuration of Ising spins s[i]=+/-1, according to the cost function H = 0.5 sum_ij J[i,j] s[i] s[j] - log |sum_i h[i] s[i]| - K sum_i s[i] s[i+1] - The variables J[i,j] and h[i] are loaded from Init/ - The MC moves are spin flips. - The energy is computed efficiently at each step. - The configurations found are saved to Configurations/s\_{...}, with the # of pulses and 1/eta in the header. - The # of pulses and 1/eta for each configuration are saved to Results/SA\_{...} ## SA\_GCP.cpp The program anneals a random configuration of Ising spins s[i]=+/-1, according to the cost function H = 0.5 sum_ij J[i,j] s[i] s[j] - log |sum_i h[i] s[i]| - The variables J[i,j] and h[i] are loaded from Init/ - The initial configuration is given by the zeros of the signal, i.e. the generalized CP sequence (it is generated by the spherical\_{...} file). - The only allowed MC moves are domain wall shifts. - The energy is computed efficiently at each step. - The configurations found are saved to Configurations/sGCPAnn_\{...}, with the # of pulses and 1/eta in the header. - The # of pulses and 1/eta for each configuration are saved to Results/SAGCP\_{...} ## SA\_spherical.cpp The program anneals a random configuration of Ising spins s[i]=+/-1, according to the cost function H = 0.5 sum_ij J[i,j] s[i] s[j] - log |sum_i h[i] s[i]| - The variables J[i,j] and h[i] are loaded from Init/ - The initial configuration is given by the output of spherical\_{...}.py, i.e. the spherical model solution. - The only allowed MC moves are domain wall shifts. - The energy is computed efficiently at each step. - The configurations found are saved to Configurations/sSpherAnn\_{...}, with the # of pulses and 1/eta in the header. - The # of pulses and 1/eta for each configuration are saved to Results/SAspher\_{...} ## spherical\_diag.py The program finds the configuration of continuous spins s[i] that minimezes the cost function H = 0.5 sum_ij J[i,j] s[i] s[j] - log |sum_i h[i] s[i]| - lamda ( sum_i s[i]**2 - N ) - The variables `J[i,j]` and `h[i]` are loaded from Init/ - Exact diagonalization is used instead of the FFT. - From the continuous spins are generated Ising spins `s_Ising[i] = sign(s[i])`, that are then saved to Configurations/sSpher\_{...}, with the # of pulses and 1/eta in the header. ## spherical\_moreLambdas.py The program finds the configuration of continuous spins s[i] that minimezes the cost function H = 0.5 sum_ij J[i,j] s[i] s[j] - log |sum_i h[i] s[i]| - sum_i s[i]**2 - The variables `J[i,j]` and `h[i]` are loaded from Init/ - Exact diagonalization is used instead of the FFT. - lambda can assume at most k different values. - From the continuous spins are generated Ising spins `s_Ising[i] = sign(s[i])`, that are then saved to Configurations/sSpher\_{...}, with the # of pulses and 1/eta in the header.

近期下载者

相关文件


收藏者