ONV 0.0.1__tar.gz → 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {onv-0.0.1 → onv-1.0.1}/ONV.egg-info/PKG-INFO +1 -1
- {onv-0.0.1 → onv-1.0.1}/ONV.egg-info/SOURCES.txt +2 -1
- {onv-0.0.1 → onv-1.0.1}/ONV.egg-info/top_level.txt +1 -0
- {onv-0.0.1 → onv-1.0.1}/PKG-INFO +1 -1
- {onv-0.0.1 → onv-1.0.1}/cce/CCE.py +6 -6
- {onv-0.0.1 → onv-1.0.1}/cce/PCE.py +1 -1
- onv-1.0.1/cce/__init__.py +3 -0
- onv-1.0.1/nv/__init__.py +10 -0
- {onv-0.0.1 → onv-1.0.1}/nv/nv.py +2 -2
- onv-1.0.1/p1/__init__.py +2 -0
- {onv-0.0.1/nv → onv-1.0.1/p1}/p1.py +47 -7
- {onv-0.0.1 → onv-1.0.1}/setup_ONV.py +1 -1
- onv-0.0.1/cce/__init__.py +0 -3
- onv-0.0.1/nv/__init__.py +0 -10
- {onv-0.0.1 → onv-1.0.1}/ONV.egg-info/dependency_links.txt +0 -0
- {onv-0.0.1 → onv-1.0.1}/setup.cfg +0 -0
- {onv-0.0.1 → onv-1.0.1}/tools/__init__.py +0 -0
- {onv-0.0.1 → onv-1.0.1}/tools/plot_tools.py +0 -0
{onv-0.0.1 → onv-1.0.1}/PKG-INFO
RENAMED
|
@@ -13,7 +13,7 @@ from sys import path
|
|
|
13
13
|
|
|
14
14
|
path.append('/Users/ollywhaites/Documents/Documents/PhD/Python/Libraries')
|
|
15
15
|
|
|
16
|
-
import
|
|
16
|
+
import ONV.nv as nv
|
|
17
17
|
import pandas as pd
|
|
18
18
|
import numpy as np
|
|
19
19
|
import math
|
|
@@ -75,7 +75,7 @@ def CCE0(spins,couplings,ts,params = nv.params(),pbar = True,NV_state = 'Xp',mea
|
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
|
|
78
|
-
def CCE1(spins,couplings,ts,params = nv.params(),pbar = True,NV_state = 'Xp',measure = 'x',NV_sub = '-',cluster = 'test'):
|
|
78
|
+
def CCE1(spins,couplings,ts,params = nv.params(),pbar = True,NV_state = 'Xp',measure = 'x',NV_sub = '-',cluster = 'test',Dir = ''):
|
|
79
79
|
|
|
80
80
|
"""
|
|
81
81
|
A program which finds PCE for a bath of spins and coupled to the NV.
|
|
@@ -96,10 +96,10 @@ def CCE1(spins,couplings,ts,params = nv.params(),pbar = True,NV_state = 'Xp',mea
|
|
|
96
96
|
"""
|
|
97
97
|
|
|
98
98
|
params['N_nuc'] = 1
|
|
99
|
-
operators, params = nv.generate_operators([0], [0], params, NV_state = NV_state,NV_sub = NV_sub)
|
|
99
|
+
operators, params = nv.generate_operators([0], [0],params = params, NV_state = NV_state,NV_sub = NV_sub)
|
|
100
100
|
|
|
101
101
|
|
|
102
|
-
Dir
|
|
102
|
+
Dir += '{}_data/1_spin/'.format(cluster)
|
|
103
103
|
|
|
104
104
|
|
|
105
105
|
# PCE4 = pd.DataFrame(columns = ['P3'], index = taus*1e6)
|
|
@@ -133,7 +133,7 @@ def CCE1(spins,couplings,ts,params = nv.params(),pbar = True,NV_state = 'Xp',mea
|
|
|
133
133
|
params['tau'] = t
|
|
134
134
|
params['t_ev'] = t
|
|
135
135
|
|
|
136
|
-
Ltemp, rho = nv.pulse_NV(operators,params,measure=measure)
|
|
136
|
+
Ltemp, rho, _ = nv.pulse_NV(operators,params = params,measure=measure)
|
|
137
137
|
L1.append(Ltemp.real)
|
|
138
138
|
|
|
139
139
|
|
|
@@ -169,7 +169,7 @@ def CCE1(spins,couplings,ts,params = nv.params(),pbar = True,NV_state = 'Xp',mea
|
|
|
169
169
|
params['tau'] = t
|
|
170
170
|
params['t_ev'] = t
|
|
171
171
|
|
|
172
|
-
Ltemp, rho = nv.pulse_NV(operators,params,measure = measure)
|
|
172
|
+
Ltemp, rho,_ = nv.pulse_NV(operators,params = params,measure = measure)
|
|
173
173
|
L1.append(Ltemp)
|
|
174
174
|
|
|
175
175
|
|
onv-1.0.1/nv/__init__.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from .nv import params, plot_params, generate_operators, add_N14
|
|
2
|
+
from .nv import generate_H0, generate_full_H0
|
|
3
|
+
from .nv import pulse_NV, hyperpol, hyperpol_avg
|
|
4
|
+
from .nv import plot_D_pol, plot_D_pol_N
|
|
5
|
+
from .nv import floquet_spectrum
|
|
6
|
+
from .nv import nv_generator
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
{onv-0.0.1 → onv-1.0.1}/nv/nv.py
RENAMED
|
@@ -17,8 +17,8 @@ import scipy
|
|
|
17
17
|
from matplotlib.ticker import AutoMinorLocator
|
|
18
18
|
from scipy.signal.windows import gaussian
|
|
19
19
|
|
|
20
|
-
options = qutip.solver.Options()
|
|
21
|
-
options
|
|
20
|
+
#options = qutip.solver.Options()
|
|
21
|
+
options = {'store_states': True}
|
|
22
22
|
|
|
23
23
|
"""
|
|
24
24
|
OPERATIONS
|
onv-1.0.1/p1/__init__.py
ADDED
|
@@ -9,7 +9,7 @@ from sys import path
|
|
|
9
9
|
path.append('/Users/ollywhaites/Documents/Documents/PhD/Python/Libraries/')
|
|
10
10
|
|
|
11
11
|
import numpy as np
|
|
12
|
-
import
|
|
12
|
+
import ONV.nv.nv as nv
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
def rot_mat(a,b):
|
|
@@ -67,11 +67,11 @@ def construct_H0(operators,params,spins,bath,Tin):
|
|
|
67
67
|
|
|
68
68
|
if bath.loc[i].iloc[0]['Species'] == 'N':
|
|
69
69
|
Adiag = np.array([[-2*np.pi*113.83e6,0,0],[0,-2*np.pi*113.83e6,0],[0,0,-2*np.pi*159.7e6]])
|
|
70
|
-
Pdiag = np.array([[0,0,0],[0,0,0],[0,0
|
|
70
|
+
Pdiag = np.array([[0,0,0],[0,0,0],[0,0,-2*np.pi*3.97e6]])
|
|
71
71
|
else:
|
|
72
72
|
|
|
73
73
|
Adiag = np.array([[2*np.pi*81.32e6,0,0],[0,2*np.pi*81.32e6,0],[0,0,2*np.pi*114.03e6]])
|
|
74
|
-
Pdiag = np.array([[2*np.pi*1.32e6,0,0],[0,2*np.pi*1.32e6,0],[0,0,2*np.pi*2.65e6]])
|
|
74
|
+
#Pdiag = np.array([[2*np.pi*1.32e6,0,0],[0,2*np.pi*1.32e6,0],[0,0,2*np.pi*2.65e6]])
|
|
75
75
|
Pdiag = np.array([[2*np.pi*0,0,0],[0,2*np.pi*0,0],[0,0,-2*np.pi*3.97e6]])
|
|
76
76
|
|
|
77
77
|
#AN = find_axisCoup(Adiag,axis = bath.loc[i]['JT_axis'].iloc[1])
|
|
@@ -80,11 +80,12 @@ def construct_H0(operators,params,spins,bath,Tin):
|
|
|
80
80
|
if Tin == True:
|
|
81
81
|
AN = find_axisCoup(Adiag,axis = bath.loc[i]['JT_axis'].iloc[1])[2]
|
|
82
82
|
|
|
83
|
-
Hi += (params['D']*operators['Iz'][2*k + 0] + 2*np.pi*params['gamma_N']*params['B0']*operators['Iz'][2*k + 1]
|
|
83
|
+
Hi += (params['D']*operators['Iz'][2*k + 0] + 2*np.pi*params['gamma_e']*params['B0']*operators['Iz'][2*k + 0] + 2*np.pi*params['gamma_N']*params['B0']*operators['Iz'][2*k + 1]
|
|
84
84
|
+ (AN[2]*operators['Iz'][2*k + 1] + AN[0]*operators['Ix'][2*k + 1] + AN[1]*operators['Iy'][2*k + 1])*operators['Iz'][2*k + 0]
|
|
85
85
|
#+ tensor_prod(operators,2*k + 1,2*k + 1,PN)
|
|
86
86
|
+ 2*np.pi*1e3*(bath.loc[i]['Az'].iloc[1]*operators['Iz'][2*k + 0])*operators['Sz']
|
|
87
|
-
+ params['Omega_RF']*(np.sin(params['RF_phase'])*operators['Ix'][2*k + 0] + np.cos(params['RF_phase'])*operators['Iy'][2*k + 0])
|
|
87
|
+
+ params['Omega_RF']*(np.sin(params['RF_phase'])*operators['Ix'][2*k + 0] + np.cos(params['RF_phase'])*operators['Iy'][2*k + 0])
|
|
88
|
+
+ params['Omega_N']*(np.sin(params['N_phase'])*operators['Ix'][2*k + 1] + np.cos(params['N_phase'])*operators['Iy'][2*k + 1]))
|
|
88
89
|
|
|
89
90
|
elif Tin == False:
|
|
90
91
|
AN = find_axisCoup(Adiag,axis = bath.loc[i]['JT_axis'].iloc[1])
|
|
@@ -165,10 +166,49 @@ def LG(operators,params,bath,spins,Tin):
|
|
|
165
166
|
|
|
166
167
|
return U
|
|
167
168
|
|
|
169
|
+
def LG_pulse(operators,params,bath,spins,Tin):
|
|
170
|
+
|
|
171
|
+
D = params['D']
|
|
172
|
+
OmRF = params['Omega_RF']
|
|
173
|
+
OmN = params['Omega_N']
|
|
174
|
+
Om = params['Omega']
|
|
175
|
+
alpha = params['RF_phase']
|
|
176
|
+
t_ev = params['t_ev']
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
params['D'] = 0
|
|
180
|
+
params['Omega_RF'] = OmRF
|
|
181
|
+
params['Omega_N'] = 0
|
|
182
|
+
params['RF_phase'] = alpha
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
operators,params = construct_H0(operators,params,spins,bath,Tin)
|
|
186
|
+
_,_, U0 = nv.pulse_NV(operators,params,measure = 'x',)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
params['D'] = 0
|
|
190
|
+
params['Omega_RF'] = 0
|
|
191
|
+
params['Omega_N'] = OmN
|
|
192
|
+
params['Omega'] = 0
|
|
193
|
+
params['RF_phase'] = alpha + np.pi/2
|
|
194
|
+
|
|
195
|
+
params['t_ev'] = params['Tp_RF']
|
|
196
|
+
params['t_ev'] = np.pi/params['Omega_N'] if params['Omega_N'] != 0 else 0
|
|
197
|
+
|
|
198
|
+
operators,params = construct_H0(operators,params,spins,bath,Tin)
|
|
199
|
+
_,_, UX = nv.pulse_NV(operators,params,measure = 'x',)
|
|
200
|
+
|
|
201
|
+
params['Omega'] = Om
|
|
202
|
+
params['RF_phase'] = alpha
|
|
203
|
+
params['t_ev'] = t_ev
|
|
204
|
+
|
|
205
|
+
return U0*UX*U0
|
|
206
|
+
|
|
168
207
|
RF_protocols = {'LG': LG,
|
|
169
|
-
'LG4': LG4
|
|
208
|
+
'LG4': LG4,
|
|
209
|
+
'LG_pulse': LG_pulse}
|
|
170
210
|
|
|
171
|
-
def
|
|
211
|
+
def find_U(operators,params,bath,spins,Tin):
|
|
172
212
|
|
|
173
213
|
U = RF_protocols[params['RF_protocol']](operators,params,bath,spins,Tin)
|
|
174
214
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from setuptools import setup, find_packages
|
|
2
2
|
|
|
3
|
-
VERSION = '
|
|
3
|
+
VERSION = '1.0.1'
|
|
4
4
|
DESCRIPTION = 'Package for general NV based simulations'
|
|
5
5
|
LONG_DESCRIPTION = 'A basic package of functions which are commonly used in the simuitons of NV centers fro quantum computing and NMR sensing'
|
|
6
6
|
|
onv-0.0.1/cce/__init__.py
DELETED
onv-0.0.1/nv/__init__.py
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
from nv import params, plot_params, generate_operators, add_N14
|
|
2
|
-
from nv import generate_H0, generate_full_H0
|
|
3
|
-
from nv import pulse_nv, hyperpol, hyperpol_avg
|
|
4
|
-
from nv import plot_D_pol, plot_D_pol_N
|
|
5
|
-
from nv import floquet_spectrum
|
|
6
|
-
from nv import nv_generator
|
|
7
|
-
|
|
8
|
-
from p1 import construct_H0, LG, LG4, find_U
|
|
9
|
-
|
|
10
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|