CCEX-1.0.0
Loading...
Searching...
No Matches
simulator.h
1#ifndef __CCEX_SIMULATOR_H_
2#define __CCEX_SIMULATOR_H_
3
4#include <unsupported/Eigen/MatrixFunctions>
5#include "utilities.h"
6#include "qubit.h"
7#include "bath.h"
8#include "defect.h"
9#include "output.h"
10#include "pulse.h"
11#include "cluster.h"
12#include "general.h"
13
14void calculate(QubitArray* qa, BathArray* ba, DefectArray* dfa, Config* cc, Pulse* pulse, Cluster* cluster, Output* output, int*** localClusters);
15
16BathArray* createBathArray(int* cluster, int nspin, BathArray* ba, DefectArray* dfa, int nqubit);
17
18MatrixXcd* calCoherenceGcce(QubitArray* qa, BathArray* ba, Config* cnf, Pulse* pls, Output* op);
19MatrixXcd* calCoherenceCce(QubitArray* qa, BathArray* ba, Config* cnf, Pulse* pls);
20
21MatrixXcd calPropagatorGcce(QubitArray* qa, MatrixXcd Htot, Pulse* pls, double tfree);
22
23MatrixXcd HamilQubit(QubitArray* qa, BathArray* ba, MatrixXcd** sigmas, Config* cnf);
24MatrixXcd HamilBath(BathArray* ba, MatrixXcd** sigmas, Config* cnf);
25MatrixXcd HamilQubitBath(QubitArray* qa, BathArray* ba, MatrixXcd** qsigmas, MatrixXcd** bsigmas, Config* cnf);
26MatrixXcd* HamilQubitBathSecularApp(QubitArray* qa, BathArray* ba, MatrixXcd** bsigmas, Config* cnf);
27
28
29MatrixXcd** gatherSigmas(MatrixXcd** qsigmas, MatrixXcd** bsigmas, int nqubit, int nspin);
30MatrixXcd** gatherSigmas_singlequbit(MatrixXcd* qsigma, MatrixXcd** bsigmas, int nqubit, int nspin);
31int close_state_index(MatrixXcd state, MatrixXcd eigenVectors);
32
33#endif // __CCEX_SIMULATOR_H_
Definition bath.h:131
Definition cluster.h:16
Definition general.h:12
Definition defect.h:40
Definition output.h:8
This structure contains the pulse-related parameters.
Definition pulse.h:10
QubitArray include information of all qubits.
Definition qubit.h:115