24 char name[MAX_CHARARRAY_LENGTH];
149int QubitArray_dimQubit_i(
QubitArray* qa,
int i);
150double QubitArray_mindist(
double* xyz,
QubitArray* qa);
151void QubitArray_setPsiaPsib_fromQubit(
QubitArray* qa);
152void QubitArray_setPsiaPsib_fromIdx(
QubitArray* qa,
float* bfield);
153void QubitArray_setPsi0_fromPsiaPsib(
QubitArray* qa);
156MatrixXcd QubitArray_TotalHamil(
QubitArray* qa, MatrixXcd** sigmas,
float* bfield);
157MatrixXcd QubitArray_SingleHamil(
QubitArray* qa, MatrixXcd** sigmas,
int iq,
float* bfield);
158MatrixXcd QubitArray_ZeemanHamil(
QubitArray* qa, MatrixXcd** sigmas,
int iq,
float* bfield);
159MatrixXcd QubitArray_DetuningHamil(
QubitArray* qa, MatrixXcd** sigmas,
int iq);
160MatrixXcd QubitArray_OverhausHamil(
QubitArray* qa, MatrixXcd** sigmas,
int iq);
161MatrixXcd QubitArray_ZFSHamil(
QubitArray* qa, MatrixXcd** sigmas,
int iq);
162MatrixXcd QubitArray_InteractionHamil(
QubitArray* qa, MatrixXcd** sigmas,
int iq,
int jq);
163MatrixXcd** QubitArray_PauliOperators(
QubitArray* qa);
164MatrixXcd* QubitArray_PauliOperator_fromPsiaPsib(
QubitArray* qa);
170int QubitArray_getQubitIdx_fromName(
QubitArray* qa,
const char* name);
178void QubitArray_reportQubit_i(
QubitArray* qa,
int i);
180void QubitArray_reportPsiaPsib(
QubitArray* qa);
182void QubitArray_reportQubit_overhaus(
QubitArray* qa);
187void QubitArray_alloc_alphaidx_betaidx(
QubitArray* qa);
190void QubitArray_setNqubit(
QubitArray* qa,
const int nspin);
191void QubitArray_setOverhaus(
QubitArray* qa,
const bool overhaus);
193void QubitArray_set_alphaidx(
QubitArray* qa,
const int* alphaidx);
194void QubitArray_set_betaidx(
QubitArray* qa,
const int* betaidx);
195void QubitArray_setIntmap_i_j(
QubitArray* qa,
const MatrixXcd tensor,
int i,
int j);
196void QubitArray_setPsia(
QubitArray* qa,
const MatrixXcd psia);
197void QubitArray_setPsib(
QubitArray* qa,
const MatrixXcd psib);
198void QubitArray_setPsi0(
QubitArray* qa,
const MatrixXcd psi0);
199void QubitArray_setQubit_i_name(
QubitArray* qa,
const char* name,
int i);
200void QubitArray_setQubit_i_spin(
QubitArray* qa,
const float spin,
int i);
201void QubitArray_setQubit_i_gyro(
QubitArray* qa,
const double gyro,
int i);
202void QubitArray_setQubit_i_xyz(
QubitArray* qa,
const double* xyz,
int i);
203void QubitArray_setQubit_i_detuning(
QubitArray* qa,
const double detuning,
int i);
204void QubitArray_setQubit_i_overhaus(
QubitArray* qa,
const double overhaus,
int i);
205void QubitArray_setQubit_i_alpha(
QubitArray* qa,
const MatrixXcd alpha,
int i);
206void QubitArray_setQubit_i_beta(
QubitArray* qa,
const MatrixXcd beta,
int i);
207void QubitArray_setQubit_i_alpha_fromMs(
QubitArray* qa,
const float ms,
int i);
208void QubitArray_setQubit_i_beta_fromMs(
QubitArray* qa,
const float ms,
int i);
211int QubitArray_getNqubit(
const QubitArray* qa);
212bool QubitArray_getOverhaus(
const QubitArray* qa);
213int* QubitArray_get_alphaidx(
const QubitArray* qa);
214int* QubitArray_get_betaidx(
const QubitArray* qa);
215MatrixXcd** QubitArray_getIntmap(
const QubitArray* qa);
216MatrixXcd QubitArray_getIntmap_i_j(
const QubitArray* qa,
int i,
int j);
217MatrixXcd QubitArray_getPsia(
const QubitArray* qa);
218MatrixXcd QubitArray_getPsib(
const QubitArray* qa);
219MatrixXcd QubitArray_getPsi0(
const QubitArray* qa);
220char* QubitArray_getQubit_i_name(
const QubitArray* qa,
int i);
221float QubitArray_getQubit_i_spin(
const QubitArray* qa,
int i);
222double QubitArray_getQubit_i_gyro(
const QubitArray* qa,
int i);
223double* QubitArray_getQubit_i_xyz(
const QubitArray* qa,
int i);
224double QubitArray_getQubit_i_detuning(
const QubitArray* qa,
int i);
225double QubitArray_getQubit_i_overhaus(
const QubitArray* qa,
int i);
226MatrixXcd QubitArray_getQubit_i_alpha(
const QubitArray* qa,
int i);
227MatrixXcd QubitArray_getQubit_i_beta(
const QubitArray* qa,
int i);
233void QubitArray_free_alphaidx_betaidx(
QubitArray* qa);
QubitArray include information of all qubits.
Definition qubit.h:115
int * _alphaidx
Definition qubit.h:120
MatrixXcd psia
Definition qubit.h:128
MatrixXcd psi0
Definition qubit.h:130
MatrixXcd ** intmap
Definition qubit.h:127
int * _betaidx
Definition qubit.h:121
bool overhaus
Definition qubit.h:131
int nqubit
Definition qubit.h:125
MatrixXcd psib
Definition qubit.h:129
Qubit ** qubit
Definition qubit.h:126
Qubit structure contains each qubit's information.
Definition qubit.h:15
double gyro
The gyromagnetic ratio of a qubit (Unit : radkHz/G)
Definition qubit.h:39
MatrixXcd beta
The projected state of a qubit (beta)
Definition qubit.h:88
double detuning
The detuning value of a qubit (Unit : radkHz)
Definition qubit.h:59
double xyz[3]
The position of a qubit (Unit : angstrom)
Definition qubit.h:47
float spin
The spin number of a qubit.
Definition qubit.h:31
char name[MAX_CHARARRAY_LENGTH]
The name of a qubit.
Definition qubit.h:24
MatrixXcd alpha
The projected state of a qubit (alpha)
Definition qubit.h:78
double overhaus
The energy detuning from spin bath (Unit : radkHz)
Definition qubit.h:66