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.
近期下载者:
相关文件:
收藏者: