source
prepare_args
prepare_args (args)
Process arguments and ensure output directories exist
source
show_CX_block
show_CX_block ()
Display a CX-block circuit with parameters θ and φ
source
random_qubit_pairs
random_qubit_pairs (nq:int, k:int)
Generate k random ordered qubit pairs from nq qubits
source
generate_random_gateList
generate_random_gateList (numQubits:int, numCX:int, numCirc:int)
Generate random CX-block circuits and return data, metadata
source
generate_random
generate_random (numCX:int=4, numCirc:int=1, numQubits:int=5,
expName:str=None, basePath:str=None, outPath:str=None)
*High-level wrapper: generate random CX-block circuits and save to HDF5.
Args: numCX: Number of CX gates per circuit (default=4) numCirc: Number of circuits to generate (default=1) numQubits: Number of qubits in each circuit (default=5) expName: Optional experiment name; if None, a random hash is used basePath: Base directory for storing results; if None, defaults to $Cudaq_dataVault
outPath: Optional override for output directory; if None, defaults to <basePath>/circ
Returns: Path to the generated .gate_list.h5
file*
source
save_gateList
save_gateList (outD:Dict[str,Any], md:Dict[str,Any], outPath:str,
expName:str=None)
Save generated gate list to HDF5 file
saving data as hdf5: /qgear/circ/rcirc_fdba43.gate_list.h5
h5-write : circ_type (1, 2) int32
h5-write : gate_type (1, 12, 3) int32
h5-write : gate_param (1, 12) float32
h5-write : meta.JSON as string (1,) object
closed hdf5: /qgear/circ/rcirc_fdba43.gate_list.h5 size=0.01 MB, elaT=0.0 sec
{'gate_map': {'cx': 4, 'h': 1, 'measure': 5, 'ry': 2, 'rz': 3},
'hash': 'fdba43',
'num_circ': 1,
'num_cx': 4,
'num_gate': 12,
'num_qubit': 5,
'short_name': 'rcirc_fdba43'}
'/qgear/circ/rcirc_fdba43.gate_list.h5'