26 char name[MAX_CHARARRAY_LENGTH];
155void BathArray_connectivity(
int*** cmap,
float*** stmap,
BathArray* ba,
float rdip,
float rdipcut);
156void makeSparsemap(
int*** spmap,
int** cmap,
int nspin);
159MatrixXcd BathArray_int_i_j(
BathArray* ba,
int i,
int j);
160double BathArray_dist_i_j(
BathArray* ba,
int i,
int j);
164void BathArray_setBathDisorders(
BathArray* ba);
167double BathArray_getBath_i_disorder_j(
BathArray* ba,
int isp,
int jsp);
169double BathArray_getOverhaus(
BathArray* ba,
int iq);
172double BathArray_getBath_i_overhaus_j(
BathArray* ba,
int isp,
int iq);
175void BathArray_setBathStatesRandom(
BathArray* ba);
179int BathArray_dimBath_i(
BathArray* ba,
int i);
183MatrixXcd BathArray_ZeemanHamil(
BathArray* ba, MatrixXcd** sigmas,
int ib,
float* bfield);
184MatrixXcd BathArray_DetuningHamil(
BathArray* ba, MatrixXcd** sigmas,
int ib);
185MatrixXcd BathArray_DisorderHamil(
BathArray* ba, MatrixXcd** sigmas,
int ib,
bool rm_overlap);
186MatrixXcd BathArray_QuadHamil(
BathArray* ba, MatrixXcd** sigmas,
int ib);
187MatrixXcd BathArray_InteractionHamil(
BathArray* ba, MatrixXcd** sigmas,
int ib,
int jb);
188MatrixXcd** BathArray_PauliOperators(
BathArray* ba);
191MatrixXcd BathArray_Rho0(
BathArray* ba,
bool isEnsemble);
201void BathArray_reportBath_i_props(
BathArray* ba,
int i);
202void BathArray_reportBath_states(
BathArray* ba);
203void BathArray_reportBath_detunings(
BathArray* ba);
204void BathArray_reportBath_disorders(
BathArray* ba);
205void BathArray_reportBath_hypf(
BathArray* ba,
int nqubit);
206void BathArray_reportBath_quad(
BathArray* ba);
207void BathArray_reportBath_hypf_sub(
BathArray* ba);
208void BathArray_reportSpinProperties(
BathArray* ba);
211void BathArray_allocBath(
BathArray* ba,
int nqubit);
212void BathArray_reallocBath(
BathArray* ba,
int nspin_old,
int nspin_new,
int nqubit);
214void BathArray_reallocProp(
BathArray* ba,
int nspin_old,
int nspin_new);
215void BathArray_allocBath_i_hypf(
BathArray* ba,
int i,
int nqubit);
218void BathArray_setNspin(
BathArray* ba,
const int nspin);
220void BathArray_setBath_i_name(
BathArray* ba,
const char* name,
int i);
221void BathArray_setBath_i_spin(
BathArray* ba,
const float spin,
int i);
222void BathArray_setBath_i_gyro(
BathArray* ba,
const double gyro,
int i);
223void BathArray_setBath_i_xyz(
BathArray* ba,
const double* xyz,
int i);
224void BathArray_setBath_i_state(
BathArray* ba,
const float state,
int i);
225void BathArray_setBath_i_detuning(
BathArray* ba,
const double detuning,
int i);
226void BathArray_setBath_i_disorder(
BathArray* ba,
const double disorder,
int i);
227void BathArray_setBath_i_hypf_j(
BathArray* ba,
const MatrixXcd hypf,
int i,
int j);
228void BathArray_setBath_i_quad(
BathArray* ba,
const MatrixXcd quad,
int i);
229void BathArray_setBath_i_hypf_sub(
BathArray* ba,
const MatrixXcd hypf_sub,
int i);
230void BathArray_setBath_i_mainspidx(
BathArray* ba,
const int mainspidx,
int i);
231void BathArray_setProp_nspecies(
BathArray* ba,
const int nspecies);
232void BathArray_setProp_names_i(
BathArray* ba,
const char* name,
const int i);
233void BathArray_setProp_gyros_i(
BathArray* ba,
const double gyro,
const int i);
234void BathArray_setProp_spins_i(
BathArray* ba,
const float spin,
const int i);
235void BathArray_setBath_i_mindist(
BathArray* ba,
const double mindist,
int i);
239int BathArray_getProp_nspecies(
BathArray* ba);
240char** BathArray_getProp_names(
BathArray* ba);
241double* BathArray_getProp_gyros(
BathArray* ba);
242float* BathArray_getProp_spins(
BathArray* ba);
244char* BathArray_getBath_i_name(
BathArray* ba,
int i);
245float BathArray_getBath_i_spin(
BathArray* ba,
int i);
246double BathArray_getBath_i_gyro(
BathArray* ba,
int i);
247double* BathArray_getBath_i_xyz(
BathArray* ba,
int i);
248float BathArray_getBath_i_state(
BathArray* ba,
int i);
249double BathArray_getBath_i_detuning(
BathArray* ba,
int i);
250double BathArray_getBath_i_disorder(
BathArray* ba,
int i);
251MatrixXcd BathArray_getBath_i_hypf_j(
BathArray* ba,
int i,
int j);
252MatrixXcd BathArray_getBath_i_quad(
BathArray* ba,
int i);
253MatrixXcd BathArray_getBath_i_hypf_sub(
BathArray* ba,
int i);
254int BathArray_getBath_i_mainspidx(
BathArray* ba,
int i);
258void BathArray_freeProp_names(
BathArray* ba);
259void BathArray_freeProp_gyros(
BathArray* ba);
260void BathArray_freeProp_spins(
BathArray* ba);
262void BathArray_freeBath_i_hypf(
BathArray* ba,
int i);
265void BathSpin_setName(
BathSpin* bs,
char* name);
266void BathSpin_setName_withType(
BathSpin* bs,
char* name,
char* type);
267void BathSpin_setSpin(
BathSpin* bs,
float spin);
268void BathSpin_setGyro(
BathSpin* bs,
double gyro);
269void BathSpin_setXyz(
BathSpin* bs,
double* xyz);
270void BathSpin_setXyz_fromRxyz(
BathSpin* bs,
double* xyz0,
double* rxyz);
271void BathSpin_setState(
BathSpin* bs,
float state);
272void BathSpin_setDetuning(
BathSpin* bs,
double detuning);
273void BathSpin_setDisorder(
BathSpin* bs,
double disorder);
274void BathSpin_setHypf_i(
BathSpin* bs, MatrixXcd hypf,
int iq);
275void BathSpin_setQuad(
BathSpin* bs, MatrixXcd quad);
276void BathSpin_setQuad_fromEFG(
BathSpin* bs, MatrixXcd efg,
double eq,
float spin);
277void BathSpin_setHypfSub(
BathSpin* bs, MatrixXcd hypf_sub);
278void BathSpin_setMainspidx(
BathSpin* bs,
int mainspidx);
280char* BathSpin_getName(
BathSpin* bs);
281float BathSpin_getSpin(
BathSpin* bs);
282double BathSpin_getGyro(
BathSpin* bs);
283double* BathSpin_getXyz(
BathSpin* bs);
284float BathSpin_getState(
BathSpin* bs);
285double BathSpin_getDetuning(
BathSpin* bs);
286double BathSpin_getDisorder(
BathSpin* bs);
287MatrixXcd BathSpin_getHypf_i(
BathSpin* bs,
int iq);
288MatrixXcd BathSpin_getQuad(
BathSpin* bs);
289MatrixXcd BathSpin_getHypfSub(
BathSpin* bs);
290int BathSpin_getMainspidx(
BathSpin* bs);
int prop_nspecies
Definition bath.h:146
double * prop_gyros
Definition bath.h:148
BathSpin ** bath
The array of BathSpin.
Definition bath.h:143
char ** prop_names
Definition bath.h:147
int nspin
The number of bath spins.
Definition bath.h:137
float * prop_spins
Definition bath.h:149
BathSpin structure contains each BathSpin's information.
Definition bath.h:17
double detuning
The detuning value of a bath spin (Unit : radkHz)
Definition bath.h:90
float spin
Spin quantum number.
Definition bath.h:32
char name[MAX_CHARARRAY_LENGTH]
the name of spin
Definition bath.h:26
MatrixXcd quad
The quadrupole interaction a bath spin (Unit : radkHz)
Definition bath.h:118
float state
Spin sub-level in z-basis (if &General -> nstate != 0, i.e. single-sample approach)
Definition bath.h:78
double gyro
Gyromagnetic ratio (Unit : radkHz/Gauss)
Definition bath.h:39
MatrixXcd * hypf
The hyperfine interaction between qubits and a bath spin (Unit : radkHz)
Definition bath.h:107
double disorder
The mean-field effect from zz-coupling with other bath spins (Unit : radkHz)
Definition bath.h:97
double xyz[3]
Quadrupole moment (Unit : 10^-30 [m^2])
Definition bath.h:61
QubitArray include information of all qubits.
Definition qubit.h:115