Submit Cluster Simulation Calculation Task¶
URL: https://xx.com/task/run
Submit computing tasks to the cluster for simulation.
Request Method: Post
Parameter Description:
Configuration Information Description and Request Examples¶
(1) Full Amplitude Virtual Machine (QMachineType: 0)
Configuration Parameters:
measure_type (uint): 1-Measure; 2-PMeasure; 3-Hamiltonian (Non-nullable)
shot (uint): Measurement count (Non-nullable)
qubits (uint array): Must be specified for PMeasure and Hamiltonian
hamiltonian (array/string): Hamiltonian parameters (Non-nullable when measure_type is 3)
hamiltonian_param (double): Hamiltonian coefficient (when in array format)
pauli_type (str array): Pauli operator type (when in array format)
pauli_param (double array): Qubits acted on by operators (when in array format)
Request Example (Measure):
{
"QMachineType":"0",
"QProg":"QINIT 4\r\nCREG 4\r\nTOFFOLI q[3],q[0],q[1]\r\nMEASURE q[1],c[1]",
"QProgLength":58,
"Configuration":{
"measure_type": 1,
"shot": 1000
}
}
Request Example (PMeasure):
{
"QMachineType":"0",
"QProg":"QINIT 4\r\nCREG 4\r\nH q[0]\r\nCNOT q[0],q[1]...",
"QProgLength":71,
"Configuration":{
"measure_type":2,
"qubits":[0,1,2,3]
}
}
Request Example (Hamiltonian):
{
"QMachineType":"0",
"Configuration":{
"qubits":[0,1,2,3,4,5],
"hamiltonian":[
{"pauli_type": ["X", "Y"], "pauli_param": [0, 1], "hamiltonian_param": 0.2},
{"pauli_type": ["Y", "X"], "pauli_param": [2, 3], "hamiltonian_param": 0.8}
],
"measure_type":3
}
}
(2) Partial Amplitude Virtual Machine (QMachineType: 2)
Configuration Parameters:
Amplitude (string array): Array of decimal indices (Non-nullable).
Request Example:
{
"QMachineType":"2",
"Configuration":{
"Amplitude":["0"]
}
}
(3) Single Amplitude Virtual Machine (QMachineType: 3)
Configuration Parameters:
Amplitude (string): Decimal index (Non-nullable).
Request Example:
{
"QMachineType":"3",
"Configuration":{
"Amplitude":"0"
}
}
(4) Noise Virtual Machine (QMachineType: 1)
Configuration Parameters:
measure_type (uint): Must be 1
shot (uint): Measurement count
noisemodel.single_gate (array): Single-gate operation data [Type str, Parameter double]
noisemodel.double_gate (array): Double-gate operation data [Type str, Parameter double]
mode (uint): Noise model type
Request Example:
{
"QMachineType":"1",
"Configuration":{
"mode":1,
"measure_type":1,
"noisemodel":{
"single_gate":["DAMPING_KRAUS_OPERATOR",0.100000],
"double_gate":["DAMPING_KRAUS_OPERATOR",0.200000]
},
"shot":1000
}
}
(5) MPS Virtual Machine (QMachineType: 4)
Configuration Parameters:
measure_type (uint): 1-Measure; 2-PMeasure
shot (uint): Measurement count
qubits (int array): Non-nullable for PMeasure
Return Parameter Description:
taskState (string): Task status
taskId (string): Task ID