Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1q emulator upgrades #985

Draft
wants to merge 21 commits into
base: 0.1
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
fde56a6
update default_q0 runcard
jykhoo1987 Jul 19, 2024
05cb721
update default_q0 runcard
jykhoo1987 Jul 19, 2024
02c19f9
added functions to make emulator runcard from device platform
jykhoo1987 Jul 20, 2024
453c0f8
added pytest for make_emulator_runcard
jykhoo1987 Jul 20, 2024
4e9f2ac
gerge branch 'main' into 1q_emulator_upgrades
jykhoo1987 Aug 1, 2024
8a4276c
added flux pulse emulation, 2 qubit test emulator platform default_q0…
jykhoo1987 Aug 15, 2024
df01598
Merge branch 'main' into 1q_emulator_upgrades
jykhoo1987 Aug 15, 2024
8b01a24
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 15, 2024
6eaad04
fixed small bug in state_from_basis_vector method of QutipSimulator c…
jykhoo1987 Sep 4, 2024
004a51d
added flux_pulse_amp_from_detuning method in models/methods.py, remov…
jykhoo1987 Sep 7, 2024
6dec49f
added couplers to emulator: modificaitions in models/general_coupler_…
jykhoo1987 Sep 8, 2024
cf08d38
added uncalibrated version of 2 qubit 1 coupler emulator platform
jykhoo1987 Sep 8, 2024
3e48257
overwrite rebase
jykhoo1987 Sep 8, 2024
0022578
moved flux setup into try/except setting to accommodate non-flux mode…
jykhoo1987 Sep 8, 2024
60b24d6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 8, 2024
d851472
added temporary demo for iSWAP sweep on default_q01c0_flux test devi…
jykhoo1987 Sep 8, 2024
dffacf0
Merge branch '0.1' into 1q_emulator_upgrades 09012025
jykhoo1987 Jan 12, 2025
5c407b1
added make_emulator_runcard in pulse_simulator
jykhoo1987 Jan 28, 2025
8c3ca27
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 28, 2025
f631fcf
fixed g2 typo in general_no_coupler_model and general_coupler_model
Jan 31, 2025
22fe9e3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
964 changes: 0 additions & 964 deletions examples/qibolab_v017_1Q_emulator_test_QuTiP.ipynb

This file was deleted.

1,469 changes: 1,469 additions & 0 deletions examples/qibolab_v019_emulator_test_QuTiP.ipynb

Large diffs are not rendered by default.

23 changes: 17 additions & 6 deletions src/qibolab/instruments/emulator/engines/qutip_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,16 @@ def update(self):
channel_op += self.make_operator(op_instruction)
self.operators.update({channel_name: channel_op})

### flux ###
try:
for channel_name, op_instruction_list in self.model_config["flux"].items():
channel_op = Qobj(dims=[self.nlevels_HS, self.nlevels_HS])
for op_instruction in op_instruction_list:
channel_op += self.make_operator(op_instruction)
self.operators.update({channel_name: channel_op})
except:
pass

### dissipation ###
for op_instruction in self.model_config["dissipation"]["t1"]:
self.static_dissipators += [self.make_operator(op_instruction)]
Expand Down Expand Up @@ -397,16 +407,17 @@ def state_from_basis_vector(
)

basis_list = self.op_dict["basis"]
fullstate = Qobj(1)

combined_basis_vector = cbasis_vector + basis_vector
combined_list = self.couplers_list + self.qubits_list

for ind, coeff in enumerate(combined_basis_vector):
qind = combined_list[ind]
fullstate = tensor(
basis_list[qind][coeff], fullstate
) # constructs little endian HS, qubits first then couplers, as per evolution

if ind == 0:
fullstate = basis_list[qind][coeff]
else:
fullstate = tensor(
basis_list[qind][coeff], fullstate
) # constructs little endian HS, qubits first then couplers, as per evolution
return fullstate

def compute_overlaps(
Expand Down
Loading
Loading