1+ import sys
2+ import os
3+ import matplotlib .pyplot as plt
4+ 5+ # Add the directory containing your module to Python's search path
6+ module_path = ".."
7+ sys .path .insert (0 , module_path )
8+ 9+ from tensorcircuit import Circuit , Param , gates , waveforms
10+ from tensorcircuit .cloud .apis import submit_task , get_device , set_provider , set_token , list_devices , list_properties
11+ import re
12+ 13+ # from dotenv import load_dotenv
14+ # load_dotenv()
15+ 16+ shots_const = 1000
17+ 18+ print ("✅ TEST FILE LOADED" )
19+ set_token (os .getenv ("TOKEN" ))
20+ set_provider ("tencent" )
21+ ds = list_devices ()
22+ print (ds )
23+ 24+ def gen_custom_chip_circuit (t ):
25+ qc = Circuit (2 )
26+ 27+ # 需添加 MapQubits(user_addr, chip_addr),对应 #pragram的qubits.mapping
28+ # 需添加 GridQubit(left_user_addr, right_user_addr),对应 #pragram的qubits.coupling
29+ 30+ # 以下是两种映射方式
31+ qc .map_qubits ([4 ,9 ,8 ,14 ])
32+ qc .map_qubits ([4 ,9 ,8 ,14 ], [3 ,2 ,1 ,0 ])
33+ 34+ 35+ qc .i (0 )
36+ qc .cnot (0 )
37+ 38+ # print(qc.to_tqasm())
39+ return qc
40+ 41+ 42+ 43+ def gen_custom_chip_circuit (t ):
44+ qc = Circuit (2 )
45+ 46+ # 需添加 MapQubit(user_addr, chip_addr),对应 #pragram的qubits.mapping
47+ # 需添加 GridQubit(left_user_addr, right_user_addr),对应 #pragram的qubits.coupling
48+ 49+ 50+ qc .MapQubit (0 , 4 )
51+ qc .MapQubit (1 , 9 )
52+ qc .MapQubit (2 , 8 )
53+ qc .MapQubit (3 , 14 )
54+ 55+ qc .GridQubit (0 , 1 )
56+ qc .GridQubit (0 , 2 )
57+ qc .GridQubit (1 , 3 )
58+ 59+ qc .i (0 )
60+ qc .cnot (0 )
61+ 62+ # print(qc.to_tqasm())
63+ return qc
64+ 65+ 66+ def run_circuit (qc ):
67+ device_name = "tianji_s2"
68+ d = get_device (device_name )
69+ t = submit_task (
70+ circuit = qc ,
71+ shots = shots_const ,
72+ device = d ,
73+ enable_qos_gate_decomposition = False ,
74+ enable_qos_qubit_mapping = False ,
75+ )
76+ # print(qc.to_tqasm())
77+ # n = qc._nqubits
78+ rf = t .results ()
79+ print (rf )
80+ 81+ qc = gen_gate_pulse_mix_circuit (1.0 )
82+ result = run_circuit (qc )
0 commit comments